|
이전의 비주얼베이직 3.0으로 윈도우 3.1에서 작성된 프로그램에 사용된
cut.mdb를 빌더 4.0으로 바꾸고 있습니다..
cut.mdb에는 DIA, piece, pipe의 table이 있습니다. 그리고
몇개의 Query가 있습니다..
테이블은 빌더에서 그냥 오픈하니까,,되던데,,,Query가 문제더군요...
Query중 몇개는 해결했는데,,두개가 안되더군요..
아래의 문장은 각 Query에 있는 SQL문입니다..
이걸 빌더에서 Query컴포넌트를 사용하여 바꿨습니다..
1)SELECT DISTINCTROW iif(right(pipe.dia,1)="A", pipe.dia, DIA.code AS dia, pipe.sch, pipe.mat,
pipe.lgth count (*) AS qty FROM pipe.recno >= :param_recno and pipe.active is null
GROUP BY iif( right(pipe.dia,1)="A",pipe.dia,DIA.code),pipe.sch, pipe.mat, pipe.lgth;
이 문장을 Query컴포넌트의 SQL property에 넣고 param_recno에 적당한 값을 주고 나서
Query의 active를 true로 했더니 다음과 같은 에러가 뜨더군요..
General SQL Error
[Microsoft] ODBC Microsoft Access Driver too few parameters. Expected 2..
2)SELECT DISTINCTROW iif(pipe.dia,1)="A",pipe.dia, DIA.code) AS dia,pipe.sch, pipe.mat, pipe.lgth,
count (*) AS qty FROM pipe LEFT JOIN DIA ON val(pipe.dia)=DIA.diameter
GROUP BY iif(right(pipe.dia,1)="A",pipe.dia,DIA.code),pipe.sch, pipe.mat, pipe.lgth;
이 SQL문은 위의 에러메시지와 똑같은데 마지막의 숫자 2만 1로 바뀌었더군요...
1)에서는 param_recno가 있어서 Query컴퍼넌트의 param의 값을 적어놓았거든요..
그런데도 파라미터를 요구하는데...어디가 잘못된건가요?
참고로 두 문장다 Microsoft Access에서는 이상없이 잘 됩니다..
많은 도움 부탁드립니다...
|