ich habe folgendes Problem mit ADO:
in den Tabellen "Ports" und "Aufträge" gibt es 2 mal identische Felder names "Nummer",
nur dass in der Tabelle Ports die Nummer eine andere Bedeutung hat, als in der Tabelle
"Aufträge" (siehe bei DIM). Greife ich nun per "RS.Fields" auf "Nummer" zu, bekomme ich
lediglich die Auftragsnummer aus der Tabelle "Aufträge". Wie komme ich jetzt an die
PortID (also Feld "Nummer" aus Tabelle "Ports") heran?
Sub Datenbankabfrage()
Dim Conn As New ADODB.Connection
Dim SQL As String 'SQL-Abfrage
Dim RS As Object 'Objekt mit Zuweisung auf SQL-Abfrage
Dim PortID As String 'PortID aus Tabelle "Ports"
Dim WuT As Variant 'Wunschtermin aus Tabelle "Aufträge"
Dim InstT As Variant 'Installationstermin aus Tabelle "Aufträge"
Dim FBE As Variant 'FBE-Termin aus Tabelle "Aufträge"
Dim Auftrag As String 'Auftragsnummer aus Tabelle "Aufträge"
Dim Datei As String 'Dateiname
Dim Bemerk As String 'Bemerkungen aus Tabelle "Ports"
Dim I As Long 'Zähler
I = 2
Datei = "Transfer-Tool.xls"
Conn.Open "testDB", "User", "passwort"
SQL = "SELECT * FROM Ports INNER JOIN Aufträge ON Ports.Port_ID = Aufträge.Port_ID"
Set RS = Conn.Execute(SQL)
Do Until RS.EOF
'Wert = RS.Fields("Nummer")
'On Error Resume Next
Auftrag = RS.Fields("Nummer")
PortID = RS.Fields("Ports.Nummer")
WuT = RS.Fields("Wunschtermin")
InstT = RS.Fields("Installation")
FBE = RS.Fields("Funktionsbereitschaft")
Bemerk = RS.Fields("frnr")
On Error GoTo 0
Workbooks(Datei).Sheets(2).Cells(I, 1).Value = Auftrag
Workbooks(Datei).Sheets(2).Cells(I, 2).Value = WuT
Workbooks(Datei).Sheets(2).Cells(I, 3).Value = InstT
Workbooks(Datei).Sheets(2).Cells(I, 4).Value = FBE
Workbooks(Datei).Sheets(2).Cells(I, 5).Value = PortID
RS.MoveNext
I = I + 1
Application.StatusBar = I
Loop
Conn.Close
End Sub
Grüße Stefan.