
見積のシステムを作る際、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ランキング
-
【Accessクエリ】存在しないデ...
-
アクセスのテーブルを分ける理...
-
あるフィールドの最大値を条件...
-
Accessの帳票フォームで重複デ...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
「直需」の意味を教えてください
-
Accessでテーブル名やクエリ名...
-
エクセルグラフの凡例スペース
-
INSERT INTO ステートメントに...
-
Access テキスト型に対する指定...
-
Accessクエリーで両方のテーブ...
-
SQLServer2005のSQL文での別名...
-
Oracle 2つのDate型の値の差を...
-
少数部の桁数の求め方
-
Timestampの値を自動的に挿入す...
-
変数が選択リストにありません
-
ACCESSで400以上のフィールドが...
-
テーブルの存在チェックについて
-
ワードでの単純作業の効率化に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessの帳票フォームで重複デ...
-
Accessフォーム全レコードをPDF...
-
あるフィールドの最大値を条件...
-
MS ACCESS 商品価格変更時の該...
-
アクセスのテーブルを分ける理...
-
ACCESS VBA クエリを開く
-
Accessでクエリの作成、多対1対...
-
Excelで重複する情報に番号を付...
-
【Access2000】マシンIDの取得方法
-
フィールド名が取得したい
-
再計算って出来ますか?
-
受注明細テーブルについて
-
SQL文でのDISTINCT
-
accessについて
-
Access2021 「ISNULL関数には引...
-
usingの意味がわからないのですが
-
曜日を表す項目
-
集計結果を別テーブルに更新ク...
-
SQL Server 2005 Expressで営業...
-
【Accessクエリ】存在しないデ...
おすすめ情報
ご回答ありがとうございます。
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)
こちらのエラーについて何かわかるでしょうか?