Q&A

  • dbgrid control...
dbgrid에서만 작업을 하려고 합니다..

다른것은 다 처리했는데 맨 마지막 레코드에서 down 방향키를 누르면 자동으로 insert가 되더군요...

그래서 알아보니 sql의 이벤트에서 beforeinsert부분에 abort를 입력하면 되더라구요..

그런데 문제는 form이 열릴때 db를 항상 생성해야 한다는 것입니다..

즉, 기초master의 화일을 open해서 한레코드씩 검사하여 현재 화일에 동일한 레코드가 없을시는 insert하여 추가하여야 하는데 위 이벤트에 저렇게 기록하니깐 되지가 않더군요..

일단 작업을 처리한후 화일이 완성되고 난후부터 저 명령이 작동했으면 좋겠는데 어떻게 방법이 없는지요...



그리고, 혹시 dbgrid에서 특정 field에 입력하면 그 값을 체크하여 어떤 결과값을 줄수있는 방법이 없는지요...

예를들어, 품목사항입력시...

[ 품목코드, 품목명, 규격, 수량, 단위, 단가, 금액, ... ]

의 필드가 있어 grid를 생성했다면 코드란에서 "페인트"를 입력하고 enter를 누르면 품목이 "페인트"인것만 grid나 browse에 표현하고 싶습니다.. 그렇게 표현된 상황에서 enter를 누르면 원래 grid에 품목코드와 품명, 규격, 단위가 자동으로 저장될수 있도록 하고싶어요..



방법을 설명해 주십시요...



1  COMMENTS
  • Profile
    크리스탈 2001.01.19 00:42
    이승근 wrote:

    > dbgrid에서만 작업을 하려고 합니다..

    > 다른것은 다 처리했는데 맨 마지막 레코드에서 down 방향키를 누르면 자동으로 insert가 되더군요...

    > 그래서 알아보니 sql의 이벤트에서 beforeinsert부분에 abort를 입력하면 되더라구요..

    > 그런데 문제는 form이 열릴때 db를 항상 생성해야 한다는 것입니다..

    > 즉, 기초master의 화일을 open해서 한레코드씩 검사하여 현재 화일에 동일한 레코드가 없을시는 insert하여 추가하여야 하는데 위 이벤트에 저렇게 기록하니깐 되지가 않더군요..

    > 일단 작업을 처리한후 화일이 완성되고 난후부터 저 명령이 작동했으면 좋겠는데 어떻게 방법이 없는지요...

    >

    > 그리고, 혹시 dbgrid에서 특정 field에 입력하면 그 값을 체크하여 어떤 결과값을 줄수있는 방법이 없는지요...

    > 예를들어, 품목사항입력시...

    > [ 품목코드, 품목명, 규격, 수량, 단위, 단가, 금액, ... ]

    > 의 필드가 있어 grid를 생성했다면 코드란에서 "페인트"를 입력하고 enter를 누르면 품목이 "페인트"인것만 grid나 browse에 표현하고 싶습니다.. 그렇게 표현된 상황에서 enter를 누르면 원래 grid에 품목코드와 품명, 규격, 단위가 자동으로 저장될수 있도록 하고싶어요..

    >

    > 방법을 설명해 주십시요...

    >



    특정 필드의 값의 어떤값을 있는지 없는지를 검사하려면

    c := dbgrid.datasource.dataset.locate('필드명','데이터',[]);

    하면 그 결과값을 c에 저장합니다. c는 여기서 불형입니다. 찾으면 true, 아니면 false값이 리턴되겠죠?

    만약 false라면 현재 그것에대한 값이 없다는 이야기니까... 그때 삽입을 하면 되겠네요.

    true라면 그에따른 어떠한 동작을 하면 될것입니다.



    그리고 두번째는 쿼리문을 그냥 사용하면 될것같은데...

    너무 부실한 설명이었나요?