Access VBAについて教えてください。

Access VBAについて教えてください。 下記のように、itemテーブルとsitenテーブル、uriageテーブルを用意し、itemテーブルをuriageテーブルにインサートしようとしております。その際に、itemテーブルのitem列をuriageテーブルのitem列に、itemテーブルのplace列をsitenテーブルのnumberに変換して、uriageテーブルのsiten_number列に入れたいのですが、どのように記述すればよいかわかりません。インサートの方法としては、今のところAddnew loopという方法で行っています。また、検索したところ、itemテーブルのplace列とsitenテーブルのplace列をDLookup関数を使い、参照するのではないかと思いますが、上手くいかなかったため、教えていただきたいです。よろしくお願い致します。 itemテーブル number/item/place 1/のり /東京支店 2/シャープペンシル/大阪支店 3/ホッチキス/名古屋支店 sitenテーブル number/place 1/東京支店 2/大阪支店 3/名古屋支店 uriageテーブル item/siten_number

ベストアンサー

0

図の様な追加クエリでuriageテーブルに追加する場合です。 Sub sample() DoCmd.RunSQL "INSERT INTO uriage ( item, siten_number ) SELECT item.item, siten.number FROM item INNER JOIN siten ON item.place = siten.place;" End Sub このままでは警告が出るので警告を抑制する場合です。 Sub sample() DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO uriage ( item, siten_number ) SELECT item.item, siten.number FROM item INNER JOIN siten ON item.place = siten.place;" DoCmd.SetWarnings True End Sub uriageテーブルは一番下の図の様になります。

画像

ThanksImg質問者からのお礼コメント

詳しく記述していただきましてありがとうございました。

お礼日時:9/27 16:21