vielen dank für die antwort und die kleinen Korrekturen 
Huhu
Hallo Patric,
hab folgendes Problem:
Naja schauen wir einmal 
Aber vorerst mal eine Frage. Warum verwendest du DAO anstatt
ADO?
ich kenne mich mit vb und vba leider überhaupt nicht aus, ich habe lediglich gute grundkenntnisse in c und c++, ich hatte auch mal einen access mit vba crashcurs aber ist leider schon fünf jahre her 
ich habe damals dao gelernt und kenne ado leider noch nicht. ist jetzt meine erste Datenbank seit dem besagten Kurs.
Mit DAO habe ich schon sehr lange nichts mehr zu tun gehabt,
aber dennoch wollen wir mal schauen 
Dim DB As DAO.Database
Dim Abfrage As DAO.QueryDef
Dim str As Variant
Dim strSQL As String
Soweit schaut es gut aus!
Set DB = OpenDatabase(Laufwerkpfad)
Was ist Laufwerkpfad? Eine Function? Eine Variable? Wenn ja wo
ist sie declariert?
Laufwerkpfad ist eine globale funktion die einen string zurück gibt.
ich verwende sie in allen Formulare um die datenbank objekte zu erstellen.
str = „35391100 187533 6“
Die Variable Str ist vonm Typ Variant! Du weisst ihr aber ein
String zu. Warum declarierst du sie nicht als String?
Selbst und wenn würde ich die Zuweisung wiefolgt machen
str=cstr(„35391100 187533 6“)
strSQL = „SELECT Einsatz.SeriennummerTel,
Einsatz.SeriennummerSIM, Einsatz.Einsatzort, Einsatz.Von,
Einsatz.Bis, Einsatz.Bearbeiter FROM einsatz WHERE
(((Einsatz.SeriennummerTel)=str));“
Auch hier liegt schon ein Fehler vor!
Du stellst einen Vergleich. Du hast aber die Variable als
Variant declariert!
Welchen Typ hat denn das Feld Einsatz.Seriennummer?
Desweiteren willst du Strings vergleichen so setzt man die
immer in '!
Auch hast du hier die Möglichkeit, wenn es sich um einen
Stringvergleich handelt das du das = durch den Operator Like
ersetzen kannst!
In deinem Falle wäre es dann so!
strSQL = „SELECT
Einsatz.SeriennummerTel,Einsatz.SeriennummerSIM,
Einsatz.Einsatzort, Einsatz.Von,Einsatz.Bis,
Einsatz.Bearbeiter FROM Einsatz WHERE Einsatz.SeriennummerTel
Like '“ & str & „’;“
Set Abfrage = DB.CreateQueryDef(„tempAbfrage“, strSQL)
Ich glaube hier liegt der Hund begraben! Du musst eine
Variable übergeben die den Namen für die Pass Trough
beinhaltet.
Probiere mal folgendes
Dim AbfrageName as String
Abfragename=„TempAbfrage“
Set Abfrage=db.CreateQueryDef(Abfragename,strSql)
du hast recht genau ihr liegt er begraben in dieser zeile tritt auch der besagte laufzeitfehler ‚7874‘ auf.
ich habe den code jetzt richtig gestellt aber leider kommt die fehlermeldung immer noch 
DoCmd.OpenQuery Abfrage.Name
Auch hier musst du den Abfragename angeben, der erstellten
Pass Trough Abfrage!
Was ist Abfrage für ein Object?
Was ist Name für ein Object?
Auch musst du mal schauen. Name ist sicherlich ein
reserviertes Wort!
Unter VB ist es zumindest so!
DB.QueryDefs.Delete „tempAbfrage“
Auch hier übergebe mal lieber eine Variable!
Abfragename =„TempAbfrage“
db.QueryDefs.Delete Abfragename
DB.Close
Soweit ok
Abfrage.Close
Auch Ok
DoCmd.Close
Auch Ok
ich bekomme immer die Meldung:
„laufzeitfehler ‚7874‘:
Microsoft Access kann das Objekt „tempAbfrage“ nicht finden“
In welcher Zeile tritt denn der Fehler auf?
kann mir jemand sagen warum der Code nicht funktioniert?
siehe oben 
Wie gesagt. Meine Aussagen sind auf VB zutreffend. Sollte aber
in deinem Falle auch stimmen.
MfG
hast du noch eine Idee warum es nicht funktioniert?
hier der korrigierte quelltext:
Dim DB As DAO.Database
Dim Abfrage As DAO.QueryDef
Dim str As String
Dim strSQL As String
Dim AbfrageName As String
Set DB = OpenDatabase(Laufwerkpfad)
str = CStr(„35391100 187533 6“)
AbfrageName = „TempAbfrage“
strSQL = „SELECT Einsatz.SeriennummerTel,Einsatz.SeriennummerSIM, Einsatz.Einsatzort, Einsatz.Von,Einsatz.Bis, Einsatz.Bearbeiter FROM Einsatz WHERE Einsatz.SeriennummerTel Like '“ & str & „’;“
Set Abfrage = DB.CreateQueryDef(AbfrageName, strSQL)
DoCmd.OpenQuery AbfrageName
DB.QueryDefs.Delete AbfrageName
DB.Close
Abfrage.Close
DoCmd.Close