vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 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

Allgemeine Diskussionen
nochmal ne frage 
Autor: ralf
Datum: 11.12.01 11:47

Hi

ich habe nochmal ne kleine frage. Es sollen ja aus der Tabelle alle Datensätze gelöscht werden, welche vorhanden sind. Jetzt habe ich folgenden Code:


Dim F As Integer
Dim strLine As String
Dim strRefNr As String
Dim strVorgNr As String
Dim strPos As Long
Dim arrFeld() As String
Dim arrPos(4) As String
Dim arrKfz(4) As String
Dim arrMenge(4) As String
Dim arrBez1(4) As String
Dim arrBez2(4) As String
Dim arrEGew(4) As String
Dim arrGGew(4) As String
Dim arrArtNr(4) As String
Dim n, m, msg
Dim DB As Database
Dim dbFile As String
Dim dbVorgNr As String
Dim dbSQL As String
Dim dbRS As Recordset

' Datenbank öffnen
dbFile = App.Path + "export.mdb"
Set DB = Workspaces(0).OpenDatabase(dbFile)

' Recordset öffnen
dbSQL = "SELECT * FROM Vmateria"
Set dbRS = DB.OpenRecordset(dbSQL)

F = FreeFile
Open App.Path & "position.txt" For Input As #F

While Not EOF(F)
' Zeile lesen und in die einzelnen Felder zerlegen
Line Input #F, strLine
arrFeld = Split(strLine, "#")

If UBound(arrFeld) < 42 Then GoTo Ende

strRefNr = arrFeld(0)
strVorgNr = arrFeld(1)

m = 0

For n = 0 To 4

arrPos(n) = arrFeld(2 + m)
arrKfz(n) = arrFeld(3 + m)
arrMenge(n) = arrFeld(4 + m)
arrBez1(n) = arrFeld(5 + m)
arrBez2(n) = arrFeld(6 + m)
arrEGew(n) = arrFeld(7 + m)
arrGGew(n) = arrFeld(8 + m)
arrArtNr(n) = arrFeld(9 + m)

m = m + 8

Next n

dbVorgNr = Right(strVorgNr, 5)

With dbRS
.FindFirst "VorgNr = '" & dbVorgNr & "'"

If Not .NoMatch Then
' vorhanden
.Delete
End If

If .RecordCount > 0 And Not .BOF Then .MoveLast

If Not Trim(arrArtNr(0)) = "" Then strPos = 1
If Not Trim(arrArtNr(1)) = "" Then strPos = 2
If Not Trim(arrArtNr(2)) = "" Then strPos = 3
If Not Trim(arrArtNr(3)) = "" Then strPos = 4
If Not Trim(arrArtNr(4)) = "" Then strPos = 5

For n = 1 To strPos
.AddNew
.Fields("VorgNr") = dbVorgNr
.Fields("VM_NR") = arrArtNr(n - 1)
.Fields("VA_BEZ1") = arrBez1(n - 1)
.Update
Next n

End With
Ende:
Wend

Close #F


Da ich nicht weis wieviele Positionen in der Position.txt vorhanden sind, prüf ich das entsprechend ab. Wenn ich nun in meiner Txt, in der einen Zeile, zwei Position angebe, dan liest er auch wunderbar auch 2 ein. Lösche ich nun aus meiner TXT die zweite Position wieder, dann hab ich diese Zeile aufeinmal an erster Stelle in der Datenbank.

Entweder wird falsch eingelesen oder nicht gelöscht.

Weiss jemand woran das liegen könnte

Danke und Gruss

Ralf
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
nochmal ne frage91ralf11.12.01 11:47
Re: nochmal ne frage44PsychoForest13.12.01 15:32

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