Q&A

  • [초보 질문] 데이타 검색
전 데이타 검색 프로그램을 짜볼려구 하는데요..

combobox, dbgrid, datasource, table(or query) 를 이용할려구 생각해요.

그런데 컴보박스와 디비그리드는 어떻게 연결시킬수 있나여..?

여러개의 컴보박스에서 메뉴얼을 선택하고 버튼을 누르면 바로 검색할수 있게 만들려구

그러는데.. 함수나 컴보박스에서 디비로 연결을 못시겠어요.. 이벤트는 그냥 change

event를 쓰면 될듯 싶은데.. 님들에 조언을 부탁드립니다.

빨리 배우고 싶어요.. 한다고 하는데두 잘안되네요...앞으로 눈앞이 깜깜하네요...

이런 질문이나 하고 있으니 그래두 열심히 하면 되겠져 님들 저에게 힘을 주세요..

그럼 즐거운 시간 보내세요..... 답변 기둘리겠습니다. 빨르면 더 좋구요...



3  COMMENTS
  • Profile
    모름이 2001.02.07 00:46
    윤순상 wrote:

    > 전 데이타 검색 프로그램을 짜볼려구 하는데요..

    > combobox, dbgrid, datasource, table(or query) 를 이용할려구 생각해요.

    > 그런데 컴보박스와 디비그리드는 어떻게 연결시킬수 있나여..?

    > 여러개의 컴보박스에서 메뉴얼을 선택하고 버튼을 누르면 바로 검색할수 있게 만들려구

    > 그러는데.. 함수나 컴보박스에서 디비로 연결을 못시겠어요.. 이벤트는 그냥 change

    > event를 쓰면 될듯 싶은데.. 님들에 조언을 부탁드립니다.

    > 빨리 배우고 싶어요.. 한다고 하는데두 잘안되네요...앞으로 눈앞이 깜깜하네요...

    > 이런 질문이나 하고 있으니 그래두 열심히 하면 되겠져 님들 저에게 힘을 주세요..

    > 그럼 즐거운 시간 보내세요..... 답변 기둘리겠습니다. 빨르면 더 좋구요...

    >

    change 이벤트를 쓴다면 자신이 원하지도 않을때 쿼리가 실행되지 않을까여..?

    즉, 하나를 입력해야 하는데 ㅎ 이거 칠때 검색하고, ㅏ칠때 검색하고

    제가 보기엔 버튼을 하나 추가해서 버튼을 클릭했을때 이벤트를 발생하면 좋을듯 쉽네여



    글구, 컴보박스를 이용하시다면 방법은 여러가지 일텐데, 아이템의 택스트를 이용하는 방법, 아이템의 인덱스를 이용하는 방법, 위의 두가지의 문제점은 디비에 이와다른 새로운 내용이 있을시 검색불가, 새로운 아이템을 추가해야하는 점.



    저같은 경우 전자에 디비의 필드값을 모두 폼이 생성될때 넣어주면 되겠지여



    이런씩으로

    while not query1.eof do

    begin

    combobox.items.add(query1.fieldbyname('값').asstring);

    query1.next;

    end;



    값을 선택하고 조회버튼을 누렀을경우

    var qrystr : string;

    begin

    qrystr := 'select * from 테이블명 where 값='+combobox1.text;

    with query1 do

    begin

    close;

    sql.clear;

    sql.add(qrystr);

    open;

    end;

    end;

    이런씩으로 검색하면 될 것입니다..

    테스트는 안해 봤습니다. 그냥 머리쏙에서 쩝 지금 사무실이라 구럼 즐푸~~

  • Profile
    윤순상 2001.02.07 01:36
    > change 이벤트를 쓴다면 자신이 원하지도 않을때 쿼리가 실행되지 않을까여..?

    > 즉, 하나를 입력해야 하는데 ㅎ 이거 칠때 검색하고, ㅏ칠때 검색하고

    > 제가 보기엔 버튼을 하나 추가해서 버튼을 클릭했을때 이벤트를 발생하면 좋을듯 쉽네여

    >

    > 글구, 컴보박스를 이용하시다면 방법은 여러가지 일텐데, 아이템의 택스트를 이용하는 방법, 아이템의 인덱스를 이용하는 방법, 위의 두가지의 문제점은 디비에 이와다른 새로운 내용이 있을시 검색불가, 새로운 아이템을 추가해야하는 점.

    >

    > 저같은 경우 전자에 디비의 필드값을 모두 폼이 생성될때 넣어주면 되겠지여

    >

    > 이런씩으로

    > while not query1.eof do

    > begin

    > combobox.items.add(query1.fieldbyname('값').asstring);

    > query1.next;

    > end;

    >

    > 값을 선택하고 조회버튼을 누렀을경우

    > var qrystr : string;

    > begin

    > qrystr := 'select * from 테이블명 where 값='+combobox1.text;

    > with query1 do

    > begin

    > close;

    > sql.clear;

    > sql.add(qrystr);

    > open;

    > end;

    > end;

    > 이런씩으로 검색하면 될 것입니다..

    > 테스트는 안해 봤습니다. 그냥 머리쏙에서 쩝 지금 사무실이라 구럼 즐푸~~



    전 combobox, datasource, table(or query), dbgrid, button 을 써서 데이타 검색

    프로그램을 만들려고 그러거든요... 여러개의 combobox에서 메뉴얼을 선택하고 버튼

    을 누르면 바로 dbgrid에 결과물을 출력해 주는 프로그램입니다. 대충 감은 올것두

    같은데 막상 해볼려니깐 힘드네요...

    일단은 combobox와 dbgrid에 연결이 힘들구요.

    그리구 연결해서의 함수정의가 머리속에 그려지질 안네요.

    이벤트는 combobox의 onclick 이벤트를 사용하면 될듯 싶은데 맞는지....

    대충 폼은 이런식입니다.





    부서* 사원*(이름입력) 기간*(년입력 <= 월별조회) 월*(월입력 <= 일별조회) 구분*(전체)



    |



    |-- 부서전체 <= choice 하면 부서별 조회



    |_ 부 서 <= choice 하면 인원별 조회



    [default: login 한 부서]







    이런식으로 combobox를 만들었다면 밑에 dbgrid 에 결과물이 출력하게 만들고 싶어요

    하나의 combobox 를 이용한다면 그냥 datasource 하나, table하나, dbgrid 하나를 전

    부 연결시켜서 쓰면 될것 같은데, 여러개를 쓰다보니 당연히 table 이 많아지고 그렇

    다 보니 data modual 을 사용해야 할것 같은데 사용을 안해봐서 잘 모르겠고 좋은 방

    법이 없을까요. data modual도 괜찮으니 님들이 조금만 조언을 해주세요.. 부탁드립니

    다. 공개해둔 소스있는곳 아시면 좀 알려주시구요...



    제 멜주소는 wharang104@hanmail.net 입니다.

    정말 부탁드립니다. 빠른 시간안에 연락해 주시면 감사하겠습니다.



  • Profile
    모름이 2001.02.07 03:43
    윤순상 wrote:

    > > change 이벤트를 쓴다면 자신이 원하지도 않을때 쿼리가 실행되지 않을까여..?

    > > 즉, 하나를 입력해야 하는데 ㅎ 이거 칠때 검색하고, ㅏ칠때 검색하고

    > > 제가 보기엔 버튼을 하나 추가해서 버튼을 클릭했을때 이벤트를 발생하면 좋을듯 쉽네여

    > >

    > > 글구, 컴보박스를 이용하시다면 방법은 여러가지 일텐데, 아이템의 택스트를 이용하는 방법, 아이템의 인덱스를 이용하는 방법, 위의 두가지의 문제점은 디비에 이와다른 새로운 내용이 있을시 검색불가, 새로운 아이템을 추가해야하는 점.

    > >

    > > 저같은 경우 전자에 디비의 필드값을 모두 폼이 생성될때 넣어주면 되겠지여

    > >

    > > 이런씩으로

    > > while not query1.eof do

    > > begin

    > > combobox.items.add(query1.fieldbyname('값').asstring);

    > > query1.next;

    > > end;

    > >

    > > 값을 선택하고 조회버튼을 누렀을경우

    > > var qrystr : string;

    > > begin

    > > qrystr := 'select * from 테이블명 where 값='+combobox1.text;

    > > with query1 do

    > > begin

    > > close;

    > > sql.clear;

    > > sql.add(qrystr);

    > > open;

    > > end;

    > > end;

    > > 이런씩으로 검색하면 될 것입니다..

    > > 테스트는 안해 봤습니다. 그냥 머리쏙에서 쩝 지금 사무실이라 구럼 즐푸~~

    >

    > 전 combobox, datasource, table(or query), dbgrid, button 을 써서 데이타 검색

    > 프로그램을 만들려고 그러거든요... 여러개의 combobox에서 메뉴얼을 선택하고 버튼

    > 을 누르면 바로 dbgrid에 결과물을 출력해 주는 프로그램입니다. 대충 감은 올것두

    > 같은데 막상 해볼려니깐 힘드네요...

    > 일단은 combobox와 dbgrid에 연결이 힘들구요.

    > 그리구 연결해서의 함수정의가 머리속에 그려지질 안네요.

    > 이벤트는 combobox의 onclick 이벤트를 사용하면 될듯 싶은데 맞는지....

    > 대충 폼은 이런식입니다.

    >

    >

    > 부서* 사원*(이름입력) 기간*(년입력 <= 월별조회) 월*(월입력 <= 일별조회) 구분*(전체)

    >

    > |

    >

    > |-- 부서전체 <= choice 하면 부서별 조회

    >

    > |_ 부 서 <= choice 하면 인원별 조회

    >

    > [default: login 한 부서]

    >

    >

    >

    > 이런식으로 combobox를 만들었다면 밑에 dbgrid 에 결과물이 출력하게 만들고 싶어요

    > 하나의 combobox 를 이용한다면 그냥 datasource 하나, table하나, dbgrid 하나를 전

    > 부 연결시켜서 쓰면 될것 같은데, 여러개를 쓰다보니 당연히 table 이 많아지고 그렇

    > 다 보니 data modual 을 사용해야 할것 같은데 사용을 안해봐서 잘 모르겠고 좋은 방

    > 법이 없을까요. data modual도 괜찮으니 님들이 조금만 조언을 해주세요.. 부탁드립니

    > 다. 공개해둔 소스있는곳 아시면 좀 알려주시구요...

    >

    > 제 멜주소는 wharang104@hanmail.net 입니다.

    > 정말 부탁드립니다. 빠른 시간안에 연락해 주시면 감사하겠습니다.

    >

    님아... 쩝..multi select 한 결과를 원하시는 가여..?

    제가 답변 드린 걸루 잘 활용 하시면 될텐데..

    지금 위의 내용의 테이블이 여러개의 테이블을 조인하신건가여..?

    아남 하나의 테이블을 쓰시는 건가여..?



    -.-;;



    query문을 연구하시면 될것 같은디....



    그러니깐.. 위의 선택사항이 있는지 없는지 if문을 돌려서 쿼리문을 완성 시키면 될것 같아여..



    str := 'select * from 테이블 where'

    if 사원이름.text <> '' then begin

    str := str+ ' 사원이름= "'+edit1.text+'"';

    end;

    if ...

    ...

    sql.add(str);



    이런씩으로 쿼리를 잘 조합해서 함 해보세여..