
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ランキング
-
ファミリーマートのATM手数料に...
-
~「処理」を英語で?
-
ループで呼び出しながら、追加...
-
楽天より以下のショートメッセ...
-
楽天のメールで、 「普段ご利用...
-
楽天で購入して到着した商品の...
-
楽天カードのポイントって嘘で...
-
楽天カードの不正利用のメール...
-
楽天カードを使っているのです...
-
間違ったメールアドレスに、個...
-
楽天市場で買いたいものが2つあ...
-
ぷりんと楽譜で購入した楽譜を...
-
楽天市場で買い物後、登録して...
-
楽天ショップが勝手にメルマガ...
-
楽天で買い物をした後、大量の...
-
旧SANNET(プロパイだー)サービ...
-
ネット通販で商品購入時、メー...
-
買い物をしたら迷惑メールが増える
-
NTT-X Storeの名前は未来永劫消...
-
カレンダーアプリのジョルテを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファミリーマートのATM手数料に...
-
Excelで締切日から何日経過して...
-
ループで呼び出しながら、追加...
-
他フィールドのデーターによっ...
-
YouTubeのライブ配信でスパチャ...
-
~「処理」を英語で?
-
韓国美容協会 代表 藤山さん
-
サンプル数について、約1,000
-
特別定額給付金って、最速3日程...
-
ロリポップのお試し期間と入金...
-
excilのセルで
-
JTBやHISの旅行代理店の旅行代...
-
LINEに振り込んだ金はどうやっ...
-
【知人のウソ?】補助金による...
-
アダルトサイトのワンクリック...
-
育児休業給付金についてお願い...
-
ワンクリック詐欺
-
先程iTunesカード1500円分を購...
-
出会い系サイトやめたい
-
過払い金
おすすめ情報