Q&A

  • [급질문]아폴론님 잘 봤습니다..근데 문제가...아시는분좀...
문제가 생겼어요...



아래 답변해준 소스죠?



아래 문제가 있어요...

=========================================================================

adate := inputdate; ,=====요기는 20010101 요런식이라고 가정함

ayear := copy(adate, 1,4);

cdate := copy(adate, 5,2);

if (cdate = '01') or (cdate = '02') or (cdate = '12') then

ddate := '12' else

if (cdate = '03') or (cdate = '04') or (cdate = '05') then

ddate := '03' else

if (cdate = '06') or (cdate = '07') or (cdate = '08') then

ddate := '06' else

if (cdate = '09') or (cdate = '10') or (cdate = '11') then

ddate := '09';



with Query1 do begin <=====요쿼리를 레포트랑 연결

close;

sql.clear;

sql.add('select * from bdb');

sql.add('where bdate = :p_date');

parambyname('p_date').asstring := ayear + ddate;

open;

printform.qrlabel1.caption := copy(fieldbyname('bdate').asstring, 1, 6);

만약 날짜밴드가 디테일이라면 쿼리1의 Calck 이벤트를 활용하세요

end;





============================================================================



여기서 'p_date'가 값이 안들어 가요...참고로 Bdate는 Integer형입니다...



그리고 Open도 안되요..이상한 에러가 뜨는데...



::::쿼리1의 Calck 이벤트를 활용하세요

이거는 어떻게 이벤트를 어디서부터 해야 하는 건가요...

Query만 하는 건가요...



알려주세요...







3  COMMENTS
  • Profile
    아폴론 2001.02.21 02:00
    아이리스 wrote:

    > 문제가 생겼어요...

    >

    > 아래 답변해준 소스죠?

    >

    > 아래 문제가 있어요...

    > =========================================================================

    > adate := inputdate; ,=====요기는 20010101 요런식이라고 가정함

    > ayear := copy(adate, 1,4);

    > cdate := copy(adate, 5,2);

    > if (cdate = '01') or (cdate = '02') or (cdate = '12') then

    > ddate := '12' else

    > if (cdate = '03') or (cdate = '04') or (cdate = '05') then

    > ddate := '03' else

    > if (cdate = '06') or (cdate = '07') or (cdate = '08') then

    > ddate := '06' else

    > if (cdate = '09') or (cdate = '10') or (cdate = '11') then

    > ddate := '09';

    >

    > with Query1 do begin <=====요쿼리를 레포트랑 연결

    > close;

    > sql.clear;

    > sql.add('select * from bdb');

    > sql.add('where bdate = :p_date');

    > parambyname('p_date').asstring := ayear + ddate;

    > open;

    > printform.qrlabel1.caption := copy(fieldbyname('bdate').asstring, 1, 6);

    > 만약 날짜밴드가 디테일이라면 쿼리1의 Calck 이벤트를 활용하세요

    > end;

    >

    >

    > ============================================================================

    >

    > 여기서 'p_date'가 값이 안들어 가요...참고로 Bdate는 Integer형입니다...

    >

    > 그리고 Open도 안되요..이상한 에러가 뜨는데...

    >

    > ::::쿼리1의 Calck 이벤트를 활용하세요

    > 이거는 어떻게 이벤트를 어디서부터 해야 하는 건가요...

    > Query만 하는 건가요...

    >

    > 알려주세요...



    var adate,ayear,cdate,ddate : string;

    begin

    adate := inputdate; ,=====요기는 20010101 요런식이라고 가정함, 스트링형이죠?

    ayear := copy(adate, 1,4);

    cdate := copy(adate, 5,2);

    if ((cdate = '01') or (cdate = '02') or (cdate = '12')) then

    ddate := '12' else

    if ((cdate = '03') or (cdate = '04') or (cdate = '05')) then

    ddate := '03' else

    if ((cdate = '06') or (cdate = '07') or (cdate = '08')) then

    ddate := '06' else

    if ((cdate = '09') or (cdate = '10') or (cdate = '11')) then

    ddate := '09';

    showmessage(ddate);

    showmessage(ayear+ddate);





    with Query1 do begin <=====요쿼리를 레포트랑 연결

    close;

    sql.clear;

    sql.add('select * from bdb');

    sql.add('where bdate = :p_date'); <===== bdate 필드는 200001 이라고 가정함

    parambyname('p_date').asstring := ayear + ddate;

    open;

    end;

    이렇게 하면 오픈 됩니다

    오픈 된담에 다시 봅시다.

    inputdate 가 스트링이 아니면 스트링으로 형변환 하세요 inttostr

    bdate가 200101 이 아니고 20010101 이면 where 절에 substring 함수를 써야 합니다.



    얼릉 무지개가 떠야 제우스에게 갈텐데...



  • Profile
    아폴론 2001.02.21 02:26


    Invelid parameter라구요...

    Directory 다른 곳에 *.net이라는 것이 있고...(parpadox DB씁니다...)

    File의 E:/../PDoxuser.lck 이런 메세지가 open에서나는데...

    P-date가 string이 아니고 Integer형인데..

    String으로 가르쳐 주셨죠...

    이궁...어떻게 해야하죠...



    parambyname('p_date').asfloat := strtoint(ayear + ddate);



    요렇게 해보세요 그래두 안되면 멜주세요, 소스도 같이올리고 디비 타입도 같이 알려주세요

    umpro@lycos.co.kr



  • Profile
    아이리스 2001.02.21 02:09
    해봤는데요..EDBEngine Error가 뜨네요...



    Invelid parameter라구요...



    Directory 다른 곳에 *.net이라는 것이 있고...(parpadox DB씁니다...)



    File의 E:/../PDoxuser.lck 이런 메세지가 open에서나는데...



    P-date가 string이 아니고 Integer형인데..



    String으로 가르쳐 주셨죠...



    이궁...어떻게 해야하죠...