webForumDet fria alternativet

Syntax för LIKE med parametriserad fråga i Access 2003

Databaser & SQL

2 svar · 392 visningar · startad av Peter S

Medlem sedan dec. 20025 483 inlägg
Frågan#1

Hej!

Jag försöker skapa en parametriserad fråga med LIKE i Access 2003 för att söka efter poster. Dock utan något vidare resultat. De sätt jag testat med inkluderar

Set cmd = New ADODB.command
Set cmd.ActiveConnection = CurrentProject.Connection
cmd.CommandType = adCmdText
'cmd.CommandText = "select c from t where c like ?"
'cmd.CommandText = "select c from t where c like '%?%'"
'cmd.CommandText = "select c from t where c like '*?*'"
Set rs = cmd.Execute(, Array(searchValue))

Jag har dessutom försökt konkatenera in ? på cirka 37 olika sätt med samma resultat, d.v.s. att inga poster hittas. Den syntax som gäller verkar i.a.f. vara den mittersta i kodstycket ovan; byter jag ut ? mot en textsträng fungerar det nämligen.

I MySQL har jag tidigare fått skriva WHERE c LIKE concat('%',?,'%'). Krävs något liknande i detta fall?

Tack på förhand!

Medlem sedan juni 200032 967 inlägg
#2

Jag hade provat:

cmd.CommandText = "select c from t where c like ?"
Set rs = cmd.Execute(, Array("%" & searchValue & "%"))

Mvh

Medlem sedan dec. 20025 483 inlägg
#3

Tack, Anders! Ditt förslag fixade biffen :bire

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)