Q&A

  • 폼1에서 폼2 호출시 값 넘기는 문제
안녕하세요. 제가 하려고 하는 부분은 폼 1에서 버튼 클릭시 폼 2가 생성됩니다.
DB는 paradox를 사용하고 있습니다.
이 때, 폼 1의 dbedit로 조건을 걸어서 그 결과가 폼 2의 dbgrid에 보여지고 싶습니다.
자세히 설명하면..
고객명을 like 검색으로 검색 버튼을 클릭시, like 검색한 결과값이 폼2의 dbgrid에 나오는 것입니다.
폼2의 dbgrid에서 선택한 recode를 폼 1에 다시 보여지게끔..
폼 2가 생성되는 것까진 했는데, 폼 2의 query컴포넌트에 넘기는 부분을 모르겠습니다. ㅡㅡ;

if not(assigned(Form2)) then
        Form2 := TForm2.Create(nil);
        Form2.Show; //폼 2 생성

< 이부분을 폼1과 폼2 연결을 어떻게 해야하는지 모르겠습니다.>
    Query1.Close;
    Query1.SQL.Text :=
      'select cust_id, name, firm_nm, phone_num from customer' +
      'where name like ''%' +
       DBEdit1.text+ '%''';
    Query1.Open;
3  COMMENTS
  • Profile
    소울해커 2008.03.18 20:09
    조금 다르게 생각을 해보심은 어떠실런지...

    Form1에 결과 값을 Form2에 넘겨주는게 아니라

    Form1에서 Form2를 생성하고

    Form2에서 Form1의 쿼리를 돌리는 식으로 말이죠.

    Form1은 Form2만 호출하고 Form2에서

    Form1.Query1.Close;
        Form1.Query1.SQL.Text :=
          'select cust_id, name, firm_nm, phone_num from customer' +
          'where name like ''%' +
           Form1.DBEdit1.text+ '%''';
        Form1.Query1.Open;

    요렇게 말이죠.

    최종적으로 보여질 건

    Form2에 DBGrid나 StringGrid로...



  • Profile
    왕초보 2008.03.18 22:34
    안녕하세요. 우선 답변 감사합니다.
    알려주신 방법으로 했는데요. form1에서는 form2 생성하고, form2에서 formcreate 될 때

    Form1.Query1.Close;
    Form1.Query1.SQL.Text :=
          'select cust_id, name, firm_nm, phone_num from customer' +
          'where name like ''%' +
           Form1.DBEdit1.text+ '%''';
    Form1.Query1.Open;

    이렇게 했습니다. 각 form에서 서로 uses 했고요.
    컴파일은 되나 실행시,,
    --------------------------------------
    project p_custom.exe raised exception class EDBEngineError with message 'Insuffcient memory for this operation.
    Alias'.
    ------------------------------------ 이런 에러가 나네요.

    제가 혹 잘못한 부분이 있는지요..

  • Profile
    소울해커 2008.03.18 23:21
    옵션에서 Form2가 Available Form으로 되어있는지 확인하시구요.

    FormCreate에 말고 FormShow 에서 해보세요.

    • 소울해커
      2008.03.19 19:22
      스샷에 표시된 부분 아래쪽 작업 영역 부분에 마우스 클릭해보세요. [텝1][텝2] I ̄ ̄ ̄ ̄ ̄ ̄ ̄ I I...
    • 강주현
      2008.03.19 19:58
      감사합니다. 해결되었습니다.
    • 최용일
      2008.03.19 05:25
      그냥 Look속성을 glClassic으로 변경하시면 똑같이 됩니다.
    • 소울해커
      2008.03.19 05:33
      헛... 그렇군요. 그동안 죽어라 ControlLook 만 봤었는데... 점점 바보가 되어가나 봅니다. 허허......
    • 강주현
    • 2008.03.19 01:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 델코초
      2008.03.19 01:35
      DbGrid => DataSource => DataSet(Query) DataSource 연결되었는지 확인해 보시길....
    • 강주현
      2008.03.19 18:35
      답변감사합니다.... 도움많이 돼었습니다.
    • 양선호
    • 2008.03.19 00:54
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.18 21:36
      procedure TForm1.FormCreate(Sender: TObject); begin   Align := alTop;   Con...
    • 강정구
      2008.03.18 22:58
         소울해커님....감사합니다....이렇게 빨리 올려주시다니...정말 감사 합니다.   ...
    • 인치온
    • 2008.03.18 11:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.18 20:21
      원래 루틴 마다 값이 다르다고 그러네요. 네이버에서 '16bit CRC 값 구하기'로 검색해보세요.
    • 장경석
    • 2008.03.18 03:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.18 20:13
      동적생성하시면서 컬럼의 인덱스값이 변동된 걸 반영을 하셨는지요? Col[0], Col[1], Col[2] 이렇게 ...
    • 왕초보
    • 2008.03.18 02:06
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.18 20:09
      조금 다르게 생각을 해보심은 어떠실런지... Form1에 결과 값을 Form2에 넘겨주는게 아니라 Form1에...
    • 왕초보
      2008.03.18 22:34
      안녕하세요. 우선 답변 감사합니다. 알려주신 방법으로 했는데요. form1에서는 form2 생성하고, form2에서...
    • 소울해커
      2008.03.18 23:21
      옵션에서 Form2가 Available Form으로 되어있는지 확인하시구요. FormCreate에 말고 FormShow 에서 해보...
    • 김소연
    • 2008.03.18 01:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.18 19:57
      '행을 업데이트 할수 없습니다. 일부값이 마지막으로 읽은후에 바뀐것같습니다' 음... 컴퓨터 주제에 건...
    • 최용일
      2008.03.18 03:59
      <!--CodeS--> procedure TForm1.Button2Click(Sender: TObject); begin   IBQuery1.Clo...
    • 채기웅
    • 2008.03.17 22:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2008.03.18 00:01
      퀀텀그리드 버전이 어떻게되나요? 저두 퀀텀 쓰는데... 방식이 전혀 다르네요 ㅡㅡ;;;
    • 장경석
    • 2008.03.17 20:28
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2008.03.18 02:28
      rg_set_grp := (('상품권번호', false, 2, false, 296, 2),        &...
    • 장경석
      2008.03.18 03:04
      말씀하신데로 변수형이 잘못지정이 되었는데요... 레코드형에서 멤버를 지정하지 않고 동적배열로 선언...
    • 소울해커
      2008.03.18 04:08
      값을 한번에 넣고 싶으시다는 뜻인듯 하군요. 동적 배열로 선언된 레코드 구조체에선 그렇게 안되는 걸...
    • 장경석
      2008.03.18 18:37
    • 이정훈
    • 2008.03.15 20:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김춘경
      2008.03.16 11:16
      조인된 테이블은 RequestLive가 적용되지 않습니다. 만일 Paradox DB를 사용하신다면 DBEdit나 DBGrid ...
    • 이경애
    • 2008.03.14 21:16
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2008.03.15 01:35
      a 와 b의 관계는 있지만 c 와는 어떠한 테이블과도 관계가 없네요 현재 쿼리로는 c 테이블의 건수(check1 ...
    • 소울해커
      2008.03.14 21:23
      SELECT DISTINCT a.id,a.name,a.phone  FROM table1 AS a INNER JOIN table2 AS b  in...
    • 이정훈
    • 2008.03.13 22:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 일그니
      2008.03.14 01:33
      델파이 하위버전에서는 indyCompo로 배포되고... 요즘 버전에서는 아예 붙박이로 기본 컴포로 델파이...
    • 모영철
      2008.03.15 02:11
      ASP 쪽으로 가시면 많을거 같은데요.. 포스트 데이타로 보내는거네요.. http://cafe.naver.com/red1511...
    • 유승혁
    • 2008.03.13 20:07
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.03.13 02:19
      Zeos에서는 지원하지 않는것으로 알고 있습니다. Core Lab의 ODAC컴포넌트를 사용해보세요. http://crl...
    • 머문자리
      2008.03.13 18:59
      최용일님 답변 감사합니다. ODAC컴포넌트를 확인해봤습니다. 제가 찾고 있는것은 오픈소스로 알아보고 ...