insert into fejl i VBA
Hej alleJeg har lavet følgende kode til at smide data fra et excelark over i en access database via DAO
Bemærk at ColumnOffsetEND er 3 i dette eks.
Sub SAVE_MACRO_TABLE(RowOffsetEND As Integer, ColumnOffsetEND As Integer)
Dim tmpStr As String
Dim ACCESSTABLES As Variant
Dim QQ1 As String
Dim QQ2 As String
Dim QQ3 As String
Dim RowOffset As Integer
Dim ColumnOffset As Integer
Dim rSQL As Range
Set rSQL = Range("MACRO_ID")
'Åbner Access databasen
Call ACCESS_START
For RowOffset = 1 To RowOffsetEND
QQ1 = "ID, MACRO_NAME, HISTORY_STAT, DATE"
QQ2 = "INSERT INTO MACRO_TABLE ( " + CStr(QQ1) + " ) VALUES ("
tmpStr = "'" + CStr(rSQL.Offset(RowOffset, 0))
For ColumnOffset = 1 To ColumnOffsetEND
tmpStr = tmpStr & "', '" + CStr(rSQL.Offset(RowOffset, ColumnOffset))
Next ColumnOffset
QQ3 = QQ2 + tmpStr + "');"
db.Execute (QQ3)
Next RowOffset
'Lukker Access databasen
Call ACCESS_SLUT
End Sub
Makroen virker fint med text, men lige så snart at jeg tager date kolonnen med hvor jeg ønsker date/time vist som et nr, f.eks. 38294.5093287037 skal gemmes i accesskolonnen DATE, så får jeg følgende fejlmeddelelse:
"Run-time error '3134'
Syntax error in INSERT INTO Statement"
Mit field i access ser ud på følgende måde:
Field Name: Date
Data Type: Number
Field Size: Double
Format:
Decimalplaces: Auto
Hvad er der galt med feltet siden den ikke kan tage imod tal-data?