見積のシステムを作る際、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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Powershellとコマンドプロンプト
その他(プログラミング・Web制作)
-
MACアドレスを偽装したい
Windows 10
-
HTML入門でもう躓いてしまった。
HTML・CSS
-
-
4
excel access連携 このテーブルは空ですと表示
Excel(エクセル)
-
5
リモートデスクトップでクライアントのUSBデバイスを使いたい
ネットワーク
-
6
ホワイトハッカー
その他(プログラミング・Web制作)
-
7
VBA(えくせる)ってなんでメンテできない人が多いんですか?
Excel(エクセル)
-
8
SQL Serverのテーブルってどうやってダンプしてますか? DBeaverだとデータベース事やる
SQL Server
-
9
ファイルの比較について教えてください
Windows 10
-
10
DBCS関数とは何ぞやッ!
Excel(エクセル)
-
11
sqlで質問です。 Aテーブルは店番、客番、登録日で一意となります。 Bテーブルは店番、客番、登録番
Oracle
-
12
JRのjsonファイルって使って大丈夫そ?
その他(プログラミング・Web制作)
-
13
httpのサイトにアクセスされたらhttpsのほうにリダイレクトするように設定する方法
サーバー
-
14
なぜ、パソコンでファイルをコピーするときに、例えば1個のフォルダがあってその中に10000個の写真が
Windows 10
-
15
Chromeがパソコンに表示されません
迷惑メール・スパム
-
16
QRコードとバーコードについて
その他(データベース)
-
17
C言語の関数と配列に関する質問
C言語・C++・C#
-
18
他のLinuxでも動くa.outの作り方
UNIX・Linux
-
19
メールの件名をデコードしたい
Visual Basic(VBA)
-
20
“丸(〇/○/◯)”に似た文字…
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessの帳票フォームで重複デ...
-
アクセスのテーブルを分ける理...
-
Access2021 「ISNULL関数には引...
-
usingの意味がわからないのですが
-
SQL EXISTS演算子について
-
あるフィールドの最大値を条件...
-
accessについて
-
請求先
-
accessでの請求管理について
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Accessでテーブルの値をテキス...
-
SUBSTRING 関数に渡した長さの...
-
デザインビューで、連結式 を...
-
「直需」の意味を教えてください
-
Accessでテーブル名やクエリ名...
-
Accessで数値型にNULLをInsert...
-
Accessで、固定アルファベット+...
-
Accessのリンクテーブルのパス...
-
ACCESSのクエリで集計で、先頭...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるフィールドの最大値を条件...
-
usingの意味がわからないのですが
-
Accessフォーム全レコードをPDF...
-
Accessの帳票フォームで重複デ...
-
Access2021 「ISNULL関数には引...
-
MS ACCESS 商品価格変更時の該...
-
アクセスのテーブルを分ける理...
-
accessでの請求管理について
-
ACCESS VBA クエリを開く
-
【Accessクエリ】存在しないデ...
-
accessでのフォームの連携について
-
SQL EXISTS演算子について
-
accessについて
-
曜日を表す項目
-
フィールド名が取得したい
-
Accessでクエリの作成、多対1対...
-
集計結果を別テーブルに更新ク...
-
Accessについて(DLOOKUP関数、...
-
正規化すると遅くなるというの...
-
Excelで重複する情報に番号を付...
おすすめ情報
ご回答ありがとうございます。
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)
こちらのエラーについて何かわかるでしょうか?