Microsoft Access 掲示板

表をアクセスに取り込みたい / 7

17 コメント
views
4 フォロー
7
セロハン 2020/10/26 (月) 13:26:33 0029a@1c915

この件と絡み、別データになるのですが、改行を外して対応したいデータについて
列数が定数のデータがあり、以前教えていただいたVBAを修正して対応できないかと考えたのですが
うまくいきません。

Private Sub AddData(tblname As String, ByRef s As String)
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim a, i As Long, j As Long
    Dim Datas

    Set db = CurrentDb
    Set rs = db.OpenRecordset(tblname)
    a = Split(s, vbNewLine)
    For i = 0 To UBound(a)
        Datas = Split(a(i), vbTab)
        rs.AddNew
        On Error Resume Next
        For j = 0 To UBound(Datas)
            rs(j) = Datas(j)
        Next
        On Error goto 0
        rs.update
    Next
End Sub

Private Sub データ追加_Click()
    Call AddData(Me.txtテーブル名, Me.txtデータ)
End Sub

以前hatena様に教えていただいたVBAです。
こちらの「UBound(a)」の部分を変数にして
下記修正してみたのですが、うまく動きません。
「インデックスが有効範囲にありません」とエラー。

Private Sub AddData(tblname As String, ByRef s As String, iUp As Long)
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim a, i As Long, j As Long
    Dim Datas

    Set db = CurrentDb
    Set rs = db.OpenRecordset(tblname)
    a = Split(s, vbNewLine)
    For i = 0 To iUp
        Datas = Split(a(i), vbTab)
        rs.AddNew
        On Error Resume Next
        For j = 0 To UBound(Datas)
            rs(j) = Datas(j)
        Next
        On Error GoTo 0
        rs.upDate
    Next
End Sub

Private Sub データ追加_Click()
    Call AddData(Me.txtテーブル名, Me.txtデータ,列数)
End Sub

スミマセン。教えていただけると助かります。

通報 ...