Avatar billede jensen363 Forsker
14. december 2007 - 10:05 Der er 9 kommentarer og
1 løsning

Jokertegn og In()

ved hjælp af en liste har jeg behov for at filtrere i data ved hjælp af In() syntaxen ... men hvis intet er valgt, skal alt vises ...

Like "*" & In("*") & "*"

Virker ikke ....
Avatar billede terry Ekspert
14. december 2007 - 11:04 #1
If you build the SQL dynamically in code then why not just NOT include the LIKE and IN?
Avatar billede terry Ekspert
14. december 2007 - 11:12 #2
and dont forget you have another question open :o)
http://www.eksperten.dk/spm/809218
Avatar billede jensen363 Forsker
14. december 2007 - 11:23 #3
Sorry :-)
Avatar billede jensen363 Forsker
14. december 2007 - 13:38 #4
Hi Terry

Do you have an example of this dynamic code ?
Avatar billede terry Ekspert
14. december 2007 - 13:59 #5
How are you doing it at the moment? I dont think you are building the IN() in a query.
Avatar billede jensen363 Forsker
14. december 2007 - 15:04 #6
At the moment I use this :

Private Sub ListFirma_AfterUpdate()
Dim Q_1 As QueryDef, DB As Database
Dim Criteria_1 As String
Dim ctl_1 As Control
Dim Itm_1 As Variant

Set ctl_1 = Me![ListFirma]

For Each Itm_1 In ctl_1.ItemsSelected
    If Len(Criteria_1) = 0 Then
        Criteria_1 = Chr(34) & ctl_1.ItemData(Itm_1) & Chr(34)
    Else
        Criteria_1 = Criteria_1 & "," & Chr(34) & ctl_1.ItemData(Itm_1) _
        & Chr(34)
    End If
   
Next Itm_1

    ListCriteria_1.Value = Criteria_1

Set DB = CurrentDb()
Set Q_1 = DB.QueryDefs("Multiselect")
Q_1.SQL = "Select * From Multiselect_all Where [AAAXCD] In(" & Criteria_1 & _
    ");"

Me.Refresh
    Me.Requery

End Sub
Avatar billede terry Ekspert
14. december 2007 - 17:06 #7
well I think your almost there although I'm not sure I understand you rcode 100%.
You need to split the .SQL into two parts, one for the SELECT.. and one for the WHERE

Something like this

Dim sWhere as string

'Rest of code goes here

sWhere = ""
If Len(Criteria_1) > 0 Then
sWhere = " Where [AAAXCD] In(" & Criteria_1 & _
    ")"
End if
Q_1.SQL = "Select * From Multiselect_all " & sWhere
Avatar billede terry Ekspert
14. december 2007 - 17:06 #8
not tested but it cant be far off
Avatar billede jensen363 Forsker
17. december 2007 - 10:44 #9
It works .... thanks !
Avatar billede terry Ekspert
17. december 2007 - 13:23 #10
selv tak
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester