Dynamische Abfrage

Hallo
Follegender Code ist hinter einem Kombinationsfeld [Produktauswahl] auf einem Formular hinterlegt. Wird er ausgeführt, so wird die Listbox[lboxAuflistung] (auf dem gleichen Formular) aktualisiert. Durch die Dynamische Abfrage. Jetzt ist es aber so, dass jedesmal eine Inputbox erscheint, die die WHERE Abfrage nochmals abfragt. Was mache ich falsch?
Wie kann diese Eingabebox umgangen werden?

Besten Dank für sämtliche Hinweise.

MFG Sebastian

Private Sub Produktauswahl_Change()
Dim strSQL As String
Dim grp1
On Error GoTo myError
Me![lboxAuflistung] = Null
Me![lboxAuflistung].RowSource = „“
grp1 = Me![Produktauswahl].Column(0)

strSQL = " SELECT Zubehör_Nummer, Produkt, Artikel, Dimension, Sonstiges, BestllNummer, Anzahl "
strSQL = strSQL & " FROM Produkt_Zubehör "
strSQL = strSQL & " WHERE (Produkt_Zubehör.Produkt) = " & grp1
strSQL = strSQL & " ORDER BY Produkt_Zubehör.Zubehör_Nummer "
Me![lboxAuflistung].RowSource = strSQL

my_err_Exit:
Exit Sub

myError:
MsgBox Err.Number & " " & Err.Description
Resume my_err_Exit
End Sub

Hallo Sebastian,

strSQL = strSQL & " WHERE (Produkt_Zubehör.Produkt) =

nimm eckige Klammern =

strSQL = strSQL & " WHERE [Produkt_Zubehör.Produkt] =

Grüße aus Essen
Wolfgang

Nichts genutzt
Hallo Wolfgang,
Danke für Deinen Hinweis, aber das Problem ist damit leider noch nicht vom Tisch.
MFG Sebastian

Hallo Sebastian,

hier natürlich auch:
strSQL = strSQL & " ORDER BY [Produkt_Zubehör.Zubehör_Nummer]"

Im Zweifelsfall rufe einfach den Abfrage Assistenten auf.

Grüße aus Essen
Wolfgang

Hallo Wolfgang,
Danke für den Tipp, funktioniert aber immer noch nicht.
Jetzt habe ich mal herausgefunden wo diese Inputbox aufgerufen wird. Sie wird vor der Zeile Me![lboxAuflistung].RowSource = strSQL aufgerufen.
Besten Dank für jeden weiteren Tipp
Grüsse von
Sebastian

Das funktioniert so nur, wenn „Produkt“ ganzzahlig ist, wenn es ein Textfeld ist, sollte es heissen:

strSQL = " SELECT Zubehör\_Nummer, Produkt, Artikel, Dimension, Sonstiges, BestllNummer, Anzahl " & \_
 " FROM Produkt\_Zubehör " & \_
 " WHERE Produkt = '" & grp1 & "'" & \_
 " ORDER BY Zubehör\_Nummer "
Me![lboxAuflistung].RowSource = strSQL

Gruß aus dem Norden
Reinhard Kraasch
(http://www.dbwiki.de - das Datenbank-Wiki)

1 Like

Hallo Sebastian,

Jetzt habe ich mal herausgefunden wo diese Inputbox aufgerufen
wird. Sie wird vor der Zeile Me![lboxAuflistung].RowSource =
strSQL aufgerufen.

ok, dann mal folgendes probieren:

Private Sub Produktauswahl_Change()
Dim strSQL As String
Dim grp1
On Error GoTo myError

> löschen >> Me![lboxAuflistung] = Null
> löschen >> Me![lboxAuflistung].RowSource = „“

grp1 = Me![Produktauswahl].Column(0)

> bist du sicher das es die 0 und nicht die 1 ist??

strSQL = " SELECT Zubehör_Nummer, Produkt, Artikel, Dimension, Sonstiges, BestllNummer, Anzahl "
strSQL = strSQL & " FROM Produkt_Zubehör "
strSQL = strSQL & " WHERE [Produkt_Zubehör.Produkt] = " & grp1
strSQL = strSQL & " ORDER BY [Produkt_Zubehör.Zubehör_Nummer]"

Me![lboxAuflistung].RowSource = strSQL
Me![lboxAuflistung].refresh

Grüße aus Essen
Wolfgang

Besten Dank Reinhard
Jetzt läuft es fehlerfrei. Super!
Grüsse aus Basel von
Sebastian