2017-11-16 1 views
0

Ich möchte LIKE Operator in Zugriff 10 SQL Abfrage mit Variable verwenden.Zugriff 10 SQL Abfrage

Beispiel:

temporary variable var contains value bs 
var = "bs" 

Ich möchte jeden String übereinstimmen, die mit dem Wert der temporären Variablen von Null oder mehr Zahlen gefolgt beginnt.

Ich versuche, um die Abfrage zu feuern:

select * from xyz where variety LIKE "@[tempvars]![var] + [0-9]*" 

Es ist 0 Datensätze zurück. Danke für die Hilfe.

+1

Es scheint, Sie versuchen, REGEX in Ihrer Abfrage zu verwenden, die MS-Zugriff nicht unterstützt. Sie können jedoch eine benutzerdefinierte Funktion verwenden: Siehe diesen Thread: https://stackoverflow.com/questions/10393087/expressing-basic-access-query-criteria-as-regular-expressions –

+2

_DO verwenden Sie dieses Tag für Microsoft Access nicht Verwenden Sie [ms-access] stattdessen. – jarlh

+0

Null Datensätze ist keine Sache. Null ist nicht Null. –

Antwort

0

Sie müssen außerhalb der Zitate zu Ihrem tempvar beziehen, und & für Verkettung verwenden:

select * from xyz where variety LIKE "@" & [tempvars]![var] & "[0-9]*" 

Damit werden alle Datensätze zurück, wo variety beginnt mit einer wörtlichen @, dann was auch immer in [tempvars]![var] ist, dann ist ein Nummer und dann eine beliebige Anzahl an Zeichen.

+0

Gibt immer noch 0 Datensätze zurück. Ich habe einen Eintrag mit BS01 Eintrag. –

+0

Das beginnt nicht mit einem Literal '@', oder? –

+0

Verstanden. Vielen Dank . Sehr dummer Fehler. @Erik von Asmuth –

0

Sie können überprüfen, ob diese Sorte in Ihrer Tabelle verfügbar ist oder nicht. Wenn diese Sorte in Ihrer Tabelle verfügbar ist, dann suchen Sie nicht mit einem ähnlichen Operator und verwenden Sie ansonsten einen ähnlichen Operator.

Verwandte Themen