2017-07-18 3 views
0

Ich versuche, eine partielle Textübereinstimmung zu schreiben, um ein Formular aus einer Combobox zu filtern.Access Form Combobox Partial Filter

Das ist, was ich über das Schreiben arbeiten:

"[FieldName1] Like '*" & Replace(Me.cboFindRecord.Text, "'", """) & "*' OR [FieldName2] Like '*" & Replace(Me.cboFindRecord.Text, "'", """) & "*'" 

Wenn ich diese Zeile des VBA-Code verlassen, bekomme ich einen Fehler bei der 2. & „*‚ Hervorhebung der Apostroph‘, und es sagt Compile Fehler:.? Erwartete Ausdruck

Wer weiß, was ich falsch mache ich habe die Anführungszeichen und doppelte Anführungszeichen immer wieder überprüft

Antwort

1
, """) 

ist keine gültige strin. G.

Wenn Sie ein doppeltes Anführungszeichen verwenden möchten, wäre es

"[FieldName1] Like '*" & Replace(Me.cboFindRecord.Text, "'", """") & "*' OR ..." 

(ein entflohener doppelte Anführungszeichen in einem String)

Aber die übliche Art und Weise zu entkommen Apostrophe werden zwei Single verwenden Zitate:

"[FieldName1] Like '*" & Replace(Me.cboFindRecord.Text, "'", "''") & "*' OR ..." 
+0

Vielen Dank. Ich erkannte, dass ich den Ersatz sowieso nicht brauchte. Die Leute werden nicht versuchen, einfache Anführungszeichen in den Filter einzufügen. Ich verschwendete meine Zeit, aber zumindest halfst du mir auf meine eigene Art, hahaha. – missscripty

+0

Heh :) Aber ich würde mich nicht darauf verlassen, Benutzer können genial sein. Sie können Gustavs ['CSql()' -Funktion] (https://Stackoverflow.com/a/36494189/3820271) verwenden, wenn Sie Variablen mit SQL verketten. Dadurch wird das Ausbrechen und Formatieren viel weniger schmerzhaft. – Andre

+0

danke. Meine Sachen funktionieren immer noch nicht, aber ich gehe vielleicht falsch herum. Ich möchte nur, dass ein Benutzer in der Lage ist, alles in eine Combo einzutippen, und 1) automatisch expandieren (Eigenschaft wird auf ja gesetzt) ​​und 2) einen Wert im angezeigten Spaltenfilter auf diejenigen setzen, die mit irgendeinem Teil der Zeichenkette übereinstimmen. so kann der Benutzer an Ort und Stelle filtern. Erhalten Sie immer Fehler, aber ich debugging meinen Weg durch sie. Ein unglücklicher Teil ist, dass wenn ich tippe, ich den Fehler bekomme, weil ich nicht zu einem akzeptablen Wert komme, und so kann ich nicht sehen, ob es sich automatisch ausbreitet, wie ich will oder nicht. – missscripty