Q&A

  • 날벼락~ 날벼락~ 여러가지 조건으로 조회할 수 있는 SQL문을 작성하려면 날벼락~ 날벼락~
sql.Add('select 순번,제품명,고객명,검사수량,합격수량,불량수량,조처결과,검사결과,검사일자,검사자 from 검사명세');

sql.Add('where 제품명='''+combobox3.text+'''and 공정코드='''+s+''' and 검사일자 between :now1 and :now2');

parambyname('now1').asdatetime:=datetimepicker1.Date;

parambyname('now2').asdatetime:=datetimepicker2.Date;

open;

end;



위를 보심 where 제품명 공정코드 검사일자 등이 있는데여 ㅠ.ㅠ



제품명은 콤보박스3이고 공정코드는 콤보박스1+콤보박스2 임다.... 검사 일자는



데이트타임픽업1,2고여... 위의 소스는 잘 도라 가는 소스임당...ㅠ.ㅠ



하지마 위의 소스는 제품명으로 조회할수도 없구 공정코드만으로도 조회할수 없고



날짜로도 조회가 안됨당 ㅠ.ㅠ 3가지의 경우가 있어야쥐만 가능 하죠...



전 제품명으로도 조회할수있고 공정코드로도 조회가 가능하고 날짜만으로도 조회할수



도 있고 날짜+공정코드 이런식도 되고.... 제품명+날짜 이런식으로도 가능하게 할려고



하는데 생각이 나쥐 않는군여 ㅠ.ㅠ 지가 머리가 나뽀서리.....ㅜㅡ



고수님들 어떻게 하면 구현이 가능할까여...



아시는 고수님들은 주저하쥐 마시고 바로 바로 답변 부탁함당........



그럼 행복하시와여...... ^_______^



##################################################################### 초보중의 초보 사발탱##################################





2  COMMENTS
  • Profile
    주경래 2000.08.23 18:34
    사발우성 wrote:

    > sql.Add('select 순번,제품명,고객명,검사수량,합격수량,불량수량,조처결과,검사결과,검사일자,검사자 from 검사명세');

    > sql.Add('where 제품명='''+combobox3.text+'''and 공정코드='''+s+''' and 검사일자 between :now1 and :now2');

    > parambyname('now1').asdatetime:=datetimepicker1.Date;

    > parambyname('now2').asdatetime:=datetimepicker2.Date;

    > open;

    > end;

    >

    > 위를 보심 where 제품명 공정코드 검사일자 등이 있는데여 ㅠ.ㅠ

    >

    > 제품명은 콤보박스3이고 공정코드는 콤보박스1+콤보박스2 임다.... 검사 일자는

    >

    > 데이트타임픽업1,2고여... 위의 소스는 잘 도라 가는 소스임당...ㅠ.ㅠ

    >

    > 하지마 위의 소스는 제품명으로 조회할수도 없구 공정코드만으로도 조회할수 없고

    >

    > 날짜로도 조회가 안됨당 ㅠ.ㅠ 3가지의 경우가 있어야쥐만 가능 하죠...

    >

    > 전 제품명으로도 조회할수있고 공정코드로도 조회가 가능하고 날짜만으로도 조회할수

    >

    > 도 있고 날짜+공정코드 이런식도 되고.... 제품명+날짜 이런식으로도 가능하게 할려고

    >

    > 하는데 생각이 나쥐 않는군여 ㅠ.ㅠ 지가 머리가 나뽀서리.....ㅜㅡ

    >

    > 고수님들 어떻게 하면 구현이 가능할까여...

    >

    > 아시는 고수님들은 주저하쥐 마시고 바로 바로 답변 부탁함당........

    >

    > 그럼 행복하시와여...... ^_______^

    >

    > ##################################################################### 초보중의 초보 사발탱##################################

    >

    >



    조건을 지정하는데 있어서 특정필드에 대한 조건만 지정하려는 경우 또는

    조합하여 지정하려면 일단은 파라미터가 없어야 겠죠.

    파라미터가 있다면 특정필드의 특정조건(대,소,동일 등등)에 맞춰야 하기

    때문입니다.

    그리고 Where 부분만 문자열로 묶어서

    예) var WhereTxt : String;

    이런식으로요 필요에 따라 글로벌 또는 로컬 변수로 선언하고

    조건에 대한 식을 문자열로 저장하구 나중에

    SQL.Add(WhereTxt); 만 해주심 되겠군요.



    특정 조건에 만족하는 WhereTxt 문자열의 생성은 다음과 같이 예를 들어드리죠.



    if 콤보1.itemindex <> -1 then

    if WhereTxt = '' then

    WhereTxt := ' and 조건1 = ' + IntToStr(콤보1.ItemIndex)

    else

    WhereTxt := ' 조건1 = ' IntToStr(콤보1.ItemIndex);



    if 콤보2.itemindex <> -1 then

    if WhereTxt = '' then

    WhereTxt := ' and 조건2 = ' + IntToStr(콤보2.ItemIndex)

    else

    WhereTxt := ' 조건2 = ' + IntToStr(콤보2.IntrenmIndex);



    ......

    ......

    ......



    if Trim(WhereTxt) <> '' then

    SQL.Add('Where ' + WhereTxt);



    저의 코딩이 약간 허술하지만 대충 이런식으로 해결이 됩니다.



  • Profile
    사발우성 2000.08.21 20:19
    주경래 wrote:

    > 사발우성 wrote:

    > > sql.Add('select 순번,제품명,고객명,검사수량,합격수량,불량수량,조처결과,검사결과,검사일자,검사자 from 검사명세');

    > > sql.Add('where 제품명='''+combobox3.text+'''and 공정코드='''+s+''' and 검사일자 between :now1 and :now2');

    > > parambyname('now1').asdatetime:=datetimepicker1.Date;

    > > parambyname('now2').asdatetime:=datetimepicker2.Date;

    > > open;

    > > end;

    > >

    > > 위를 보심 where 제품명 공정코드 검사일자 등이 있는데여 ㅠ.ㅠ

    > >

    > > 제품명은 콤보박스3이고 공정코드는 콤보박스1+콤보박스2 임다.... 검사 일자는

    > >

    > > 데이트타임픽업1,2고여... 위의 소스는 잘 도라 가는 소스임당...ㅠ.ㅠ

    > >

    > > 하지마 위의 소스는 제품명으로 조회할수도 없구 공정코드만으로도 조회할수 없고

    > >

    > > 날짜로도 조회가 안됨당 ㅠ.ㅠ 3가지의 경우가 있어야쥐만 가능 하죠...

    > >

    > > 전 제품명으로도 조회할수있고 공정코드로도 조회가 가능하고 날짜만으로도 조회할수

    > >

    > > 도 있고 날짜+공정코드 이런식도 되고.... 제품명+날짜 이런식으로도 가능하게 할려고

    > >

    > > 하는데 생각이 나쥐 않는군여 ㅠ.ㅠ 지가 머리가 나뽀서리.....ㅜㅡ

    > >

    > > 고수님들 어떻게 하면 구현이 가능할까여...

    > >

    > > 아시는 고수님들은 주저하쥐 마시고 바로 바로 답변 부탁함당........

    > >

    > > 그럼 행복하시와여...... ^_______^

    > >

    > > ##################################################################### 초보중의 초보 사발탱##################################

    > >

    > >

    >

    > 조건을 지정하는데 있어서 특정필드에 대한 조건만 지정하려는 경우 또는

    > 조합하여 지정하려면 일단은 파라미터가 없어야 겠죠.

    > 파라미터가 있다면 특정필드의 특정조건(대,소,동일 등등)에 맞춰야 하기

    > 때문입니다.

    > 그리고 Where 부분만 문자열로 묶어서

    > 예) var WhereTxt : String;

    > 이런식으로요 필요에 따라 글로벌 또는 로컬 변수로 선언하고

    > 조건에 대한 식을 문자열로 저장하구 나중에

    > SQL.Add(WhereTxt); 만 해주심 되겠군요.

    >

    > 특정 조건에 만족하는 WhereTxt 문자열의 생성은 다음과 같이 예를 들어드리죠.

    >

    > if 콤보1.itemindex <> -1 then

    > if WhereTxt = '' then

    > WhereTxt := ' and 조건1 = ' + IntToStr(콤보1.ItemIndex)

    > else

    > WhereTxt := ' 조건1 = ' IntToStr(콤보1.ItemIndex);

    >

    > if 콤보2.itemindex <> -1 then

    > if WhereTxt = '' then

    > WhereTxt := ' and 조건2 = ' + IntToStr(콤보2.ItemIndex)

    > else

    > WhereTxt := ' 조건2 = ' + IntToStr(콤보2.IntrenmIndex);

    >

    > ......

    > ......

    > ......

    >

    > if Trim(WhereTxt) <> '' then

    > SQL.Add('Where ' + WhereTxt);

    >

    > 저의 코딩이 약간 허술하지만 대충 이런식으로 해결이 됩니다.

    >