Q&A

  • edit 박스와 combo박스의 내용을 같게 하려구하는데여..
DB를 이용해서 에디트 박스와 콤보박스의 내용을 자동으로 변하게 하고 싶은데여...아무리 해두 모르겠네여... 예를 들어 설명 드린다면여...



사원정보가 담긴 테이블에서 사원 번호와 사원이름을 불러와서...에디트박스에 사원번호 8자릴 찍으면 자동으로 콤보박스엔 그 번호에 해당하는 사원이름이 자동으로 바뀌는건데요... 물론 콤보에서 사원이름을 선택했을때도 그에 해당하는 사원번호가 에디트 박스에 출력이 돼야하고요... 누가 좀 도와주세여...아앙~ 아무리해두 전 안되나봐여 -.-;; 사원번호는 8자린데 에디트 박스에 8자가 찍히면 콤보에 나타나거든요...아앙.. 제발 부탁 드립니다....아시는 분은 꼭 답변 부탁 드리겠습니다....

3  COMMENTS
  • Profile
    뻐록이 2001.01.20 20:10
    진상필 wrote:

    > DB를 이용해서 에디트 박스와 콤보박스의 내용을 자동으로 변하게 하고 싶은데여...아무리 해두 모르겠네여... 예를 들어 설명 드린다면여...

    >

    > 사원정보가 담긴 테이블에서 사원 번호와 사원이름을 불러와서...에디트박스에 사원번호 8자릴 찍으면 자동으로 콤보박스엔 그 번호에 해당하는 사원이름이 자동으로 바뀌는건데요... 물론 콤보에서 사원이름을 선택했을때도 그에 해당하는 사원번호가 에디트 박스에 출력이 돼야하고요... 누가 좀 도와주세여...아앙~ 아무리해두 전 안되나봐여 -.-;; 사원번호는 8자린데 에디트 박스에 8자가 찍히면 콤보에 나타나거든요...아앙.. 제발 부탁 드립니다....아시는 분은 꼭 답변 부탁 드리겠습니다....



    콤보박스를 두개를 만드세요

    하나는 이름들어가게 하고 하나는 사원번호들어가게하고

    사원번호들어가는 콤보박스는 프라포티에서 visile = False시키고

    코딩을 하면 되지 안을까요



    예)

    sawon : 테이블명



    s_no : 이름

    s_name :사원번호



    폼 크레이트할때나 show할때나 상관없음

    procedure TForm1.FormShow(Sender: TObject);

    begin

    with query1 do

    begin

    close;

    SQL.Clear;

    sql.add('select S_no,s_name');

    sql.add('from sawon');

    open;



    combobox1.items.Clear;

    combobox2.items.Clear;

    while not eof do

    begin

    combobox2.Items.Add(query1s_no.AsString);

    combobox1.Items.Add(query1s_NAME.AsString);

    NEXT;

    end;

    END;

    end;



    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

    begin

    if key = #13 then

    begin

    combobox1.ItemIndex := combobox2.Items.IndexOf(edit1.text);

    end;

    end;



    procedure TForm1.ComboBox1Change(Sender: TObject);

    begin

    combobox2.ItemIndex := combobox1.ItemIndex;

    edit1.text := combobox2.Text;

    end;





    마지막으로 콤보박스2는 안 보이게 해야 합니다

    그게 위의 내용 프라포티에서 visile = False시키고

    실행 하면 됩니다

    그렇게 하면 화면에서 콤보박스 하나 밖에 없는거처럼

    보입니다.

    도움이 되길





    안되면 다시 글 올리세요

    즐코딩하세요







  • Profile
    ... 2001.01.20 11:58
    진상필 wrote:

    > DB를 이용해서 에디트 박스와 콤보박스의 내용을 자동으로 변하게 하고 싶은데여...아무리 해두 모르겠네여... 예를 들어 설명 드린다면여...

    >

    > 사원정보가 담긴 테이블에서 사원 번호와 사원이름을 불러와서...에디트박스에 사원번호 8자릴 찍으면 자동으로 콤보박스엔 그 번호에 해당하는 사원이름이 자동으로 바뀌는건데요... 물론 콤보에서 사원이름을 선택했을때도 그에 해당하는 사원번호가 에디트 박스에 출력이 돼야하고요... 누가 좀 도와주세여...아앙~ 아무리해두 전 안되나봐여 -.-;; 사원번호는 8자린데 에디트 박스에 8자가 찍히면 콤보에 나타나거든요...아앙.. 제발 부탁 드립니다....아시는 분은 꼭 답변 부탁 드리겠습니다....



    마지막 말은 무슨 말인지 모르겠지만...대충 에디트에서 엔터를 쳤을때 그 사원번호를 가지고 검색을 하면 될거에요....

    에디트 이벤트에 onkeypress 이벤트에서

    if key = #13 then //#13은 엔터키를 의미

    begin

    with Query1 do begin

    close ;

    SQL.clear ;

    SQL.Add(' SELECT 필드이름,필드이름 FROM 데이블 이름 ') ; //필드는 사원번호와 이름..

    SQL.Add(' WHERE 필드이름 LIKE :P_필드이름 ') ; //P_필드이름은 필드이름을 변수에 집어 넣는 다는 의미

    ParamByName('P_필드이름').AsString := Edit1.Text ;

    open ;

    end ; //with end

    combobox.Text := Query1.fieldbyname('사원이름').AsString ;

    end ; //if end

    combobox에서도 역시 체인지이벤트에서 반대의 코딩을 하면 되는데 문제는 동명이인이 문제네요... 도움이 되는지 모르겠지만 부족만점 있으면 멜루 연락 주세요...

    즐코....







  • Profile
    초보자 2001.01.20 03:12
    진상필 wrote:

    > DB를 이용해서 에디트 박스와 콤보박스의 내용을 자동으로 변하게 하고 싶은데여...아무리 해두 모르겠네여... 예를 들어 설명 드린다면여...

    >

    > 사원정보가 담긴 테이블에서 사원 번호와 사원이름을 불러와서...에디트박스에 사원번호 8자릴 찍으면 자동으로 콤보박스엔 그 번호에 해당하는 사원이름이 자동으로 바뀌는건데요... 물론 콤보에서 사원이름을 선택했을때도 그에 해당하는 사원번호가 에디트 박스에 출력이 돼야하고요... 누가 좀 도와주세여...아앙~ 아무리해두 전 안되나봐여 -.-;; 사원번호는 8자린데 에디트 박스에 8자가 찍히면 콤보에 나타나거든요...아앙.. 제발 부탁 드립니다....아시는 분은 꼭 답변 부탁 드리겠습니다....



    사원번호가 8자린데 8자(한자리만 찍어두??)가찍히면 콤보에 나타난다는겁니까?



    만약 그런거라면



    if length(edit.text) = 8 then

    begin

    코딩

    end;



    하시면 될거라고 생각됩니다만..

    질문에 대한 대답이 맞을라나 몰갔네요..--;;