vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Textdatei bearbeiten 
Autor: Noura
Datum: 03.12.01 09:14

Hallo zusammen!
Also,ich habe einen Code geschrieben mit dem ich ein Textdatei aus einer seriellen Schnittstelle auslesen kann ,diese Textdatei wird automatich in c:Test abgelegt ,hat 41 Zeilen und sie sieht so aus:
CHESTER;P2-G;045;1;945,7;18,36;1,94;
CHESTER;P2-G;045;2;931,3;18,81;2,02;
CHESTER;P2-G;045;3;934,5;17,57;1,88;
Auf der anderen Seite will ich diese Daten in verschiedenen Datenfeldern in 4 Tabellen
unterbringen.Diese Tabellen sind schon in einer Datenbank vorhanden.Jetzt will CHESTER in das Datenfeld "TabacName" der Tabelle Tabacsorte
P2-G in das Datenfeld "MaschName" der Tabelle tblMaschinen
045 in das Datenfeld "VersuchBez" der Tabelle tblVersuche
in der Tabelle tblMesswerte habe ich 4 Datenfeldern
" mwProbenNr "," "mwmittelgewicht"," mwStdAbw "," mwVC" und da will ich die Daten :
1;945,7;18,36;1,94;
2;931,3;18,81;2,02;
3;934,5;17,57;1,88; und das geht bis Zeile 41
einfügen.
Mein Code:
Public Sub Read()
Dim db As Database
Dim rstab As Recordset
Dim rsmasch As Recordset
Dim rsvers As Recordset
Dim rsmess As Recordset
Dim sSatz As String
Dim inSorte As String
Dim inMasch As String
Dim inPar As String
Dim inprob As String
Dim inmitgew As String
Dim instd As String
Dim invc As String
Dim i As Integer
Dim F As Byte

Set db = CurrentDb

Set rstab = db.OpenRecordset("Tabacsorte")
Set rsmasch = db.OpenRecordset("tblMaschinen")
Set rsmess = db.OpenRecordset("tblMesswerte")
Set rsvers = db.OpenRecordset("tblVersuche")

F = FreeFile()

Open "c:Testsource.txt" For Input As #F
While Not EOF(1) And i <= 41 'einschließlich Zeile 41
Line Input #F, sSatz
i = i + 1
inSorte = Left(sSatz, InStr(sSatz, ";") - 1)
sSatz = Right(sSatz, Len(sSatz) - InStr(sSatz, ";"))
inMasch = Left(sSatz, InStr(sSatz, ";") - 1)
sSatz = Right(sSatz, Len(sSatz) - InStr(sSatz, ";"))
inPar = Left(sSatz, InStr(sSatz, ";") - 1)
sSatz = Right(sSatz, Len(sSatz) - InStr(sSatz, ";"))
inprob = Left(sSatz, InStr(sSatz, ";") - 1)
sSatz = Right(sSatz, Len(sSatz) - InStr(sSatz, ";"))
inmitgew = Left(sSatz, InStr(sSatz, ";") - 1)
sSatz = Right(sSatz, Len(sSatz) - InStr(sSatz, ";"))
instd = Left(sSatz, InStr(sSatz, ";") - 1)
sSatz = Right(sSatz, Len(sSatz) - InStr(sSatz, ";"))
invc = Left(sSatz, InStr(sSatz, ";") - 1)

rsmess.AddNew
rsmess("mwProbennr") = inprob
rsmess("mwMittelgewicht") = inmitgew
rsmess("mwStdAbw") = instd
rsmess("mwVC") = invc
rsmess.Update
Wend

rstab.AddNew
rstab("Tabacname") = inSorte

rstab.Update

rsmasch.AddNew
rsmasch("MaschName") = inMasch
rsmasch.Update

rsvers.AddNew
rsvers("VersuchBez") = inPar
rsvers.Update

Close #F

rsmess.Close
rstab.Close
rsmasch.Close
rsvers.Close
db.Close

End Sub
Mein Probleme: Da eine 1:n Beziehung mit referentieller Integrität zwischen den Tabellen definiert wurde , werden
nach dem Ausführen nur die Datenfelder "Tabacname"und "MaschName" aktualisiert
Die Anderen Datenfelder in den Tabelle "tblVersuche" und "tblmesswerte" werden nicht
aktualisiert
Ich hoffe daß mir jemand helfen kann,für jede Hilfe bin ich sehr Dankbar.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Textdatei bearbeiten71Noura03.12.01 09:14
Re: Textdatei bearbeiten40Noura03.12.01 11:36

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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