Har lavet denne funktion, som løser problemet, men hvis der er noget som er mere smart er jeg meget nysgerig.
Function DateTransform(ByVal Time As String) Dim Year As String = "" Dim Month As String = "" Dim Day As String = "" Dim hour As String = "" Dim minute As String = "" Dim second As String = ""
Year = Time.Substring(6, 4) Month = Time.Substring(3, 2) Day = Time.Substring(0, 2) hour = Time.Substring(11, 2) minute = Time.Substring(14, 2) second = Time.Substring(17, 2)
Dim bReturn As String = "" bReturn = Year & "-" & Month & "-" & Day & " " & hour & ":" & minute & ":" & second Return bReturn End Function
nielle -> jeg bruger normalt parametere og sp, i dette tilfælde skulle der bare flyttes data fra en db til en anden i et objekt uden direkte bruger adgang dertil, tænkte det gik men det gjorde det ikke :(
Fejlen kommer fordi "Update Database_2 Set TimeStart = '" & TimeStart & "'" konverterer TimeStart til en string i hht din lokale kultur, altså formentligt dd/MM/yyyy HH:mm:ss. Hvis du så tager datoen som i dag, så er det 30/8/2007 (+ noget tid) Internt kan SQL (og også Access) bedst lide formatet MM/dd/yyyy + noget tid, så med den danske culture tror den den får den ottende dag i den 30 måned, og det kan den ikke lide. Hvis man bruger et eksplicit og ENTYDIGT string format som du efterfølgende har gjort har gjort, eller f.eks. dd/MMM/yyyy HH:mm:ss , som også er entydigt, så fungerer det. Men, som Nielle siger, hvis man bruger parametre så slipper man for den slags bøvl.
Strictly speaking, så er det jo i '" & TimeStart & "' hvori der ligger en implicit typecasting, så den kunne skrives som '" & TimeStart.ToString("MM/dd/yyyy HH:mm:ss") & "' - men ikke en anbefalelsesværdig procedure:)
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.