Also: Den ersten Wert gibt er zurück( "EKNr = Erlöskontennummer") , beim 2 Wert sagt er halt: Item Cannot be found und bricht ab. Wenn ich nur ("Konto") hinschreibe, dann kommt es vor das er mir Werte aus der anderen Tabelle liefert.
Ich poste mal zur Sicherheit den kommletten AbfrageString
Public Sub ArtikelLaden()
Dim Db As New ADODB.Connection
Dim r1 As New ADODB.Recordset
If AccessConn = True Then
Db.Provider = "Microsoft.Jet.OLEDB.4.0"
Db.ConnectionString = DBPfad
Db.Open
Else: Db.Provider = "SQLOLEDB.1"
Db.ConnectionString = JDBConnect
Db.Open
End If
r1.ActiveConnection = Db
r1.CursorLocation = adUseClient
r1.LockType = adLockOptimistic
r1.Source = "SELECT tbl_Artikel.ArtikelNr, tbl_Artikel.Artikelbezeichnung," & _
"tbl_Artikel.EK, " & _
" tbl_Artikel.VK, tbl_Artikel.idUSTNr, tbl_Artikel.idEKNr," & _
"tbl_Artikel.idKKNr, " & _
" tbl_Artikel.Mengenart, tbl_Artikel.idLFNr," & _
"tbl_MengenArt.MengenArt," & _
" tbl_Kostenkonten.KKNr, tbl_Kostenkonten.Konto, tbl_UST.UST," & _
"tbl_Erlöskonten.EKNr, " & _
" tbl_Erlöskonten.Konto, tbl_Lieferanten.LieferantNr," & _
"tbl_Lieferanten.Lieferant," & _
" tbl_Artikel.idANr " & _
" FROM tbl_Lieferanten INNER JOIN (tbl_Erlöskonten INNER JOIN (" & _
"tbl_Kostenkonten " & _
" INNER JOIN (tbl_UST INNER JOIN (tbl_Artikel INNER JOIN" & _
"tbl_MengenArt " & _
" ON tbl_Artikel.Mengenart = tbl_MengenArt.idMArt) " & _
" ON tbl_UST.idUSTNr = tbl_Artikel.idUSTNr) " & _
" ON tbl_Kostenkonten.idKKNr = tbl_Artikel.idKKNr) " & _
" ON tbl_Erlöskonten.idEKNr = tbl_Artikel.idEKNr) " & _
" ON tbl_Lieferanten.idLFNr = tbl_Artikel.idLFNr " & _
" WHERE (((tbl_Artikel.idANr)= '" & Me.idANr & "'));"
r1.Open
If AnzahlDaten(r1) > 0 Then
With r1
txtArtikelnr = Nz(!ArtikelNr, "")
txtArtikel = Nz(!Artikelbezeichnung, "")
txtEK = Nz(!EK, 0)
txtVK = Nz(!VK, 0)
idUSTNr.Text = Nz(!idUSTNr, 16)
idANr.Text = Nz(!idANr, "")
idEKNr.Text = Nz(!idEKNr, "")
idKKNr.Text = Nz(!idKKNr, "")
idLFNr = Nz(!idLFNr, "")
cmbUST = Nz(!UST, "")
If AccessConn = True Then
idMArt.Text = Nz(r1.Fields("tbl_Artikel.Mengenart").Value, "")
cmbMArt = Nz(r1.Fields("tbl_MengenArt.MengenArt").Value, "")
cmbEKNr = Nz((r1.Fields("EKNr").Value) & " - " & (r1.Fields( _
"tbl_Erlöskonten.Konto").Value), "")
cmbKKNr = Nz((r1.Fields("KKNr").Value) & " - " & (r1.Fields( _
"tbl_Kostenkonten.Konto").Value), "")
Else:
idMArt.Text = Nz(r1.Fields[u]("tbl_Artikel.Mengenart").Value, _
"")
cmbMArt = Nz(r1.Fields[u]("tbl_MengenArt.MengenArt").Value, "")
cmbEKNr = Nz((r1.Fields("EKNr").Value) & " - " & (r1.Fields[u]( _
"tbl_Erlöskonten.Konto").Value), "")
cmbKKNr = Nz((r1.Fields("KKNr").Value) & " - " & (r1.Fields[u]( _
"tbl_Kostenkonten.Konto").Value), "")
End If
cmbLF = Nz((r1.Fields("LieferantNr").Value) & " - " & (r1.Fields( _
"Lieferant").Value), "")
End With
End If
r1.Close
Set r1 = Nothing
End Sub Der Fett markierte Teil, deutet da nur an, bei welcher Verbindung, er wie die Daten einladen soll (Access oder SQL-Server). Bei den unterstrichenen Werten gibt er jeweils die Fehlermeldung aus.
Hoffe ihr könnt mir weiterhelfen. DANKE!! |