アプリ版:「スタンプのみでお礼する」機能のリリースについて

条件として、全く同じデータ構造のテーブルが複数ある場合、それらを一つのテーブルに追加する方法を教えてください。

すくなければ、コピー、ペーストするのですが・・・

クエリーでできればうれしいですが。

宜しくお願いいたします。

A 回答 (3件)

>く同じデータ構造のテーブルが複数ある場合


クエリの新規作成を選び選択クエリウィザードでテーブルのクエリを作ります。
そのクエリをクエリの種類で追加にし追加するテーブルを指定すればテーブル追加クエリが簡単にできます。
同様にして他のテーブルもクエリを作り追加するテーブルを指定すれば一つのテーブルに他のテーブルのレコードを追加できます。
    • good
    • 0
この回答へのお礼

ありがとうございました。

SQL文かけないので、メニュー操作でできるのはとても助かります。

お礼日時:2005/03/20 17:59

UNIONクエリがそのためのものだと思いますが、私の場合はそれぞれ違うフォルダにある同名のMDB(約30個)でテーブル名が同じ、毎月同じことをしなければならない、という条件だったので、読み込み用のmdbに同じ構造のテーブル(src_tbl)を作っておき、以下のようにしました。


適当にフォームを作り、ボタンを貼り付け、クリック時-イベントプロシージャで下記のように記述。

Private Sub コマンド0_Click()

DoCmd.TransferDatabase acLink, "Microsoft Access", "フルパスのmdb名(1)", acTable, "テーブル名", "リンク名(1)", False

DoCmd.TransferDatabase acLink, "Microsoft Access", "フルパスのmdb名(2)", acTable, "テーブル名", "リンク名(2)", False
    ・
    ・(必要なだけリンクを張る)
    ・

Dim db As Database
Dim mySQL As String

Set db = CurrentDb

mySQL = "INSERT INTO src_tbl SELECT * FROM リンク名(1)"
db.Execute mySQL

mySQL = "INSERT INTO src_tbl SELECT * FROM リンク名(2)"
db.Execute mySQL
    ・
    ・(リンクテーブルのデータをsrc_tblに読み込む)
    ・

db.TableDefs.Delete "リンク名(1)"
db.TableDefs.Delete "リンク名(2)"
    ・
    ・(リンクを消す)
    ・

db.Close

Dim ret As Integer
ret = MsgBox("処理が終了しました", vbOKOnly)

End Sub
    • good
    • 0

同じ構造のテーブルをくっつけるには、


UNIONを使います
例えば、
SELECT FIELD1, FIELD2, FIELD3
FROM TABLE1
UNION SELECT FIELD1, FIELD2, FIELD3
FROM TABLE2;
のようなクエリを作成します。
新しくテーブルにするには、
入れ物を作ってから、クエリからデータを入れられたと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す