| |
Visual-Basic EinsteigerTextdatei in Access97 Datenbank einlesen - Probleme mit LF und CR | | | Autor: Markus | Datum: 18.09.01 21:48 |
| Hallo,
ich versuche eine Textdatei in eine Acces97 Datenbank einzulesen.
Die Struktur der Datei ist so:
Name1 ; Name2; Name3 ; Straße ;
Leider habe ich am Ende des Datensatzes keinen CR+LF sonder nur einen LF.
Wie kann ich den LF durch CR+LF ersetzen ??
wie kann ich die Datei einlesen ???
muß ich die Semikolons durch Kommas ersetzen ?
Bin leider kein Profi,
vielen Dank für euere Hilfe
Gruß, Markus | |
Re: Textdatei in Access97 Datenbank einlesen - Probleme mit LF und CR | | | Autor: Dieter (Moderator) | Datum: 18.09.01 22:42 |
| Hi Markus,
hast Du die eigentliche Import-Routine schon erstellt?
Wie hast Du vor die Textdatei einzulesen?
Zeile für Zeile auslesen und dann per Recordset.AddNew und Recordset.Update die Daten nach Access97 übertragen?
Cu
Dieter | |
Re: Textdatei in Access97 Datenbank einlesen - Probleme mit LF und CR | | | Autor: Markus | Datum: 19.09.01 12:35 |
| Hallo,
eine Importroutine hab ich versucht, geht aber nicht, jetzt wollte ich die *.csv Datei mittels einem Markro von Access97 einlesen.
Die Datei hat ca. 20 Felder pro Datensatz, diese sind mittels Semikolon getrennt, kann man die überhaupt mit VBA einlesen ???
Kann mir da jemand helfen ?
Das nächste Problem, am Ende des Datensatzes ist nur ein LineFeed (LF) ich brauch zum einlesen aber einen LF+CR.
Vielen Dank für euere Hilfe.
Gruß,
Markus | |
Re: Textdatei in Access97 Datenbank einlesen - Probleme mit LF und CR | | | Autor: Dieter (Moderator) | Datum: 19.09.01 13:34 |
| Hallo Markus,
hier mal ein Beispiel, welches unter VB funktioniert (ob's unter VBA genauo geht - ausprobieren):
<code>Dim F As Integer
Dim sInhalt As String
Dim sTextFile As String
Dim lPos As Long
Dim sLine As String
Dim iFeldCount As Long
Dim Db As Database
Dim Rs As Recordset
<font color=green>' maximale Anzahl Felder pro Zeile</font>
Const iMaxFelder = 20
ReDim sFeld(iMaxFelder)
<font color=green>' Access-Datenbank + Tabelle öffnen</font>
Set Db = OpenDatabase("DeineMDB.mdb", False, False)
Set Rs = Db.OpenRecordset("DeineTabelle")
sTextFile = "DeineCSVDatei.csv"
<font color=green>' zunächst den gesamten Inhalt einlesen</font>
F = FreeFile
Open sTextFile For Binary As #F
sInhalt = Space$(Lof(F))
Get #F, , sInhalt
Close #F
<font color=green>' nun den Inhalt splitten (LF)</font>
Do
lPos = InStr(sInhalt, Chr$(10))
If lPos > 0 Then
sLine = Left$(sInhalt, lPos - 1)
sInhalt = Mid$(sInhalt, lPos + 1)
Else
sLine = sInhalt: sInhalt = ""
End If
<font color=green>' Nun die einzelnen Felder ermitteln</font>
iFeldCount = 0
While sLine <> ""
iFeldCount = iFeldCount + 1
lPos = InStr(sLine, ";")
If lPos > 0 Then
sFeld(iFeldCount) = Left$(sLine, lPos - 1)
sLine = Mid$(sLine, lPos + 1)
Else
sFeld(iFeldCount) = sLine: sLine = ""
End If
Wend
<font color=green>' Felder in die Datenbank speichern</font>
Rs.AddNew
Rs("Feld_1") = sFeld(1)
Rs("Feld_2") = sFeld(2)
...
Rs.Update
Loop Until sInhalt = ""
Close #F
Rs.Close
Db.Close</code> Schau's Dir mal an - probier's aus und viel Erfolg!
Cu
Dieter | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|