Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[HILFE] MS Access - SQL Abfrage funzt nicht

Empfohlene Antworten

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

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

achso...ähmm...:rolleyes:

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....

achso...ähmm...:rolleyes:

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

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

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)

ok, ich werde es heute nachmittag gleich mal anwenden und gucken obs läuft!

aber vielen dank schon mal im voraus!!!

:) :) :)

Wunderbar, es klappt!

danke!

eure hinweise werde ich versuchen zu berücksichtigen:)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.