안냐세요? 고수님들... 또다시 접니다.
다름이 아니라 텍스트에서 년월만 치면 날짜가 한달이 나오게 하는방법을 몰라
또 다시 이렇게 글을 띄웁니다. 텍스트에서 200011이라고 치면 나머지 두 개의
텍스트에 2000-11-01하구 2000-11-30일이 나와야 합니다.
참고로 저의 소스는 이겁니다.
=====================================================================
procedure TfrmSE1E0500.YYYYMMKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key = #13 then begin
with qrydate do
begin
close;
ParamByName('yyymm').value := trim(yyyymm.text);
procdate1.text := copy(FieldByName('last').value, 1, 8) + '-' +'01';
procdate2.text := FieldByName('last').value;
end;
end;
end;
=======================================================================
요건 qrydate에 쓴 문장입니다.
=======================================================================
select last_day(to_date(:yyymm, 'YYYY-MM')) last
from dual
========================================================================
꼬옥 알려주세요... 제가 보기엔 데이트형을 일반 텍스트에 적용시켜서
에러가 난거 같은데... 아닌가요? 잘모르겠어요...
> 안냐세요? 고수님들... 또다시 접니다.
> 다름이 아니라 텍스트에서 년월만 치면 날짜가 한달이 나오게 하는방법을 몰라
> 또 다시 이렇게 글을 띄웁니다. 텍스트에서 200011이라고 치면 나머지 두 개의
> 텍스트에 2000-11-01하구 2000-11-30일이 나와야 합니다.
> 참고로 저의 소스는 이겁니다.
> =====================================================================
> procedure TfrmSE1E0500.YYYYMMKeyPress(Sender: TObject; var Key: Char);
> begin
> inherited;
> if key = #13 then begin
> with qrydate do
> begin
> close;
> ParamByName('yyymm').value := trim(yyyymm.text);
> procdate1.text := copy(FieldByName('last').value, 1, 8) + '-' +'01';
> procdate2.text := FieldByName('last').value;
> end;
> end;
> end;
> =======================================================================
> 요건 qrydate에 쓴 문장입니다.
> =======================================================================
> select last_day(to_date(:yyymm, 'YYYY-MM')) last
> from dual
> ========================================================================
>
> 꼬옥 알려주세요... 제가 보기엔 데이트형을 일반 텍스트에 적용시켜서
> 에러가 난거 같은데... 아닌가요? 잘모르겠어요...
꼭 db로 연결해서 가져올 필요가 있나요?
없다면 아래 방법대루 해보시져?
procedure TfrmSE1E0500.YYYYMMKeyPress(Sender: TObject; var Key: Char);
var
year,month,day : word;
begin
inherited;
if key = #13 then
begin
procdate1.text:= copy(yyyymm.text,1,4)+'-'+copy(yyyymm.text,5,2)+'-'+'01';
DecodeDate(strtodate(procdate1.text), Year, Month, Day);
if Month = 12 then
begin
Inc(Year);
Month := 1;
end
else Inc(Month);
procdate2.text := datetostr(EncodeDate(Year, Month, 1) - 1);
end;
구지 db에 연결할 필요는 없을꺼 같은데...
end;