Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Wert aus Textfeld über Variable in Sql-Abfrage

Begonnen von Daniel97, Oktober 15, 2012, 10:30:29

⏪ vorheriges - nächstes ⏩

Daniel97

Hallo,
Ich habe eine Tabelle in der Dateien
eingelesen werden. Ich möchte nun
Über in ein Textfeld Zeichen die in einem
Der Dateinamen beinhaltet sind eingeben,
Diese in eine Variable speichern und dann
Über eine sql abfrage die Dateinamen
Herausfiltern.

Ich hatte mir das so gedacht:
Dim sSQL As String
Dim dateiendung As String

sSQL = "SELECT * FROM DateiTabelle
WHERE Name LIKE '*.dateiendung'"

Aber irgendwie funktioniert es nicht

Danke für die Hilfe,
Daniel

MzKlMu

Hallo,
was erwartest Du, die Variable dateiendung ist ja leer bzw. enthält "".
Ist Dateiendung ein Formaulfeld, dann muss das nicht deklariert werden.
Versuche es daher mal so:

Dim sSQL As String
sSQL = "SELECT * FROM DateiTabelle WHERE Name LIKE '*" & Me!dateiendung & "'"
Gruß Klaus

Daniel97

Danke auf jeden fall für deine Hilfe!
Hier nochmal mein Code:

Private Sub Text1_BeforeUpdate(Cancel As Integer)
     Dim Dateiendung As String
     Dim sSQL As String
     
     Endung = Text1.Text

     sSQL = "Select * From DateiTabelle Where Name like '*" & Me!Dateiendung & "'"
     Me!Liste21.RowSource = sSQL
     Me.Liste21.Requery
End Sub

Nun kommt der laufzeitfehler: 2465
"Microsoft Access kann das in ihrem ausruck
angesprochene Feld 'dateiendung' nicht finden.

Daniel

bahasu

Hi,

ist "Me!Dateiendung" ein Steuerelement, das es in Deinem Formular in genau dieser Schreibweise gibt?
oder ist "Dateiendung" eine globale Variable? Wenn ja, dann ohne "Me!"

Harald
Servus

MzKlMu

Hallo,
jetzt hast Du aber einen ziemlichen Durcheinander angerichtet.
Du solltest auch das Ereignis "Nach Aktualisierung" verwenden. Das sollte komplett reichen:

    Dim sSQL As String
    sSQL = "Select * From DateiTabelle Where Name like '*" & Me!Text1 & "'"
    Me!Liste21.RowSource = sSQL


Das andere Ereignis verwenden !!!
Gruß Klaus

Daniel97

Erst einmal vielen dank euch beiden, Haralds
Lösung hat funktioniert !

Vielen dank und schönen Tag noch.

Daniel

MzKlMu

Hallo,
ZitatHaralds Lösung hat funktioniert !
Dann ist aber der oben gezeigt Code von Dir falsch. Du deklarierst Dateiendung und verwendest aber nur Endung. Die zusätzliche Varaiable Dateiendung wird gar nicht benötigt, Du kannst Dich direkt auf Text1 beziehen.
Auch Requery ist überflüssig, da RowSource ein automatisches Requery auslöst.
Gruß Klaus