vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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
Altes Problem 
Autor: Ralf
Datum: 08.11.01 10:22

Hallo,

ich habe folgenden Code:


While Not TabDBase.EOF

' Protokollnr. aus Tabelle Vorgang hohlen
strProtNr = FeldInhalt(rs2("V_nummer"))
VorgNr = FeldInhalt(rs2("Ref_Nr"))
LiefArt = FeldInhalt(rs2("Liefer_Art"))
BelArt = FeldInhalt(rs2("EIN_AUS"))

' zunächst Selektieren
strVorgNr = Left$(FeldInhalt(TabDBase("Va_Artnr")), InStrRev(FeldInhalt(TabDBase("Va_Artnr")), "-") - 1)

If Len(strVorgNr) = 4 Then
strVorgNr = " " & strVorgNr
ElseIf Len(strVorgNr) = 5 Then
strVorgNr = " " & strVorgNr
ElseIf Len(strVorgNr) = 6 Then
strVorgNr = strVorgNr
End If

PosNr = Right$(FeldInhalt(TabDBase("Va_Artnr")), 1)
SQL = "SELECT V_Nummer FROM Vorgang WHERE '" & strProtNr & "' = '" & strVorgNr & "'"

If strVorgNr <> "" Then

Set rs4 = dbAccess.OpenRecordset(SQL, dbOpenSnapshot, dbOpenForwardOnly)

If rs4.RecordCount <> 0 Then

' prüfen ob Datensatz bereits vorhanden!
strPosNr = FeldInhalt(rs3("Va_Artnr"))

SQL = "SELECT Va_Artnr FROM Vmateria WHERE " & "Va_artnr = '" & strPosNr & "'"
Set rs5 = dbAccess.OpenRecordset(SQL, dbOpenSnapshot, dbOpenForwardOnly)

If rs5.RecordCount = 0 Then
VorgNr = FeldInhalt(rs2("Ref_Nr"))
' noch nicht vorhanden!
TabAccess.AddNew
For i = 0 To TabDBase.Fields.Count - 1
TabAccess(i) = TabDBase(i)
Next i
TabAccess("ProtNr") = strProtNr
TabAccess("VorgNr") = VorgNr
TabAccess("Lieferart") = LiefArt
TabAccess("BelegArt") = BelArt
TabAccess("PosNr") = PosNr
TabAccess.Update
End If
rs2.MoveNext
End If
End If
rs5.Close
Set rs5 = Nothing
rs4.Close
Set rs4 = Nothing

strProtNr = ""
strVorgNr = ""
strPosNr = ""

rs3.MoveNext
TabDBase.MoveNext
Wend


Mit diesem Code will ich alle Positions daten aus einer DBase(TabDBase) Datei hohlen, welche der Nummer aus einer Access Tabelle (rs2) entsprechen, und sie in eine andere Accesstabelle (TabAccess) schreiben.

Das funktioniert, bestimmt geht der Code auch einfacher , eigentlich ganz gut, bis auf das Problem, das wenn die Nummer aus rs2 in der TabDbase 2 oder mehrmals vorkommt, er trotzdem nur einen nimmt. Ich vermute das Problem in der SQL anweisung, obwohl er eigentlich alle übereinstimmenden Nummern selectieren müsste, gibt er bei rs4 immer 1 zurück, eigentlich ja 2 bei 2 datensätzen, oder?

Kann mir da jemand dringend nachhelfen?

Gruss und Danke im vorraus

Ralf
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Altes Problem66Ralf08.11.01 10:22
Re: Altes Problem205unbekannt09.11.01 18:52

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