![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() |
![]() Ich habe mittels Stringverknüpfung meinen Suchstring für recordset.FindFirst gebastelt:
Code:
"P1Name LIKE 'D*' " jetzt möchte ich diesen Suchstring an das Recordset übergeben. Der String liegt auf der Variablen strSuch also: Code:
strfilter = strsuch rst.FindFirst strfilter 'Ausgabe ins Feld txt_Filter txt_filter = rst!P1NAME Wenn ich den String manuel nach strfilter kopier (also strfilter="P1Name LIKE 'D*'") dann geht aber alles ![]() was ist da falsch? mfg
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon. Wer schreibt, der bleibt! |
![]() |
![]() |
![]() |
#2 |
Newbie
![]() Registriert seit: 14.06.2004
Alter: 56
Beiträge: 10
|
![]() Hi !
habe in meinem Programm etwas Ähnliches: Nummer = "ABC123" rst.FindFirst "[Asset_Number] = '" & Nummer & "'" umgewandelt bei Nummer = "ABC*" rst.FindFirst "[Asset_Number] Like '" & Nummer & "'" Ich glaube das ist so ein Problem mit Variable nehmen oder deren Inhalt nehmen... Versuchs mal so wie bei mir (also Variablenname rausnehmen aus dem String und per & verbinden) |
![]() |
![]() |
![]() |
#3 |
Master
![]() Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550
|
![]() Hi!
Ich verwende eigentlich nur diese Varianten rst.Find "Feld = '" & strSuchbegriff & "'" rst.Find strFeld & " = '" & strSuchbegriff & "'" Es müßte aber auch funktionieren, wenn der ganze Ausdruck in einer Variablen steht. Laß dir bei deinen beiden Version vor dem Aufruf von Find den String im Direktfenster ausgeben, und vergleiche die Inhalte. Achte besonders auf die Hochkommas. mfg WB |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() |
![]() lansam werd ich verwirrt (siehe Bild!)
hier nochmal mein Code, mittlerweile bin ich schon durcheinander Code:
Private Sub Befehl109_Click() Dim db As DAO.Database Dim rst As DAO.Recordset Dim strfilter As String Dim str As String Dim such As String Set db = CurrentDb() Set rst = db.OpenRecordset("qryTest") str = txt_suchnam 'man gibt zb D* in die Textbox ein 'Testweise Ausgabe in einer TXTBOX txt_such = """P1Name LIKE" & " " & str & " """ 'Ende strfilter = "P1NAME = '" & txt_such & "'" 'Filterstring rst.FindFirst strfilter 'Ausgabe an Textfeld txt_filter = rst!P1NAME While Not rst.NoMatch Debug.Print rst("P1Name") rst.FindNext strfilter Wend rst.Close End Sub wenn wer zeit hat
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon. Wer schreibt, der bleibt! |
![]() |
![]() |
![]() |
#5 |
Master
![]() Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550
|
![]() Hi!
Mit den Hochkommas stimmt wahrscheinlich etwas nicht. Vor 'Ausgabe an Textfeld txt_filter = rst!P1NAME mußt du außerdem prüfen, ob die Suche erfolgreich war. Wenn die Suche nicht erfolgreich war, werden falsche Daten ausgegeben. Schick mir deine Access-DB im 97er-Format. Ich schau mir das morgen an. Das gibts doch nicht, daß das nicht funktioniert. mfg WB |
![]() |
![]() |
![]() |
#6 |
Newbie
![]() Registriert seit: 14.06.2004
Alter: 56
Beiträge: 10
|
![]() txt_such = """P1Name LIKE" & " " & str & " """
'Ende strfilter = "P1NAME = '" & txt_such & "'" 'Filterstring Wozu weist Du in die Variable txt_such nochmals P1NAME zu? Ausserdem geht das so sicher nicht, denn 2mal " hintereinander beendet ja schon wieder den String, d.h. in txt_such steht nur "" (also nix) strfilter = "P1NAME LIKE '" & txt_such & "' " reicht doch? wobei txt_such = "D*" oder was auch immer |
![]() |
![]() |
![]() |
#7 | |
Inventar
![]() |
![]() Zitat:
werd ich geich mal probieren, danke!
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon. Wer schreibt, der bleibt! |
|
![]() |
![]() |
![]() |
#8 |
Inventar
![]() Registriert seit: 28.08.2001
Ort: Österreich
Beiträge: 1.597
|
![]() |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|