ADOQueryのSQL文ですが、MAX関数を以下のようにするとSQLプロパティ追加時に
msjet40.dllの読込違反が起きてしまいます。
DBはアクセス2003です。
MAX関数はADOQueryでは使用できないのでしょうか?
ADOQry.SQL.Add('SELECT MAX(A) as A FROM TableA');
MAX関数は問題無く使えますよ。
私には読み込み違反の原因はわかりませんが、、、
すみません。
ちょうど同じようなエラーが出て困ってました。
開発環境からアプリを実行させると下記のようなエラーが発生するのですが、コンパイル後のEXEからアプリを実行させると、問題ないんですよ。
原因は判ってません。 m(__)m
---------------------------
デバッガ例外が発生
---------------------------
プロジェクト hoge.exe が EAccessViolation クラスの例外を生成しました。
'モジュール 'msjet40.dll' のアドレス 1B041FC6 でアドレス 0005242E に対する読み込み違反がおきました。'
プロセスは停止しています。再開するにはステップ実行または実行を選択してください。
---------------------------
OK ヘルプ(H)
---------------------------
ちなみに環境は?
わたしの環境は
Win2000Pro(SP3) + Del7Pro
>ADOQry.SQL.Add('SELECT MAX(A) as A FROM TableA');
MAX(A) as A ってSQLの文法的にOK?
環境は私もWin2000Pro(SP3) + Del7Proです。
>MAX(A) as A ってSQLの文法的にOK?
アクセスで試したのですがOKでした。
(ORDER BYをつけると駄目みたいです)
上手くいかにのでORDER BYでDESCでデータ取得し、「+1」するやり方にしました。
解決にはならないですね・・・。
ツイート | ![]() |