Q&A

  • DBComboBox (hobkapa 님이 올리신 글 보구여...)
hobkapa 님이 가르쳐 주신 방법이 큰 도움이 되었습니다....



사용하다가.... 막히는 부분이 있어서요...

전... table 에서 AfterScroll 이벤트가 발생할때...

에디트 박스 콤보 박스를 통해서 해당 레코드의 내용을 보여주거든여...



이렇게... table 에 들어있는 내용은 1, 2 등의 숫자인데...

이걸... 어떻게 판단해서... DBComboBox 에 보여주나여??...



그럼.. 반대로 DBComboBox 로 부터 입력 받은 값을 table 에 저장할때는 어떻게 해요??



답글 부탁드립니다.....





hobkapa wrote:

>

> 안녕하세요.

>

> 전 이런식으로 합니다. 프로퍼티중에

>

> keyfield <----실질 저장될값

> listfield <------ 보여줄 데이타( ex> 11로 저장되지만 11해당코드의 값은 인사과. 즉 보여주기는 인사과로 보여주고 필드엔 11이 저장)

> listsoruce <----- 해당 datasource

>

> 위에 것만 해주고 다른 프로퍼티 (datafield, datasource 등)는 만지지 않아요.

>

> 그리고 디비콤보에 enterevent에 해당 query1.open 이런식으로....

>

> 도움이 되었으면 합니다.

>

>

2  COMMENTS
  • Profile
    블랙봉 2001.05.24 08:19
    ^^; wrote:

    > hobkapa 님이 가르쳐 주신 방법이 큰 도움이 되었습니다....

    >

    > 사용하다가.... 막히는 부분이 있어서요...

    > 전... table 에서 AfterScroll 이벤트가 발생할때...

    > 에디트 박스 콤보 박스를 통해서 해당 레코드의 내용을 보여주거든여...

    >

    > 이렇게... table 에 들어있는 내용은 1, 2 등의 숫자인데...

    > 이걸... 어떻게 판단해서... DBComboBox 에 보여주나여??...

    >

    > 그럼.. 반대로 DBComboBox 로 부터 입력 받은 값을 table 에 저장할때는 어떻게 해요??

    >

    > 답글 부탁드립니다.....

    >

    >

    > hobkapa wrote:

    > >

    > > 안녕하세요.

    > >

    > > 전 이런식으로 합니다. 프로퍼티중에

    > >

    > > keyfield <----실질 저장될값

    > > listfield <------ 보여줄 데이타( ex> 11로 저장되지만 11해당코드의 값은 인사과. 즉 보여주기는 인사과로 보여주고 필드엔 11이 저장)

    > > listsoruce <----- 해당 datasource

    > >

    > > 위에 것만 해주고 다른 프로퍼티 (datafield, datasource 등)는 만지지 않아요.

    > >

    > > 그리고 디비콤보에 enterevent에 해당 query1.open 이런식으로....

    > >

    > > 도움이 되었으면 합니다.

    > >

    > >



    hobkapa님께서 말씀하신 건 DBComboBox가 아니고 DBLookupComboBox같은데요.

    DBLookupComboBox를 사용하시면 알아서 해줍니다.



  • Profile
    ^^; 2001.05.24 18:51
    예... 제가 잘못 올렸네요...

    계속... DBComboBox 를 생각하고 있다가...



    그런데요... Object Inspector 창에서 다음과 같은 속성을 지정해 주면 되거든요...

    그런데... 왜 코드 작성하는 부분에서 해주면... DataLink 어쩌구... 하는 에러가 뜨는지....

    (왜 코드에서 해 줘야하냐면요.... 이런 콤보박스가 3개 있거든요...

    Filter 에 들어가는 문자열이 모두 다르거든요....

    3개 모두에 각각 table 과 datasource 를 둬도 괜찮을까요???....

    속도와는 아무런 상관이 없나여??...)



    좀 봐 주시겠어요...?



    AdoTB_UniMst.Connection := AdoC_ItmMst;

    AdoTB_UniMst.TableName := 'xUniMst2';

    AdoTB_UniMst.Open;

    AdoTB_UniMst.Filter := 'uni_class_cd=''D''' + ' and uni_cd='''

    + FieldByName('itm_asset_kind').asstring + '''' ;

    AdoTB_UniMst.Open;

    AdoTB_UniMst.Filtered := true;



    DS_UniMst.DataSet := AdoTB_UniMst;

    DbLCBitm_asset_kind.DataSource := DS_UniMst;

    DbLCBitm_asset_kind.KeyField := 'uni_cd';

    DbLCBitm_asset_kind.ListField := 'uni_nm';

    AdoTB_UniMst.Close;



    그리구여... DBLookupCombo 가 알아서 해주는데요....

    저는 저장할때... 아래처럼 하거든여...



    FieldByName('itm_cd').asstring := Eitm_cd.Text;

    i:= CBitm_kind.ItemIndex + 1 ;

    FieldByName('itm_kind').asstring := intTostr(i);

    FieldByName('itm_basis_unit').asstring := Eitm_basis_unit.Text;



    그리구 화면에 보여줄때는

    Eitm_cd.Text := FieldByName('itm_cd').asstring;



    i:= strToint(FieldByName('itm_kind').asstring);

    CBitm_kind.ItemIndex := i-1;

    Eitm_basis_unit.Text := FieldByName('itm_basis_unit').asstring;

    이렇게 하구요...



    이럴때에는... DBLookupComboBox 에 어떤 속성(?)을 불러서 저장해야 keyField 에 있는 값을 저장할 수 있죠???

    보여줄때는여???



    너무 많은걸... 물었나여??...

    이것 때문에... 벌써 3일째... 붙잡고 있습니다...

    이것만 해결되면.....

    해결책을 찾아만 주신다면.....

    넘넘... 감사하져~~~

    좋은 하루 되시구여....

    (질문이 이해가 잘 안되시면.... 다시 할까여???....)



    블랙봉 wrote:

    > ^^; wrote:

    > > hobkapa 님이 가르쳐 주신 방법이 큰 도움이 되었습니다....

    > >

    > > 사용하다가.... 막히는 부분이 있어서요...

    > > 전... table 에서 AfterScroll 이벤트가 발생할때...

    > > 에디트 박스 콤보 박스를 통해서 해당 레코드의 내용을 보여주거든여...

    > >

    > > 이렇게... table 에 들어있는 내용은 1, 2 등의 숫자인데...

    > > 이걸... 어떻게 판단해서... DBComboBox 에 보여주나여??...

    > >

    > > 그럼.. 반대로 DBComboBox 로 부터 입력 받은 값을 table 에 저장할때는 어떻게 해요??

    > >

    > > 답글 부탁드립니다.....

    > >

    > >

    > > hobkapa wrote:

    > > >

    > > > 안녕하세요.

    > > >

    > > > 전 이런식으로 합니다. 프로퍼티중에

    > > >

    > > > keyfield <----실질 저장될값

    > > > listfield <------ 보여줄 데이타( ex> 11로 저장되지만 11해당코드의 값은 인사과. 즉 보여주기는 인사과로 보여주고 필드엔 11이 저장)

    > > > listsoruce <----- 해당 datasource

    > > >

    > > > 위에 것만 해주고 다른 프로퍼티 (datafield, datasource 등)는 만지지 않아요.

    > > >

    > > > 그리고 디비콤보에 enterevent에 해당 query1.open 이런식으로....

    > > >

    > > > 도움이 되었으면 합니다.

    > > >

    > > >

    >

    > hobkapa님께서 말씀하신 건 DBComboBox가 아니고 DBLookupComboBox같은데요.

    > DBLookupComboBox를 사용하시면 알아서 해줍니다.

    >