
Access初心者で、独学で頑張っています。
どうしても一人で解決できないので、教えてください。
下記のようなコードを書きましたが、#1で 『PARAMETER句の構文エラーです』 となります。
Dim qd As DAO.QueryDef
Dim rs3 As DAO.Recordset
Dim mySQL As String
Set qd = CurrentDb.CreateQueryDef("")
mySQL = "PARAMETERS [ParaヘッダーID] COUNTER;"
mySQL = mySQL & "SELECT [テーブルA].[明細ID], [テーブルA].[ヘッダーID] " _
& "FROM テーブルA " _
& "WHERE ((([テーブルA].[ヘッダーID])='ParaヘッダーID'));"
With qd
.SQL = mySQL ' #1 ここで『PARAMETER句の構文エラーです』 となる
.Parameters("ParaヘッダーID") = [TempVars]![tempヘッダーID]
Set rs3 = .OpenRecordset()
End With
(この後、処理を続ける)
やりたいことは、
「テーブルA」から、「ヘッダーID」が一時変数[TempVars]![tempヘッダーID]と一致するデータを抜き出し、後続の処理に使いたいのです。
なお、ヘッダーIDは長整数型で、[TempVars]![tempヘッダーID]をウォッチで確認すると整数が入っていました。
SQLについて、いろいろ調べて試しましたが、なかなか上手く行きません。
どこが違うのかご教授お願いします。
No.1ベストアンサー
- 回答日時:
> PARAMETERS [ParaヘッダーID] COUNTER;
下記サイトを見た感じ、「COUNTER」が意味不明のような。
パラメータの型を指定するので、「Long」では。
http://office.microsoft.com/ja-jp/access-help/HP …
http://msdn.microsoft.com/ja-jp/library/office/f …
あと、クエリもちょいとおかしい感じがするので、まずはAccessのクエリ作成画面を使ったほうが学習しやすいと思います。
osamuyさん、ありがとうございます。
パラメータの型は、
http://www.nurs.or.jp/~ppoy/access/access/acEt01 …
このサイトを見て、いろいろ試してたうちの1つでした。
確かに、Longが正解でした。
また、クエリは、作成画面からSQLビューを使ったのですが、よくわからないままでした。
インターネットで調べては、コピペしながら作っているので、意味も分からず書いているコードも多々ある状況です。
今回は、osamuyさんの助言のおかげで、再度いろいろ調べて試して、やっと、この部分は解決できました。
(この先、行き詰まったら、また質問投稿させてもらいます)
一応、自分の覚書のためにも、コードを載せておきます。
助言頂き、本当にありがとうございました。
Dim qd As DAO.QueryDef
Dim rs3 As DAO.Recordset
Dim mySQL As String
mySQL = "PARAMETERS [ParaヘッダーID] Long;"
mySQL = mySQL & "SELECT [明細ID], [ヘッダーID] " _
& "FROM [テーブルA] " _
& "WHERE [ヘッダーID]=[ParaヘッダーID];"
Set qd = db.CreateQueryDef("", mySQL)
qd.Parameters("ParaヘッダーID") = [TempVars]![tempヘッダーID]
Set rs3 = qd.OpenRecordset()
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
会社の飲み会の幹事になり、座...
-
「テーブルに座って……」という...
-
【エクセル】データテーブルの...
-
データベースの接続に失敗して...
-
1つのテーブルに同じデータを参...
-
スタイルシートのテーブルについて
-
お金持ちのテーブル
-
【SQL】グループ化した際の最頻...
-
mysqlのupdate構文についての質...
-
アクセスのリンクテーブル一覧...
-
取数計算
-
AccessにおいてフィールドがN...
-
mysql alter table 終わらない
-
データベースの正規化
-
オーダーの覚え方について
-
下記、問題に対しての解答が以...
-
LAG関数に似た関数があればご教...
-
【PHP】SQL文のSUM関数で出力し...
-
AccessVBA でテーブルをインポ...
-
コンボボックスにレコードセッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
会社の飲み会の幹事になり、座...
-
「テーブルに座って……」という...
-
下記、問題に対しての解答が以...
-
L2SWはARPテーブルを持っている?
-
外部キーだけのテーブル(主キ...
-
飲み会で、座敷orテーブルどち...
-
テーブルリンク リンク元を知...
-
アクセスのリンクテーブル一覧...
-
男性と2人で飲食店に行きテーブ...
-
複雑なSQL文について
-
お金持ちのテーブル
-
オーダーの覚え方について
-
面接のときテーブルが正面に。...
-
【エクセル】データテーブルの...
-
【MySQL】1対1でテーブルをあ...
-
UTF8のテーブルをODBCドライバ...
-
テーブル(構造)のコピー
-
論理名とコメント構文(?)について
-
取数計算
-
まるいテーブル 円い 丸い 漢字...
おすすめ情報