Q&A

  • 디비그리드 에서...
고수님들 방갑습니다.

데이터 베이스에 지급 방법에 관한 값이 1,2,3 이런 식으로 들어 있습니다.

char(1)이죠,,,

근데 디비그리드에서 보여줄때는 1 -> 현금 , 2 -> 외상 이런 식으로

보여주고 싶습니다.

부디 좋은 답변 부탁드립니다.



3  COMMENTS
  • Profile
    뿌요 2001.02.19 23:54
    table의 지급방법필드의 속성중

    ==> GetText event

    if Sender.Value = '1' then Text := '현금';

    if Sender.Value = '2' then Text := '외상';



    ==> SetText event

    if Text = '현금' then Sender.Value := '1';

    if Text = '외상' then Sender.Value := '2';





    이렇게 하심됩니다..



    혀기 wrote:

    > 고수님들 방갑습니다.

    > 데이터 베이스에 지급 방법에 관한 값이 1,2,3 이런 식으로 들어 있습니다.

    > char(1)이죠,,,

    > 근데 디비그리드에서 보여줄때는 1 -> 현금 , 2 -> 외상 이런 식으로

    > 보여주고 싶습니다.

    > 부디 좋은 답변 부탁드립니다.

    >

  • Profile
    김지엽 2001.02.17 04:14
    아주 기초적인 문제로써, 매우 손쉬운 해결방법은 디테일 테이블을 만들어 주는 겁니다.



    우선, 해당되는 내용에 대한 룩엎 테이블을 만듭니다. 소위 디테일 테이블이 되겠죠.

    그 Secondary 키 필드는 char(1)로 하시고..(관리에 크게 신경 안쓸거라면 Primary키 필드로 지정해도 무방) '현금' '외상' 따위의 값이 들어가는 필드를 적당한 문자값 필드로 잡아 주세요. 그리고 데이터를 집어넣습니다.

    파라독스 기준으로 말하자면..

    +------------------------+------------------------+-----------------------+

    |Serial(Primary Key : +) | Kind_No(Sec. Key : A(1)|Kind_Name : A(적당길이)|

    +------------------------+------------------------+-----------------------+

    |1 | 1 |현금 |

    |2 | 2 |외상 |

    |. | . | . |

    |. | . | . |

    |. | . | . |



    요렇게요.. 그런 담에 DBLookupCombobox라는 걸 폼에 올려놓고, 위의 테이블이 적재된

    DataSource를 ListSource로 등록 시키고, Kind_No를 KeyField로, KindName을 ListField로 등록 시킨 담에 DataSource를 애초의 그 테이블이 적재된 DataSource로 등록시킴 됩니다.



    한데..



    LocalDB로 할 때는 반드시 키 필드 등록, 그리고 마스터테이블에서의 Lookup Key등록을 해주시는게 안전하구요.. (DataBase Desktop 에서..)



    RDBMS에선 relation 잡아주면 지가 알아서 척척 보호해줍니다.



    > 고수님들 방갑습니다.

    > 데이터 베이스에 지급 방법에 관한 값이 1,2,3 이런 식으로 들어 있습니다.

    > char(1)이죠,,,

    > 근데 디비그리드에서 보여줄때는 1 -> 현금 , 2 -> 외상 이런 식으로

    > 보여주고 싶습니다.

    > 부디 좋은 답변 부탁드립니다.

    >

  • Profile
    승추니 2001.02.17 04:06
    혀기 wrote:

    > 고수님들 방갑습니다.

    > 데이터 베이스에 지급 방법에 관한 값이 1,2,3 이런 식으로 들어 있습니다.

    > char(1)이죠,,,

    > 근데 디비그리드에서 보여줄때는 1 -> 현금 , 2 -> 외상 이런 식으로

    > 보여주고 싶습니다.

    > 부디 좋은 답변 부탁드립니다.

    >



    -------------------------------



    에공..퇴근하고시포..ㅠㅠ



    사용하시는 DB가 좋은(?)거라면 CASE문을 사용하시구여..



    그렇지 않다면 UNION을 사용하시면 편합니다.



    예를들면)



    CASE WHEN A='1' THEN '현금'

    WHEN A='2' THEN '외상'

    END AS ...



    글구.. UNION의 경우



    SELECT '현금' FROM ... WHERE A='1'

    UNION ALL

    SELECT '외상' FROM ... WHERE A='2'

    ...



    생각나는건 이것 뿐이어서리..^^"



    더 알구 시프시면 연락주세요..



    즐푸하세요.