Microsoft Access 掲示板

テーブルにある1つのフィールドを>区切りで別テーブルにしたい。

5 コメント
views
4 フォロー

いつも大変お世話になっています。
office365 access

テーブル1
フィールド名:タグ

タグの中には 1レコードの中に
<ああああ>
<iiii>
<h=hhh>
<ああああ>
<a href="" >

などさまざまな <> で挟まれたテキストが改行で区切られ入っています。

こちらを
テーブル2
フィールド名:カッコリスト
<ああああ> これだけで 1行のフィールドとして
<iiii>   
<h=hhh>
<ああああ>
<a href="" >

5レコードのテーブルにしたい。
(ちなみに実際は数万のレコードになります)

文章が下手で申し訳ございませんが、どなたかお分かりになれば教えていただきたくよろしくお願いします。

laa
作成: 2022/11/04 (金) 18:06:24
最終更新: 2022/11/04 (金) 18:07:54
通報 ...
1
りんご 2022/11/04 (金) 20:01:41 c564b@0e907

 Wordに出力するなり、コピーする。そして、表を解除し、文字列置換の後、何やかんやでAccessに戻します。

3

りんご様

4

りんご様
ご返信をいただきましてありがとうございます。
ワードなどに貼り付けもやってみたいのですが、数が多いのと
フィールド内にダブルクオーテションがあったりでうまく出来ませんでした。

2

下記でどうでしょう。

Public Sub SplitRecord()
    Dim rs1 As DAO.Recordset, rs2 As DAO.Recordset
    Set rs1 = CurrentDb.OpenRecordset("テーブル1", dbOpenForwardOnly, dbReadOnly)
    Set rs2 = CurrentDb.OpenRecordset("テーブル2", dbOpenTable, dbAppendOnly)
    
    Dim ary As Variant, i As Long
    Do Until rs1.EOF
        ary = Split(rs1!タグ, vbCrLf)
        For i = 0 To UBound(ary)
            rs2.AddNew
            rs2!カッコリスト.Value = ary(i)
            rs2.Update
        Next
        rs1.MoveNext
    Loop
    
    rs1.Close
    rs2.Close
End Sub
5

hatena様
大変お世話になっています。
無事思っていたようにテーブルにカッコリストを作る事が出来ました。

いつも丁寧にお教えいただき本当に感謝しています。
ありがとうございます。