BzudemO Geschrieben 25. April 2007 Geschrieben 25. April 2007 hallo leute! ich hab ein problem und ich komme auch mit googlen und stöbern ums verrecken nicht weiter.... könnt ihr mir vielleicht sagen, was da nicht stimmen kann?? code: Private Sub PreLaden_Click() Dim qry_1 As String txtGAANr.RowSource = "SELECT M_GA_Nr, M_Standort FROM T_GAASortTemp ORDER BY M_GA_Nr" qry_1 = "SELECT SBNr FROM tmp_Preset WHERE PreName = '" & Me.presetAusw & "'" CurrentDb.Execute (qry_1) txtGAANr = qry_1 End Sub Der name der tabelle und die enthaltenen Felder stimmen natürlich! der fehler kommt beim CurrentDb.Execute (qry_1) --- > "Eine Auswahlabfrage kann nicht ausgeführt werden" ich wäre euch seeeehr dankbar!! greetz
Reinhold Geschrieben 25. April 2007 Geschrieben 25. April 2007 hallo leute! qry_1 = "SELECT SBNr FROM tmp_Preset WHERE PreName = '" & Me.presetAusw & "'" CurrentDb.Execute (qry_1) txtGAANr = qry_1 der fehler kommt beim CurrentDb.Execute (qry_1) --- > "Eine Auswahlabfrage kann nicht ausgeführt werden" Wie die Fehlermeldung schon sagt: mit .execute werden Aktionsabfragen ausgeführt, also z.B. Insert, Update oder Delete. Was willst du denn eigentlich machen? Reinhold BTW: Me.presetAusw ist mindestens unsauber, siehe auch FAQ 6.3
BzudemO Geschrieben 25. April 2007 Autor Geschrieben 25. April 2007 achso...ähmm... und mit welcher methode führe ich dann den SELECT aus?? ich möchte das, was ich durch diesen Select rausbekomme, in einem Textfeld anzeigen lassen....
Reinhold Geschrieben 25. April 2007 Geschrieben 25. April 2007 achso...ähmm... und mit welcher methode führe ich dann den SELECT aus?? ich möchte das, was ich durch diesen Select rausbekomme, in einem Textfeld anzeigen lassen.... In etwa (ungetestet) so: dim rs as DAO.database set rs = CurrentDb.OpenRecordset (qry_1, dbOpenSnapshot) txtGAANr = rs!SBNr .... rs.close set rs = Nothing Reinhold
Amstelchen Geschrieben 25. April 2007 Geschrieben 25. April 2007 dim rs as DAO.database set rs = CurrentDb.OpenRecordset wobei hier rs vom typ database deklariert wird, was eigentlich unsinn ist, auch wenn es rein syntaktisch nicht fehlerhaft ist, in der folgenden zeile allerdings einen fehler produzieren wird, da der typ database keine recordset-daten verarbeiten kann. üblicherweise verwendet man rs als DAO.recordset oder ADODB.recordset, und db as DAO.database oder ADODB.database. db wird dann (zumindest bei DAO) die CurrentDb übergeben. s'Amstel
Reinhold Geschrieben 26. April 2007 Geschrieben 26. April 2007 wobei hier rs vom typ database deklariert wird, was eigentlich unsinn ist, auch wenn es rein syntaktisch nicht fehlerhaft ist, in der folgenden zeile allerdings einen fehler produzieren wird, da der typ database keine recordset-daten verarbeiten kann. üblicherweise verwendet man rs als DAO.recordset oder ADODB.recordset, und db as DAO.database oder ADODB.database. db wird dann (zumindest bei DAO) die CurrentDb übergeben. s'Amstel Das stimmt natürlich, Amstelchen. Solche Fehler passieren, wenn man einen solchen Codeschnipsel aus eigenen Codes erzeugt und diese verkürzt um ein flaches Beispiel zu haben. :upps :upps :upps Also: Korrekt ist (und gemeint war) dim rs as DAO.recordset Reinhold BTW: Die Verwendung von CurrentDb anstelle einer Variablen vom Typ Database ist aus Performancegründen u.U. fragwürdig. (siehe "Access 2000 programmieren", Albrecht/Nicol, Addison-Wesley, ISBN 3-8273-1547-6)
BzudemO Geschrieben 26. April 2007 Autor Geschrieben 26. April 2007 ok, ich werde es heute nachmittag gleich mal anwenden und gucken obs läuft! aber vielen dank schon mal im voraus!!! :)
BzudemO Geschrieben 26. April 2007 Autor Geschrieben 26. April 2007 Wunderbar, es klappt! danke! eure hinweise werde ich versuchen zu berücksichtigen:)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden