公式アカウントからの投稿が始まります

お世話になります。
Access2000で作成しております。

下記のテーブルAがあります。
名前1とタイム1,名前2とタイム2をセットにして、
テーブルBを作成したいのですが、
どのようにすれば作成できるでしょうか?

可能でしたら、「クエリ」で、説明難しければ「SQL」で
教えていただければと思います。
※SQLの場合は、クエリに変換して使用します。
----テーブルA----
番号 名前1 名前2 名前3 タイム1 タイム2 タイム3
1 山田 田中  佐藤 10 8 9
2 鈴木 木村  戸田 7  8 9

----テーブルB------
名前 タイム
山田 10
田中  8
佐藤 9
鈴木 7


--------------------

お手数ですがよろしくお願いいたします。

A 回答 (1件)

クエリではできない、と思いますが。


以下、DAOで。

Sub test80()
  Dim db As DAO.Database
  Dim rs1 As DAO.Recordset
  Dim rs2 As DAO.Recordset
  Dim i As Long

  Set db = CurrentDb
  Set rs1 = db.OpenRecordset("テーブルA")
  Set rs2 = db.OpenRecordset("テーブルB", dbOpenDynaset)

  rs1.MoveFirst
  Do Until rs1.EOF
    'コメントアウトしている部分は参考
    'rs2.AddNew
    'rs2!名前 = rs1.Fields("名前1").Value
    'rs2!タイム = rs1.Fields("タイム1").Value
    'rs2.Update
    'rs2.AddNew
    'rs2!名前 = rs1.Fields("名前2").Value
    'rs2!タイム = rs1.Fields("タイム2").Value
    'rs2.Update

    For i = 1 To 2
    rs2.AddNew
    rs2!名前 = rs1.Fields("名前" & i).Value
    rs2!タイム = rs1.Fields("タイム" & i).Value
    rs2.Update

Next i


    rs1.MoveNext
  Loop

  rs1.Close: Set rs1 = Nothing
  rs2.Close: Set rs2 = Nothing
  db.Close: Set db = Nothing
End Sub
    • good
    • 0

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