collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 53
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13951
  • stats Beiträge insgesamt: 66332
  • stats Themen insgesamt: 8940
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Eine Auswahlabfrage kann nicht durchgeführt werden  (Gelesen 747 mal)

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Eine Auswahlabfrage kann nicht durchgeführt werden
« am: Oktober 25, 2017, 11:17:54 »
Hallo zusammen!
Ich habe voneinander abhängige Kombi- und Listenfelder gebastelt. Ich hatte das zugehörige Formular für alte Datensätze gesperrt, woraufhin die Liste sich mit den Kombifeldern zwar filtern ließ, aber entsprechende Einträge auch nicht mehr angewählt werden konnten. Deswegen hatte ich die Liste in ein Ufo gebastelt, die dann natürlich dann natürlich in seiner Funktion auch recht beschränkt blieb.

Also alles wieder zurück gebaut, mit dem Ergebnis, dass aus irgendeinem Grund die Filterung auch nicht mehr funktionierte.
Jetzt geht alles wieder. Mit folgendem Code:

Private Sub cmbMatArt_AfterUpdate()
strSQL = " SELECT tblMaterial.mat_ID, tblMaterial.mat_name, tblMaterial.mat_nummer " & _
         " FROM tblMaterial WHERE tblMaterial.mat_art = '" & Me!cmbMatArt & "'" & _
         " AND tblMaterial.mat_fahrzeug = " & Nz(Me.cmbMatFahr) & _
         " ORDER BY tblMaterial.mat_name"

lstMaterial.RowSourceType = "Table/Query"
lstMaterial.RowSource = strSQL

CurrentDb.Execute strSQL, 128
'Debug.Print strSQL
MsgBox strSQL
'Me.cmbMatArt = Null
EnableControls
End Sub

Kurioserweise erhalte ich eine Fehlermeldung, wenn ich CurrentDb.Execute strSQL, 128
im Code aktiviert lasse. Demnach ist eine Auswahlabfrage angeblich nicht möglich.

Laufzeitfehler '3065':
Eine Auswahlabfrage kann nicht durchgeführt werden.

Lasse ich die Zeile jedoch einfach komplett weg, funktioniert alles wie es soll. Kann mir jemand sagen, wieso dies so ist?

VG,
Dennis

EDIT: Hat sich erledigt. Liegt wohl daran, dass strSQL bereits weiter oben ausgeführt wird und dies via CurrentDb.Execute an dieser Stelle falsch und vor allem nicht notwendig ist.
Sorry!
« Letzte Änderung: Oktober 25, 2017, 11:22:27 von gilles_de_rais »
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7268
Re: Eine Auswahlabfrage kann nicht durchgeführt werden
« Antwort #1 am: Oktober 25, 2017, 11:33:06 »
Hallo,
die Zeile mit Execute ist ersatzlos überflüssig. Der Befehl ist nur für Aktionsabfragen zulässig (Anfüge, Aktualisierung, Tabellenerstellung). Bei gewöhnlichen Auswahlabfragen geht das nicht.
Die Auswahlabfrage wird mit RowSource zugewiesen, das reicht.

Nachtrag, Du hast es ja selbst gemerkt, habe ich gerade gesehen.
Gruß
Klaus
 
Folgende Mitglieder bedankten sich: gilles_de_rais

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: Eine Auswahlabfrage kann nicht durchgeführt werden
« Antwort #2 am: Oktober 25, 2017, 11:43:50 »
Hallo,
ja, kurz nachdem ich den Foreneintrag verfasst habe, ist es mir wie Schuppen von den Augen gefallen. Ganz umsonst war mein Beitrag dann ja aber vielleicht nicht, wenn er das eigene Denkvermögen anregt. Und möglicherweise hat ja irgendwann ein blutiger Anfänger wie ich ein ähnliches Problem :)
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1225
Re: Eine Auswahlabfrage kann nicht durchgeführt werden
« Antwort #3 am: Oktober 25, 2017, 12:13:46 »
Du kannst in der Abfrage auf den Tabellenpräfix bei den Feldern verzichten - es gibt ja keine Mehrdeutigkeit. Und Nz(Me.cmbMatFahr) bei einem Zahlenfeld ist gaaaaanz schlecht, falls dann doch einmal ein Null-Wert vorhanden ist, hagelt es einen Fehler. Nz(Me.cmbMatFahr, 0) oder Nz(Me.cmbMatFahr, -1) wäre besser.
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: gilles_de_rais

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: Eine Auswahlabfrage kann nicht durchgeführt werden
« Antwort #4 am: Oktober 25, 2017, 13:15:09 »
Hallo,
cmdMatFahr hat die Datensatzherkunft

SELECT fahr_ID, fahr_typ FROM tblFahrzeug;
wobei fahr_typ ein Textfeld darstellt. Ich hatte zuvor den Code in dieser Art '" & Me!cmbMatFahr & "'" angewandt. Das hat aber leider nicht funktioniert. Ich baue Deine Hinweise direkt mal ein. Vielen Dank für den Hinweis!
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1772
Re: Eine Auswahlabfrage kann nicht durchgeführt werden
« Antwort #5 am: Oktober 26, 2017, 12:40:07 »
Hallo Gilles,
Zitat
wobei fahr_typ ein Textfeld darstellt.
Das ist aber nicht die gebundene Spalte, - oder?
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.