
IDをループで呼び出しながら、追加クエリでテーブルに追加したいのですが、
値が入りません。
エラーなく動くのですが、テーブルに値が入っていないのです。
何がたりないのでしょうか?
―――――――――――――
Public Sub CYUSYUTU_SEIKYUID2()
Dim CYUSYUTU_SEIKYUID As String
Dim recCount As Long
recCount = DCount("*", "作業用請求先ID")
Dim ID As String
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Dim i As Integer
Dim strSQL As String
Set DB = CurrentDb
Set RS = DB.OpenRecordset("作業用請求先ID")
RS.MoveFirst
Do Until RS.EOF
RS.Edit
For i = 1 To recCount
CYUSYUTU_SEIKYUID = RS.Fields("請求先ID(13)").Value
DoCmd.RunSQL _
"INSERT INTO [作業用_▲入金DB] SELECT * FROM ▲入金 WHERE ▲入金.請求先ID='& CYUSYUTU_SEIKYUID &';"
Next i
RS.Update
RS.MoveNext
Loop
RS.Close: Set RS = Nothing
DB.Close: Set DB = Nothing
End Sub

No.1ベストアンサー
- 回答日時:
直接の原因はここかと↓
"INSERT INTO [作業用_▲入金DB] SELECT * FROM ▲入金 WHERE ▲入金.請求先ID='& CYUSYUTU_SEIKYUID &';"
↓↓↓
"INSERT INTO [作業用_▲入金DB] SELECT * FROM ▲入金 WHERE ▲入金.請求先ID='" & CYUSYUTU_SEIKYUID & "';"
変数は""の外に出してやらないと変数として機能しません。(""内の文字列と「&」で連結します)
後は余計なお世話かもですが・・・
・Do~Loop(rs.MoveNext)で全レコード分ループさせるのでFor~Nextは不要です
・DAOで開いたレコードセット自体を更新しないのであれば、RS.EditとRS.Updateも不要です
あとは、使用していない変数がいくつか宣言されているようですが・・・
(もしコードの提示を省略しているだけで実際は使用しているとかでしたらすみません)
もし質問文内のコードが全てなのであれば、これだけで大丈夫かと思います。
Public Sub CYUSYUTU_SEIKYUID2()
Dim CYUSYUTU_SEIKYUID As String
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Set DB = CurrentDb
Set RS = DB.OpenRecordset("作業用請求先ID")
RS.MoveFirst
Do Until RS.EOF
CYUSYUTU_SEIKYUID = RS.Fields("請求先ID(13)").Value
DoCmd.RunSQL "INSERT INTO [作業用_▲入金DB] SELECT * FROM ▲入金 WHERE ▲入金.請求先ID='" & CYUSYUTU_SEIKYUID & "';"
RS.MoveNext
Loop
RS.Close: Set RS = Nothing
DB.Close: Set DB = Nothing
End Sub
まだまだ勉強中の為、ウェブからコピーしたものを使って作っていたので、余分なものが入ってました。いらないことが分かって勉強になりました。ありがとうございます。これでやりたい作業ができました!また宜しくお願いします。
No.2
- 回答日時:
ループするのは必須でしょうか
追加クエリ1つでできそうですけど
Dim sSql As String
sSql = "INSERT INTO [作業用_▲入金DB] " _
& "SELECT * FROM ▲入金 WHERE ▲入金.請求先ID IN " _
& "(SELECT [請求先ID(13)] FROM 作業用請求先ID);"
CurrentDb.Execute sSql
※ メモ帳に書いただけなので、綴りとか動作未検証
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
-
4
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
5
エラー(型が一致しません。)の対処方法
Visual Basic(VBA)
-
6
AccessのFormの設定で、開いた時に必ず最大化で表示する方法が分からず困っています
Access(アクセス)
-
7
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
8
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
複数のExcelファイルをマージす...
-
vbsでのwebフォームへの入力制限?
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
Vba セルの4辺について罫線が有...
-
エクセルの改行について
-
VBAでセルの書式を変えずに文字...
-
【マクロ】開いているブックの...
-
エクセルのマクロについて教え...
-
【ExcelVBA】値を変更しながら...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【ExcelVBA】5万行以上のデー...
-
VBA 入力箇所指定方法
-
VBA 円グラフ 特定条件に一致し...
-
ワードの図形にマクロを登録で...
-
[VB.net] ボタン(Flat)のEnable...
-
VBAの「To」という語句について
-
VBAについて教えて下さい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファミリーマートのATM手数料に...
-
Excelで締切日から何日経過して...
-
ループで呼び出しながら、追加...
-
他フィールドのデーターによっ...
-
YouTubeのライブ配信でスパチャ...
-
~「処理」を英語で?
-
韓国美容協会 代表 藤山さん
-
サンプル数について、約1,000
-
特別定額給付金って、最速3日程...
-
ロリポップのお試し期間と入金...
-
excilのセルで
-
JTBやHISの旅行代理店の旅行代...
-
LINEに振り込んだ金はどうやっ...
-
【知人のウソ?】補助金による...
-
アダルトサイトのワンクリック...
-
育児休業給付金についてお願い...
-
ワンクリック詐欺
-
先程iTunesカード1500円分を購...
-
出会い系サイトやめたい
-
過払い金
おすすめ情報