| |

Fortgeschrittene ProgrammierungBitte um Hilfe | |  | Autor: Noura | Datum: 04.12.01 10:41 |
| Hallo Leute ,ich daß mir jemand helfen kann ,ich bin seit 2 Tagen dabei;Es will einfach
nicht klappen;Also ,ich habe eine Datenbank mit 4 Tabellen erstellt,die zunächst leer sind und sie sollen mit Daten aus einer Textdatei gefüllt werden;ich habe auch 1:n Beziehungen mit referentieller Integrität zwischen den Tabellen definiert
tblMaschinen |( 1------------ n )|tblVersuche |(1-------------- n)|tblMesswerte
/ n
tblTabacsorte 1-------------------------/
Also zwischen Tabacsorte und tbl Versuche auch eine 1:n Beziehung.Meine Textdatei 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; ( hat 41 Zeilen)
tblTabacsorte enthält 2 Spalten:TabacID und Tabacname
tblVersuche enthält 4 Spalten:VersuchsID ,VersuchBez,VersuchMach,VersuchTabac
tblMaschnen enthält 2 Spalten:MaschID und MaschName
tblMesswerteethält 5 Spalten:
mvMessw;mwVersuchID;mwProbennr;mwMittelgewicht;mwStdAbw;mwVC
Mit dem folgeneden Code wird 41 mal CHESTER in Tabacname eingetragen
und 41 mal P2-G in MaschName und 41 mal 045 in VersuchBez und die restlichen Daten in tblMesswerte.Ich will aber daß CHESTER ,P2-G und 045 nur einmal in die entsprechenden Spalten der jeweiligen Tabellen eingefügt werden und die restlichen Daten halt in 41 Zeilen in tblMesswerte geschrieben werden;Hier ist 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
Dim x As Integer
Dim y As Integer
Dim z As Integer
i = 1
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:Testdestination.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)
rstab.AddNew
rstab!Tabacname = inSorte
x = rstab!TabacID
rstab.Update
rsmasch.AddNew
rsmasch!MaschName = inMasch
'jetzt den Wert des Datenfeld MaschID in Tabelle tblMaschinen auslesen und einer Variable y zuweisen
y = rsmasch!MaschID
rsmasch.Update
rsvers.AddNew
rsvers!VersuchBez = inPar
'jetzt den Wert des Datenfeld VersuchID in Tabelle tbl versuche auslesen und einer Variable z zuweisen
'z = rsvers!VersuchsID
rsvers!VersuchTabac = x 'DF VersuchTabac =x
rsvers!VersuchMasch = y 'DF VersuchMasch = y
z = rsvers!VersuchsID
rsvers.Update
rsmess.AddNew
rsmess!mwVersuchID = z
rsmess!mwProbennr = inprob
rsmess!mwMittelgewicht = inmitgew
rsmess!mwStdAbw = instd
rsmess!mwVC = invc
rsmess.Update
Wend
'rstab.Update
'rsmasch.Update
'rsvers.Update
Close #F
rstab.Close
rsmasch.Close
rsvers.Close
rsmess.Close
db.Close
End Sub
Bitte Kann mir jemand mal helfen,für jede Hilfe bin sehr Dankbar.
ich danke euch schon mal
MfG Noura |  |
 | 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 |
  |
|
sevAniGif (VB/VBA) 
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|