
見積のシステムを作る際、AccessからSQL Serverに接続をするためパススルークエリーにて実行させようとしたのですが、エラーが発生してしまいます。
SQLビューのコード
SELECT 見積明細備考.見積明細備考ID, 見積明細.見積明細ID, 見積明細.見積ID, 見積明細備考.型番, IIf((IsNull((SELECT Sum(Q_加工費.価格) FROM Q_加工費 WHERE 見積明細ID=見積明細.見積明細ID and 型番=見積明細備考.型番))),0,(SELECT Sum(Q_加工費.価格) FROM Q_加工費 WHERE 見積明細ID=見積明細.見積明細ID and 型番=見積明細備考.型番)) AS 加工費
FROM 商品 INNER JOIN ((見積明細 INNER JOIN 取引先 ON 見積明細.得意先ID = 取引先.得意先ID) INNER JOIN 見積明細備考 ON 見積明細.見積明細ID = 見積明細備考.見積明細ID) ON 商品.型番 = 見積明細備考.型番
GROUP BY 見積明細備考.見積明細備考ID, 見積明細.見積明細ID, 見積明細.見積ID, 見積明細備考.型番;
エラー内容
ODBC-- 呼び出しが失敗しました。
[Microsoft][ODBC SQL Server Driver][SQL server]isnullには引数が2個必要(#174)。[Microsoft][ODBC SQL Server Driver][SQL server]')'付近に不適切な構文があります。(#102)
IIfとIsNullを使い別クエリにある加工費の合計を計算し、見積明細備考というテーブルにある見積明細備考にあるID1つにつき加工費の集計結果を出力するレコードがありそれが原因だと思うのですが、どのように変更すればエラーがなくなるでしょうか?
長文になりましたが、ご助力願えればと思います。
宜しくお願い致します。
補足
見積(主キー 見積ID)ー見積明細(主キー 見積明細ID)ー見積明細備考(主キー 見積明細備考ID)
加工費(主キー 加工費ID)
材料費(主キー 材料費ID)
初回費用(主キー 初回費用ID)
運賃(主キー 運賃ID)
各テーブルに見積ID、見積明細IDがある
見積明細ID、見積明細備考にある型番から該当の費用を参照し合計を総合計クエリに表示させている
取引先(主キー 得意先ID)
商品(主キー 型番)
主キーを参照することで得意先名と商品名を表示させるようにしている
データベースツールの「データベースの最適化」とデータベースツールの「パフォーマンスの最適化」では特に変化はありませんでした。
No.1ベストアンサー
- 回答日時:
null値検索をしたいのであれば、isnull の間にスペースを入れたら(is null)どうだろう?
https://learn.microsoft.com/ja-jp/sql/t-sql/func …
No.2
- 回答日時:
ISNULL (Transact-SQL):
https://learn.microsoft.com/ja-jp/sql/t-sql/func …IsNull 関数: https://support.microsoft.com/ja-jp/office/isnul …
上記違いがあるので、SQL Server用に書き換える必要があるかと。
IIf((IsNull(※S※)),0,(※S※)) → ISNULL(※S※,0)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- その他(データベース) accessについて 2 2022/05/31 16:58
- Access(アクセス) テキストボックスの値をテーブルに入力したい 2 2022/06/28 12:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL文について
-
フィールド名が取得したい
-
SQLの作り方
-
ACCESSでの重複箇所
-
リレーションシップが作成でき...
-
sqliteで
-
【マクロ】列を折りたたみ非表...
-
「直需」の意味を教えてください
-
一時的なワークスペースのよう...
-
複数のテーブルに対して・・・
-
ACCESS:参照整合性がとれない
-
Excel 2019 のピボットテーブル...
-
複数のテーブルをつなげる
-
エクセルのフィルタオプション...
-
Access2000におけるテーブル追...
-
FileMakerPro6でのポータルの活...
-
GeForce ExperienceのSHADOW PL...
-
受注受付期間とはなんですか?...
-
エクセル抽出・コード番号から...
-
アクセスの集計方法?正規化?...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのテーブルを分ける理...
-
Accessの帳票フォームで重複デ...
-
あるフィールドの最大値を条件...
-
MS ACCESS 商品価格変更時の該...
-
Access2021 「ISNULL関数には引...
-
Accessフォーム全レコードをPDF...
-
受注明細テーブルについて
-
集計結果を別テーブルに更新ク...
-
Accessでクエリの作成、多対1対...
-
【Accessクエリ】存在しないデ...
-
SQLコマンドのorder by句
-
SQL Server 2005 Expressで営業...
-
正規化
-
ACCESS データシートビューでの...
-
JOIN句の記述の違いによるパフ...
-
こんな関数か式?SQLってありま...
-
ACCESS VBA クエリを開く
-
Access2000 リレーションについて
-
【Access2000】マシンIDの取得方法
-
ストアドプロシージャにてフェ...
おすすめ情報
ご回答ありがとうございます。
isnull→is nullにしたところ別エラーが発生しました。
ODBC-- 呼び出しが失敗しました。
[Microsoft][ODBC SQL Server Driver][SQL server]キーワード'Is'付近に不適切な構文があります(#156)。[Microsoft][ODBC SQL Server Driver][SQL server]')'付近に不適切な構文があります。(#102)。[Microsoft][ODBC SQL Server Driver][SQL server]')'付近に不適切な構文があります。(#102)
申し訳ございませんがこちらのエラーについて何かわかるでしょうか?
osamuy様
ご回答ありがとうございます。
以下のように変更したところ別のエラーが発生しました。
IsNull(SELECT Sum(Q_加工費.価格) FROM Q_加工費 WHERE 見積明細ID=見積明細.見積明細ID and 型番=見積明細備考.型番,0) AS 加工費
エラー内容
[Microsoft][ODBC SQL Server Driver][SQL server]SELECT付近に不適切な構文があります。(#156)。[Microsoft][ODBC SQL Server Driver][SQL server]')'付近に不適切な構文があります。(#102)
こちらのエラーについて何かわかるでしょうか?