
お尋ねします。
OSはXP、ACCESS2002でDB作成中です。
ADOで選択クエリを開きたいのですが、エラーが出てうまくいきません。
Dim cnc As New ADODB.Connection
Dim rst As New ADODB.Recordset
Set cnc = CurrentProject.Connection
stSQL = "Q_残高計算"
rst.Open stSQL, cnc
・・・・・・・・・・・・・・・・・・・・・・・
上記のコードで、”Q_残高計算”という選択クエリを開きたいのですが、実行すると、
「実行時エラー'2147217900(80040e14)':
SQLステートメントが正しくありません。'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、または'UPDATE'を使用してください。」
というエラーメッセージが出てしまいます。
どこがまずいのでしょうか?
よろしくお願いします。
No.3
- 回答日時:
「Q_残高計算」はパラメータを使用していますか?
外部パラメータを必要とするクエリの場合は、それを指定する必要があります。
例)
cmd.CommandText = "Q_残高計算"
cmd.Parameters.Append cmd.CreateParameter("param", adVarChar, adParamInput, 4, "TEST")
Set rst = cmd.Execute
回答ありがとうございます。
ご指摘のとおりパラメータクエリです。
フォームから
・「開始日」と「終了日」を入力
・「仕入先」をコンボボックスで選択
して仕入先別の取引台帳を表示させたいのです。
SQLは次の通りです。
SELECT Sum([数量]*[単価]*1.05) AS 仕入計, Sum([支払金額]) AS 支払計
FROM (T_外部取引 LEFT JOIN T_物品マスター ON T_外部取引.物品ID = T_物品マスター.物品ID) INNER JOIN T_業者繰越残高 ON T_外部取引.仕入先ID = T_業者繰越残高.仕入先ID
WHERE (((T_外部取引.仕入先ID)="04") AND ((T_外部取引.納品日) Between [Forms]![F_台帳表示]![開始日]and [Forms]![F_台帳表示]![開始日])) OR (((T_外部取引.仕入先ID)="04") AND ((T_外部取引.支払日) Between [Forms]![F_台帳表示]![開始日]and [Forms]![F_台帳表示]![開始日]));
おわかりのように、取引テーブル(T_外部取引) と物品テーブル(T_物品マスター)、繰越テーブル(T_業者繰越残高)の3つのテーブルを結合し、仕入先IDと指定した期間をもとに仕入・払出取引を抽出し、それぞれの合計を求めるものです。
パラメータの指定は「開始日」「終了日」「仕入先」の3つが必要なのでしょうか。
No.2
- 回答日時:
これではだめですか?
------------------------------------
Dim cnc As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim cmd As New ADODB.Command
Set cnc = CurrentProject.Connection
cmd.ActiveConnection = cnc
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "Q_残高計算"
Set rs = cmd.Execute
やってみましたが、下記エラーが出ました。
「実行時エラー '-2147217904 (80040e10)':
パラメータが少なすぎます。1を指定してください。」
どういう意味なのでしょうか。
アドバイスをいただけますか。
No.1
- 回答日時:
オブジェクトとしてのクエリ「Q_残高計算」を開くことはできるのですか?
できないならば、そこからデバッグですね。
できるのならば、コピー&ペーストで半角英数文字のみでクエリ名を作成してみるとVBAで開けますか?
すべて英文字の「zan」という名前にしてやってみましたが、下記エラーメッセージが出てデバッグ画面になります。
「実行時エラー '-2147217904 (80040e10)':
パラメータが少なすぎます。1を指定してください。」
どうすればいいのか、アドバイスを頂けないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでeのマイナス乗の計算...
-
コンピューターで2進法が採用...
-
SQLServerで変数を含んだ数式の...
-
FileMaker7 の日付関数の使い方
-
Excel 隣のセルが空白以外の場...
-
Access2000クエリで、起算日か...
-
accessからsqlserverへの移行に...
-
SQL JOIN結果での計算と端数処理
-
アクセスのレコードが計算され...
-
CFLOOPで計算させたいのですが
-
ファイルメーカーで正方形の対...
-
VBAでエクセルシートを更新...
-
マクロボタンを押すと、ファイ...
-
回覧板の日付について質問です...
-
「24日の0時」って・・・
-
エクセルで最高値、最低値の日...
-
「時間」、「期日」、「日付」...
-
日付の大小の表現
-
Excel関数 「日付を入力...
-
エクセルで数字から名前に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 隣のセルが空白以外の場...
-
コンピューターで2進法が採用...
-
アクセスである時点での年齢を...
-
【ACCESS】未定義関数が発生。...
-
ACCESSでの時間外計算方法
-
計算結果をCASE WHENで判断した...
-
ファイルメーカーで小数点以下...
-
ACCESS で深夜計算
-
エクセルで四捨五入ではなく、5...
-
ACCESSのバグ?
-
エクセルでeのマイナス乗の計算...
-
ファイルメーカーで学年を表示...
-
Mysql 誕生日順に並べたい
-
チェックデジットを付加したデ...
-
ファイルメーカーで時間の表示...
-
ファイルメーカーPro7での経過...
-
SQL Server での小数点以下の「...
-
アクセスについて
-
Accessで子供の学年齢を求めた...
-
SQLServerで変数を含んだ数式の...
おすすめ情報