Q&A

  • 날짜별 검색이 잘 안되는데요....
안녕들 하세요...

잘 안되는게 있어서요..

엑세스로 DB를 만들어서 날짜별로 검색을 하는데 이게 잘안되서요..

예를 들어 99-06-30 에서 99-07-02 사이의 레코드를 그리드에 출력

하는데 에러는 없는데 레코드가 그리드에 출력이 안되네요..

sql문에서 틀린것 같은데..아래 소스가...



procedure TOutcomeFrm.BitBtn1Click(Sender: TObject);

var

FDate,TDate : String;

begin

FDate := DateToStr(DateTimePicker3.Date);

TDate := DateToStr(DateTimePicker4.Date);

with DM.Outqr do begin

Close;

sql.Clear;

sql.Add('select * from outcome');

sql.Add('where 구입일 between '+FDate+' and '+TDate+'');

Open;

end;

end;



'구입일' 이라는 필드가 있고 보시는거와 같이 FDate 에서 TDate까지의

모든 레코드를 출력하는데 실행하면 빈 레코드가 나와요..분명이

해당하는 레코드가 있는데도 불구하고...'구입일'의 필드타입은 DateTime

입니다..도와 주세요..

6  COMMENTS
  • Profile
    강지영 1999.04.22 01:58
    DM.Query1.Locate('Cust_No',Cr,lopartialKey);

    를 실행하면

    incompatible types :

    'Tlocateoptions and Tlocateoptions'라는 에러가 생깁니다.

    도움말에는

    TLocateOption = (loCaseInsensitive, loPartialKey);

    TLocateOptions = set of TLocateOption;

    라는 설명이 되어 있는데요..

    그럼 이걸 어떻게 사용해야 실행이 될까요?



    그리고 unit의 제일 상단에

    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls 등이 있잖습니까..

    이 참조유닛(맞나요?)의 내용을 직접 보고 싶을땐 어떻게 열어봐야 합니까..



  • Profile
    정재홍 1999.07.02 21:53
    이주흥 께서 말씀하시기를...

    > 안녕들 하세요...

    > 잘 안되는게 있어서요..

    > 엑세스로 DB를 만들어서 날짜별로 검색을 하는데 이게 잘안되서요..

    > 예를 들어 99-06-30 에서 99-07-02 사이의 레코드를 그리드에 출력

    > 하는데 에러는 없는데 레코드가 그리드에 출력이 안되네요..

    > sql문에서 틀린것 같은데..아래 소스가...

    >

    > procedure TOutcomeFrm.BitBtn1Click(Sender: TObject);

    > var

    > FDate,TDate : String;

    > begin

    > FDate := DateToStr(DateTimePicker3.Date);

    > TDate := DateToStr(DateTimePicker4.Date);

    > with DM.Outqr do begin

    > Close;

    > sql.Clear;

    > sql.Add('select * from outcome');

    > sql.Add('where 구입일 between '+FDate+' and '+TDate+'');

    > Open;

    > end;

    > end;

    >

    > '구입일' 이라는 필드가 있고 보시는거와 같이 FDate 에서 TDate까지의

    > 모든 레코드를 출력하는데 실행하면 빈 레코드가 나와요..분명이

    > 해당하는 레코드가 있는데도 불구하고...'구입일'의 필드타입은 DateTime

    > 입니다..도와 주세요..



    제가 아는 범위내에서 문제의 소지가 있는 부분을 몇가지 짚어 보겠습니다.



    1. 엑세스디비(mdb)는 날짜를 검색조건으로 사용할때 앞뒤에 #을 붙여 주어야



    하는 걸로 알고 있습니다. 예로 #99-06-30# 이런식으로 말이죠...



    2. sql문이 제대로 형성이 되는지 검사해 보십시요...

    sql.Add('where 구입일 between '+FDate+' and '+TDate+'');

    showmessage(sql.text); <-이렇게 해서 원하는 형식으로 sql이 만들어지는지...

    Open;



    3. between을 사용하지 않고 and문을 사용하면 어떨까요?

    예)

    > sql.Add('select * from outcome');

    sql.Add('where (구입일 >= :FDate) and (구입일 <= :TDate) ');

    parambyname('FDate').asDateTime := DateTimePicker3.Date;

    parambyname('TDate').asDateTime := DateTimePicker4.Date;

    > Open;



    이렇게 한번 해 보심이....

    잘 해결 될수 있기를 바랍니다.



  • Profile
    신인재 1999.04.22 02:47
    강지영 wrote:

    > DM.Query1.Locate('Cust_No',Cr,lopartialKey);

    > 를 실행하면

    > incompatible types :

    > 'Tlocateoptions and Tlocateoptions'라는 에러가 생깁니다.

    > 도움말에는

    > TLocateOption = (loCaseInsensitive, loPartialKey);

    > TLocateOptions = set of TLocateOption;

    > 라는 설명이 되어 있는데요..

    > 그럼 이걸 어떻게 사용해야 실행이 될까요?

    >

    > 그리고 unit의 제일 상단에

    > uses

    > Windows, Messages, SysUtils, Classes, Graphics, Controls 등이 있잖습니까..

    > 이 참조유닛(맞나요?)의 내용을 직접 보고 싶을땐 어떻게 열어봐야 합니까..

    >



    음냐 이렇게 써보세요...

    DM.Query1.Locate('Cust_No',Cr,[lopartialKey]);



    그리고 참조유닛들은 dephi3/source 에 보시면 다 찾을 수 있을 겁니다.





  • Profile
    이주흥 1999.07.03 01:08
    안녕하세요..답변 감사합니다.

    But!! 여전히 안되는군요...

    ShowMessage결과는 맞는데...여전히 레코드가 없다고 나오는군요...

    어떡하면 좋을까요..

    ShowMessage결과----->

    select * from outcome where 구입일 between 99-06-30 and 99-07-02



    이렇게 나오고요...and를 사용해도 마찬가지...아~~~ 코드의 문제가

    아닌듯한데...쩝...

  • Profile
    강지영 1999.04.22 05:48
    신인재 wrote:

    > 강지영 wrote:

    > > DM.Query1.Locate('Cust_No',Cr,lopartialKey);

    > > 를 실행하면

    > > incompatible types :

    > > 'Tlocateoptions and Tlocateoptions'라는 에러가 생깁니다.

    > > 도움말에는

    > > TLocateOption = (loCaseInsensitive, loPartialKey);

    > > TLocateOptions = set of TLocateOption;

    > > 라는 설명이 되어 있는데요..

    > > 그럼 이걸 어떻게 사용해야 실행이 될까요?

    > >

    > > 그리고 unit의 제일 상단에

    > > uses

    > > Windows, Messages, SysUtils, Classes, Graphics, Controls 등이 있잖습니까..

    > > 이 참조유닛(맞나요?)의 내용을 직접 보고 싶을땐 어떻게 열어봐야 합니까..

    > >

    >

    > 음냐 이렇게 써보세요...

    > DM.Query1.Locate('Cust_No',Cr,[lopartialKey]);

    >

    > 그리고 참조유닛들은 dephi3/source 에 보시면 다 찾을 수 있을 겁니다.

    >

    >

    쩝.. 그렇군요.. 고맙습니다..

    덕분에 길다란 for문이 몇개나 없어졌는지 모릅니다.. 이궁..

    감사합니다.



  • Profile
    jack 1999.07.03 03:24
    이주흥 께서 말씀하시기를...

    > 안녕하세요..답변 감사합니다.

    > But!! 여전히 안되는군요...

    > ShowMessage결과는 맞는데...여전히 레코드가 없다고 나오는군요...

    > 어떡하면 좋을까요..

    > ShowMessage결과----->

    > select * from outcome where 구입일 between 99-06-30 and 99-07-02

    >

    > 이렇게 나오고요...and를 사용해도 마찬가지...아~~~ 코드의 문제가

    > 아닌듯한데...쩝...



    이렇게 한번 해보실래요?



    sql.Add('where 구입일 between #'+ FDate +'# and #'+ TDate +'#');

    Open;



    그리고 현재도 그렇게 하고 계실지도 모르겠지만..

    우선 액세스에서 먼저 질의를 생성해서 테스트해보고

    그 질의문을 그대로 가져다 델파이에서 적용해보는것도

    아주 좋은 방법이더라구요..

    일단 위 코드대로 해보고 혹시나 안된다면 먼저 한번 액세스에서

    해보시죠..

    성공을 기원하며..

    • 권만섭
    • 1999.04.21 17:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이채원
      1999.04.22 09:36
      권만섭 wrote: > 주소 입력시 우편번호를 입력해 주소를 찾는데 검색속도가 너무 느려요... > 우편번호 ...
    • 이철민
    • 1999.07.02 18:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정재홍
      1999.07.02 21:10
      이철민 께서 말씀하시기를... > 디자인 타임때 VCL의 이름이 밑에 나타나잖아요. > 실행시에 그렇게 이름...
    • 김장섭
    • 1999.04.22 05:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.22 07:02
      김장섭 wrote: > 안녕하세요 > 가장 최근에 작업했던 폼에 대한 정보를 가지고 화면을 바로 생성하려고 ...
    • 김장섭
    • 1999.04.22 05:57
    • 4 COMMENTS
    • /
    • 0 LIKES
    • bisbuck
      1999.07.02 18:18
      아래 답변은 감사합니다... 하지만 제 질문의 의도와는 좀 다른 답변인것 같아서요... 델파이에서 작성...
    • 안치봉
      1999.04.22 07:02
      김장섭 wrote: > 안녕하세요 > 가장 최근에 작업했던 폼에 대한 정보를 가지고 화면을 바로 생성하려고 ...
    • 조민경
      1999.07.02 22:53
      bisbuck 께서 말씀하시기를... > 아래 답변은 감사합니다... > 하지만 제 질문의 의도와는 좀 다른 답변...
    • 조복기
      1999.07.02 19:10
      bisbuck 께서 말씀하시기를... > 아래 답변은 감사합니다... > 하지만 제 질문의 의도와는 좀 다른 답변...
    • 이주흥
    • 1999.07.02 18:03
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 강지영
      1999.04.22 01:58
      DM.Query1.Locate('Cust_No',Cr,lopartialKey); 를 실행하면 incompatible types : 'Tlocateoptions and...
    • 정재홍
      1999.07.02 21:53
      이주흥 께서 말씀하시기를... > 안녕들 하세요... > 잘 안되는게 있어서요.. > 엑세스로 DB를 만들어서 ...
    • 신인재
      1999.04.22 02:47
      강지영 wrote: > DM.Query1.Locate('Cust_No',Cr,lopartialKey); > 를 실행하면 > incompatible types :...
    • 이주흥
      1999.07.03 01:08
      안녕하세요..답변 감사합니다. But!! 여전히 안되는군요... ShowMessage결과는 맞는데...여전히 레코드가...
    • 강지영
      1999.04.22 05:48
      신인재 wrote: > 강지영 wrote: > > DM.Query1.Locate('Cust_No',Cr,lopartialKey); > > 를 실행하면 >...
    • jack
      1999.07.03 03:24
      이주흥 께서 말씀하시기를... > 안녕하세요..답변 감사합니다. > But!! 여전히 안되는군요... > ShowMes...
    • SJCOUPLE
    • 1999.07.02 18:01
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 초보
    • 1999.04.22 00:07
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 백운익
      1999.07.02 16:06
      부탁합니다.. dbgrid에서 현재 선택한 행번호를 알려면 어찌해야 하는지좀 알려주셔요....
    • 구창민
      1999.04.22 03:58
      초보 wrote: > Table에있는 Field의 size를 가져오려면... > 꼬옥 알려주세요... 초보님 안녕하세요? ...
    • 최석기
      1999.07.02 22:18
      백운익 께서 말씀하시기를... > 부탁합니다.. > dbgrid에서 현재 선택한 행번호를 알려면 어찌해야 하는...
    • 궁금이
    • 1999.04.21 23:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.22 03:14
      궁금이 wrote: > 안녕하세요. > DLL화일안에 두개의 함수를 사용했습니다. > 두 함수들은는 overloadin...
    • 유시니
      1999.07.30 00:06
      유종철 께서 말씀하시기를... > 조복기님의 답변에 감사드리며 제 질문의 요지가 부정확해서 또 한편으로...
    • 김성희
      1999.07.02 07:57
      안녕하세요.. 두개의 레포트를 composite을 하려고 하는데요... 미리보기를 하면 제대로 출력이 되는데요...
    • 신인재
      1999.04.22 02:56
      하윤철 wrote: > 반복 루틴중에서 버튼을 눌러야 다음번 실행을 계속하도록 하려면 > 어떻게 해야 하나여...
    • 구창민
      1999.07.02 09:33
      김성희 께서 말씀하시기를... > 안녕하세요.. > 두개의 레포트를 composite을 하려고 하는데요... > 미...
    • 김성희
      1999.07.02 21:34
      구창민님 답변 감사합니다. 음.. 하지만... composite을 사용을 하고 나서 프린터로 프린트했을경우 제...
    • 안치봉
      1999.04.22 02:52
      하윤철 wrote: > 반복 루틴중에서 버튼을 눌러야 다음번 실행을 계속하도록 하려면 > 어떻게 해야 하나여...
    • 안치봉
      1999.04.22 02:50
      하윤철 wrote: > 반복 루틴중에서 버튼을 눌러야 다음번 실행을 계속하도록 하려면 > 어떻게 해야 하나여...
    • 임희철
    • 1999.07.02 07:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.07.02 09:28
      임희철 께서 말씀하시기를... > 안녕하세요... > 또 궁금한것이 있어 이렇게 한자 물어봅니다. > ShowMe...
    • 신인재
      1999.04.22 02:56
      하윤철 wrote: > 반복 루틴중에서 버튼을 눌러야 다음번 실행을 계속하도록 하려면 > 어떻게 해야 하나여...
    • 안치봉
      1999.04.22 02:52
      하윤철 wrote: > 반복 루틴중에서 버튼을 눌러야 다음번 실행을 계속하도록 하려면 > 어떻게 해야 하나여...
    • 안치봉
      1999.04.22 02:50
      하윤철 wrote: > 반복 루틴중에서 버튼을 눌러야 다음번 실행을 계속하도록 하려면 > 어떻게 해야 하나여...
    • 문창완
    • 1999.04.22 02:51
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 남윤혁
      1999.07.02 06:19
      MS워드의 툴바를 보면 위에 붙어 있다가 마우스로 잡아서 이동을 시키면 독립된 창으로 분리가 됩...
    • 안치봉
      1999.07.02 10:16
      도킹툴바를 쓸때 주의해야 할게 하나 있습니다. 예전에 당했던건데.. 아직도 풀지를 못한거죠.. 언젠가...
    • 구창민
      1999.07.02 09:16
      남윤혁 께서 말씀하시기를... > MS워드의 툴바를 보면 > > 위에 붙어 있다가 > > 마우스로 잡아서 ...
    • 이종근
    • 1999.07.02 05:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.07.02 09:24
      이종근 께서 말씀하시기를... > 도와주십시요! > 1)리포트에서 세금계산서 같은 건 어떻게 출력합니까?(...
    • saint09
    • 1999.07.02 05:26
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 하윤철
      1999.04.22 01:40
      반복 루틴중에서 버튼을 눌러야 다음번 실행을 계속하도록 하려면 어떻게 해야 하나여. 도스에선라면 쉽겠...
    • 남윤혁
      1999.07.02 06:23
      saint09 께서 말씀하시기를... > 안녕하세요. > 다름이 아니오라. 폼을 두개 만들었습니다. 하나는 메인...
    • 신인재
      1999.04.22 02:56
      하윤철 wrote: > 반복 루틴중에서 버튼을 눌러야 다음번 실행을 계속하도록 하려면 > 어떻게 해야 하나여...
    • 안치봉
      1999.04.22 02:52
      하윤철 wrote: > 반복 루틴중에서 버튼을 눌러야 다음번 실행을 계속하도록 하려면 > 어떻게 해야 하나여...
    • 안치봉
      1999.04.22 02:50
      하윤철 wrote: > 반복 루틴중에서 버튼을 눌러야 다음번 실행을 계속하도록 하려면 > 어떻게 해야 하나여...
    • 강지영
    • 1999.04.22 01:58
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.04.22 02:47
      강지영 wrote: > DM.Query1.Locate('Cust_No',Cr,lopartialKey); > 를 실행하면 > incompatible types :...
    • 강지영
      1999.04.22 05:48
      신인재 wrote: > 강지영 wrote: > > DM.Query1.Locate('Cust_No',Cr,lopartialKey); > > 를 실행하면 >...
    • 홍미자
      1999.04.22 01:38
      모든 오브젝트의 포커스 이동을 엔터키로 처리하는데 라디오 그룹 컴포넌트는 OnKeyPress나 OnKeyDown에 ...
    • 안치봉
      1999.04.22 02:47
      홍미자 wrote: > 모든 오브젝트의 포커스 이동을 엔터키로 처리하는데 라디오 그룹 컴포넌트는 > OnKeyP...