07. januar 2009 - 15:42Der er
5 kommentarer og 2 løsninger
Komplekse søgekriterier
Hej,
Jeg er interesseret i at søge med asterix i begge ender af udtryk, for at finde udtrykkene inde i felter med længere tekstafsnit.
F.eks. "*climat* chang*" "*climat* model*" "*climat* forcing*"
Her bruger jeg normalt kriteriet "Like" og så mit udtryk. F.eks
Like "*climat* chang*"
Mit problem er, hvordan jeg søger på flere af kriterierne på samme tid. Jeg har nævnt 3 kriterier, men i virkeligheden vil jeg gerne kunne søge på af gangen 30.
Hvis jeg bruger filteret: In ("mit udtryk"; "mit udtryk"), så kan jeg søge på flere udtryk, men ikke med asterix - jeg får i hvert fald ikke nogen hits i modsætning til med "Like" filteret.
Sub AddToWhere(FieldValue As Variant, FieldName As String, Mycriteria As String, ArgCount As Integer, ligmed As Boolean) ' Create criteria for WHERE clause. If FieldValue <> "" Then ' Add "and" if other criterion exists. If ArgCount > 0 Then Mycriteria = Mycriteria & " and " End If ' Append criterion to existing criteria. ' Enclose FieldValue and asterisk in quotation marks. If ligmed Then Mycriteria = (Mycriteria & FieldName & " = " & FieldValue) Else Mycriteria = (Mycriteria & FieldName & " Like " & Chr(39) & Chr(42) & FieldValue & Chr(42) & Chr(39)) End If ' Increase argument count. ArgCount = ArgCount + 1 End If End Sub
Jeg er imidlertid usikker på betydningen af jeres svar (mit sql-ordforråd er begrænset). Indtaster i disse filtre i SQL-visning? Eller kan jeg bruge dem i designvisning?
Jeg kan delvis følge Terry's svar. Med "SomeField", mener du da, at jeg blot skal indtaste Like udtrykkene under det rette felt? Eller er du også inde i SQL-visning?
Dette her VBA kode som skal ligge bag formen. Hvis du ikke er stiv i VBA kan du kan da blot lave en SQL sætning, hvor du skriver rækken af *....* under hinanden under feltet, men så må også rette det fra gang til gang.
"Indtaster i disse filtre i SQL-visning? Eller kan jeg bruge dem i designvisning?"
If you are making a query in query designer then you can enter each criteria directly in the criteria field.
For example enter the first criteria Like "*climat* chang*" in the first criteria field and the next Like "*climat* model*" in the criteria field under the first. (beside where you can see OR:) and you do this for all 30 criteria.
If you use OR this means that if any of the 30 criteria are found the record will be displayed.
You can also build a query in code as hnteknik suggests
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.