PDA

Vollständige Version anzeigen : Formatproblem nach Überleitung aus Excel


Gast
27.10.2003, 18:17
Hallo Forum!

Ich habe Daten von Excel in eine AccessDB gespielt.
Ein Datumswert wird in Excel berechnet. Nach der Überleitung steht überall
31.12.1899.

Kann mir da jemand helfen wie ich das wirkliche Datum reinbekomme.
Muß ich im Code mit CDate arbeiten?

Mein Code:
Sub VonExcelNachAcess()

Dim Con As ADODB.Connection
Dim RecS As ADODB.Recordset
Dim Zeile As Long
' On Error GoTo Errorhandler

'Die Verbindung zu Access wird erstellt
Set Con = New ADODB.Connection
Con.Open "Provider=Microsoft.jet.OLEDB.4.0;" & _
"Data Source=S:\Persönliche Ordner\Severa\TESTBOARD.mdb;"

'Einen neuen Datensatz einfügen
Set RecS = New ADODB.Recordset

'Alle Datensätze in Tabelle
RecS.Open "tblPlanung", Con, adOpenKeyset, _
adLockOptimistic, adCmdTable

'Ab der 16. Zeile übertragen
Zeile = 16

'For a = 1 To 2
'Wiederholen bis eine leere Zeile gefunden wird
For i = 2 To 193
With RecS
.AddNew 'Einen neuen Datensatz erstellen
'Werte hinzufügen
.Fields("Bezeichnung") = Range("A" & Zeile).Value
.Fields("Konto") = Range("B" & Zeile).Value
.Fields("Kontobezeichnung") = Range("C" & Zeile).Value
.Fields("Datum") = Range("D" & Zeile).Value
.Fields("Kostenstelle") = Range("E" & Zeile).Value
.Fields("Mitarbeiteranzahl") = Range("F" & Zeile).Value
.Fields("Betrag") = Range("G" & Zeile).Value

.Fields("Liquidität") = Range("H" & Zeile).Value / DIESER
DATUMSWERT!

.Fields("Datum Liquidität") = CDate(Range("I" & Zeile).Value)
.Fields("Land") = Range("J" & Zeile).Value
.Fields("Mandant") = Range("K" & Zeile).Value
.Update
End With
Zeile = Zeile + 1 ' Nächste Zeile
Next i
'Next a


MsgBox "Der Export ist erfolgreich abgeschlossen"

RecS.Close
Set RecS = Nothing
Con.Close
Set Con = Nothing

Exit Sub

'Errorhandler:
'MsgBox "Die Prozedur ist fehlgeschlagen!"
End Sub

Danke Thomas

Nouba
27.10.2003, 18:41
einfacher und schneller dürfte es gehen, indem man den Bereich im Excel-Blatt benennt und mit der TransferSpreadsheet-Methode die Daten in eine Tabelle schaufelt.

Könnte es sein, dass nicht alle Datumsfelder ausgefüllt sind?

Gast
27.10.2003, 18:51
nein, steht überall ein datum drinnen.