SQL Update fra Excel bytter om på måned og dag
Jeg har en vba kode der henter datoer etc. fra nogle PDF filer (synsindkaldelser) - disse informationer skal så ind i en MS SQL server 2000.på serveren er feltet Synsdato sat til smalldatetime
og i excelarket står det som dd-mm-åååå
jeg har prøvet med cDate før den rammer nedenstående funktion, men den bytter om på måned og dag, så 01-07-2015 bliver til 07-01-2015 :( datoer hvor dagen er over den 12ende, kan den godt finde ud af..
jeg synes jeg har lavet alle mulige krumspring med at bygge om på formatet så det er på Engelsk etc - men går galt :(
funktionen:
Public Function SQL_Updater(ByVal Vsklbnr As String, ByVal Vsendt_til As String, ByVal VWhench As String, ByVal vsynsdato As String, ByVal vsynet As Integer) As String
Dim MyCon As New ADODB.Connection
Dim RS As New ADODB.Recordset 'til de data vi trækker ud fra recordsettet
Dim ConStr As String
Dim SQL As String
Dim y As Integer
Dim DBpath As String
Dim za As Integer
Dim SQL_2 As String
Dim x As Integer
DBpath = "d:\EBoks\eboks.mdb"
ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBpath & ";Persist Security Info=False" 'Databasen vi bruger
'MyCon.ConnectionString = ConStr
Set MyCon = New ADODB.Connection
MyCon.Open (ConStr)
SQL = "SELECT Count(SKLBNR) as Antal FROM PeriodiskSyn " & _
"WHERE PeriodiskSyn.Sklbnr = " & Vsklbnr
Set RS = MyCon.Execute(SQL)
za = RS.Fields.Item("antal") 'bruger antal til at se om der er nogen
RS.Close
MyCon.Close
If za > 0 Then
'Opdaterer eksisterende - hvis data findes
SQL_2 = "UPDATE PeriodiskSyn SET " & _
"sendt_til = '" & Vsendt_til & "'," & _
"Whench = '" & VWhench & "'," & _
"Synsdato = '" & vsynsdato & "'," & _
"Synet = '" & vsynet & "'" & _
" WHERE sklbnr = " & Vsklbnr
Else
'Sætter ind - hvis data ikke findes
SQL_2 = "INSERT INTO PeriodiskSyn (Sklbnr, Sendt_til, Whench, Synsdato, Synet) " & _
"VALUES ('" & Vsklbnr & "','" & Vsendt_til & "','" & VWhench & "','" & vsynsdato & "','0')"
End If
MyCon.Open 'åbner connection
RS.Open SQL_2, MyCon, adOpenDynamic 'åber sql'en
MyCon.Close
Log = Log & "SQLupdater " & Now & vbCrLf
End Function