Fehler '3265' Item not found in this collection

xaelze

Mitglied
Hallo,

ich habe einen Recortset dem ich mit einem SQLBefehl setze

Code:
strsql = "SELECT * FROM dbo_NC_Workstation INNER JOIN dbo_NC_Workstation 
         As dbo_NC_Component ON dbo_NC_Workstation.WorkstationOID = dbo_NC_Component.WorkstationOID 
         WHERE dbo_NC_Workstation.MachineName LIKE '*" & PCNumber & "*' "
Set rec = db.OpenRecordset(strsql, dbOpenDynaset)

Das klappt wunder bar und er findet 280 Daten.

Ich springe dann an den Anfang des Recortsets und will dann das Attribut "MachineName " aus meiner Tabelle "dbo_NC_Workstation" ausgeben. Mit
Code:
MsgBox rec!MachineName
Da springt dann auch der Debugger hin und bringt den Runtime Fehler, dass er das Attribut nicht findet.

Komisch an der ganzen Sach ist eigentlich, wenn ich jetzt den SQLBefehl umschreibe auf
Code:
strsql = "Select * FROM dbo_NC_Workstation WHERE dbo_NC_Workstation.MachineName
          LIKE '*" & PCNumber & "*' "
Dann findet er das Attribut und gibt es aus. Sprich es kann eigentlich nur am SQL Befehl liegen ich finde den Fehler nur nicht. Oder bin ich auch mit meiner Vermutung einfach nur auf dem Holzweg und ich habe irgend wo sonst etwas übersehen oder vergessen?

Ich hoffe es kann mir jemand weiterhelfen

Danke schonmal

Gruß Alex
 
Das Problem ist das du im Join das Feld MachineName zweimal drin ist da du ja mit der gleichen Tabelle Joinst Access vergibt dann automatisch neue Feldnamen ( Kannst du dir unter Abfragen mal anzeigen lassen) demnach würde ich jedes Feld welches du in deinem SQL brauchst auch explizit angeben

bsp:
SQL:
 Select n.MachineName as NameOfMachineOne , f.MachineName As NameOfMachineTwo From dbo_NC_Workstation as F inner join dbo_NC_Workstation as n .........

Grüsse bb
 
Zuletzt bearbeitet von einem Moderator:
Zurück