Avatar billede meinertsen Nybegynder
03. november 2004 - 14:23 Der er 1 kommentar og
1 løsning

insert into fejl i VBA

Hej alle

Jeg 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?
Avatar billede venne Nybegynder
03. november 2004 - 14:44 #1
Det kunne måske være fordi DATE er et reserveret ord i Jet SQL. Prøv at skrive det som [DATE] i SQL'en, altså:

    QQ1 = "ID, MACRO_NAME, HISTORY_STAT, [DATE]"
Avatar billede meinertsen Nybegynder
04. november 2004 - 12:33 #2
Det var vist en 13'er. Mange tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester