[Access] Meerdere keuzeselecties

Pagina: 1
Acties:

  • Zorg
  • Registratie: Maart 2001
  • Laatst online: 14-07 16:37
Ik ben druk bezig in access om een query op te laten bouwen aan de hand van een formulier. Ik heb een formulier met meerdere keuzelijsten. In de keuzelijsten zelf kunnen ook weer meerdere selecties worden gemaakt. Het uiteindelijke ontwerp moet zo worden dat er op basis van meerdere keuzes een query wordt gebouwd.

Nou lukt het me wel om één keuzelijst te koppelen aan het gedeelte in de query maar een tweede toevoegen lukt me maar niet ;(. Dit is de code die ik tot nu toe heb:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Private Sub cmdKnop_Click()

    On Error GoTo Err_cmdKnop_Click
    Dim MyDB As DAO.Database
    Dim qdef As DAO.QueryDef
    Dim i As Integer
    Dim strSQL As String
    Dim strWhere As String
    Dim strIN As String
    Dim flgSelectAll As Boolean
    Dim varItem As Variant
    
    Set MyDB = CurrentDb()

    strSQL = "SELECT * FROM qryTest"


    For i = 0 To lstKeuze.ListCount - 1
        If lstKeuze.Selected(i) Then
            If lstKeuze.Column(0, i) = "All" Then
                flgSelectAll = True
            End If
            strIN = strIN & "'" & lstKeuze.Column(0, i) & "',"
        End If
    Next i

   strWhere = " WHERE [Vertegenwoordiger] in " & _
              "(" & Left(strIN, Len(strIN) - 1) & ")"
    

    If Not flgSelectAll Then
        strSQL = strSQL & strWhere
    End If

    MyDB.QueryDefs.Delete "qryKlanttu"
    Set qdef = MyDB.CreateQueryDef("qryKlanttu", strSQL)
    
    

    DoCmd.OpenQuery "qryKlanttu", acViewNormal

    'Clear listbox selection after running query
    For Each varItem In Me.lstKeuze.ItemsSelected
        Me.lstKeuze.Selected(varItem) = False
    Next varItem

Exit_cmdKnop_Click:
    Exit Sub

Err_cmdKnop_Click:

    If Err.Number = 5 Then
        MsgBox "Wel eerst een keuze maken aub" _
               , , "Selectie is nodig!"
        Resume Exit_cmdKnop_Click
    Else
        'Write out the error and exit the sub
        MsgBox Err.Description
        Resume Exit_cmdKnop_Click
    End If
End Sub


Nou gaat het dus om hier een keuzelijst2 aan toe te voegen die dus in een tweede kolom in de query wordt geplaatst met de aangegeven selectie als criteria.

Ik heb al tig voorbeeld databases gedownload en ook deze geprobeerd aan te passen maar kom er helaas niet verder mee. Iemand misschien wat suggesties om me opver te helpen?

Mijn hobby projectjes: www.agenticprojects.be


  • Witte
  • Registratie: Februari 2000
  • Laatst online: 29-01 15:02
als je al zover bent, is het toch niet zo moeilijk om een tweede selectiecriterium toe te voegen aan je query?
Ik zou 2 booleans maken: selectie1 en selectie2
selectie1 zet je op true als er een selectie in lijst1 is, en zet je op false als er geen selectie in lijst1 is (all).
voor selectie2 doe je hetzelfde.
En dan:

if selectie1 or selectie2 then sqlstr = sqlstr + ' WHERE '
if selectie1 then sqlstr = sqlstr + string1
if selectie1 and selectie2 then sqlstr = sqlstr + ' AND '
if selectie2 then sqlstr = sqlstr + string2

vind ik zelf een fraaie oplossing!

Houdoe