1

古い C# の投稿で見つけたコードを使用して、VB.net を使用して Access に DAO 挿入を実行しています。数字を挿入するコードを実行したところ、問題なく実行されました。dateただし、ハッシュの間に a を文字列として挿入しようとすると、 Data type conversion error. 文字列/日付を受け入れるようにレコードセット フィールドのデータ型を変更する方法がわかりません。

コードは次のとおりです。

    Dim dbEngine As New dao.DBEngine
    Dim db As dao.Database = dbEngine.OpenDatabase(DataDirectoryName & DatabaseName)
    Dim rs As dao.Recordset = db.OpenRecordset(TableName)

    Dim myFields As dao.Field() = New dao.Field(FieldNames.Count - 1) {}
    For k As Integer = 0 To FieldNames.Count - 1
        myFields(k) = rs.Fields(FieldNames(k))
    Next

    dbEngine.BeginTrans()
    For i As Double = 0 To Data.Rows - 1
        rs.AddNew()
        For k As Integer = 0 To FieldNames.Count - 1
            rs.Fields(k).Value = Data.Value(k, i)
            rs.Fields(FieldNames(k)).Value = Data.Value(k, i)
            myFields(k).Value = Data.Value(k, i)
        Next
        rs.Update()
    Next
    dbEngine.CommitTrans()
    rs.Close()
    db.Close()

1 行のデータを次に示します。

(0) = "74"
(1) = "#01 February 2012 00:02:00#"
(2) = "40"
(3) = "130"
(4) = "60"

「データ」は、list (of list (of string)).

4

1 に答える 1

1

VBA は文字列の日付区切り文字を受け入れますが、たとえば #11 February 2013 20:23:11# VB.Net はそうではないようですが、MS Access の更新は受け入れます。

 rs.Fields("adate").Value = CDate("11 February 2013 20:23:11")
于 2013-02-14T14:47:02.920 に答える