ja/nee veld in listbox

Status
Niet open voor verdere reacties.
Het lukt me nog steeds niet te achterhalen waarom het loopje de gegevens van de eerste keuze blijft geven.
Als ik 2 keuzes maak, loopt het loopje perfect 2 keer, maar met dezelfde gegevens

Bedankt
 
Michel, heb je intussen kunnen achterhalen wat er in mijn bestand fout is? De tweede keuze wordt niet door de code meegenomen...
 
Jij weet toch oplossingen te verzinnen waar ik in mijn stoutste dromen niet aan zou denken :). Geeft niks natuurlijk als ze werken.

Code:
Dim strSQL As String
Dim itm As Variant
    For Each itm In Me.Patholgieën.ItemsSelected
        If strSQL <> "" Then strSQL = strSQL & vbCrLf
        strSQL = strSQL & Me.Patholgieën.Column(5) & " voorgeschreven door Dr. " & Me.Patholgieën.Column(3) & " op datum: " & Me.Patholgieën.Column(2)
    Next itm
    DoCmd.OpenReport "Aanvraag_nieuwe_pathologie", acViewPreview, , , acDialog, strSQL

Code:
Private Sub Report_Load()
    If Not Me.OpenArgs = "" Then Me.Oplijsting = Me.OpenArgs
End Sub
 
michel..

heb je aanpassing doorgevoerd, maar het probleem blijft bestaan.
Ik selecteer 2 items uit de keuzelijst
Klik op "printen"
Ik krijg 2 maal dezelfde, laatste keuze en niet beide die ik aanduidde.

jammer maar de code werkt niet
Ik stuur een voorbeeld mee

JP
 

Bijlagen

  • FA.zip
    349,9 KB · Weergaven: 14
Ik heb de vorige db er maar even bijgepakt, want daar zat de code in die ik heb gemaakt. En die heb ik nagekeken/aangepast. Want je had iets heel vervelends gedaan, waardoor het niet (goed) werkte: je had de een selectieveld als eerste (en nog veel erger: afhankelijke kolom) gezet. En zo'n veld kent maar twee waarden: ja/nee. En dat schiet niet op. Een keuzelijst levert in eerste instantie maar één waarde(veld) op, en dat is dus de afhankelijke kolom. Daar moet je het mee doen. Je kunt bij een enkelvoudige keuzelijst waarden uitlezen en hergebruiken (met Column(#)) maar dat werkt niet bij een meervoudige keuzelijst. Wat jij wilt, had ik dan ook nog niet eerder bedacht dus in die zin leer ik soms ook nog wel eens bij, onder het welbekende motto "Een dwaas kan meer vragen dan 10 wijzen kunnen beantwoorden":). Laat ik nog even in het midden wie de dwaas is trouwens :D.

De eerste aanpassing is dus de recordbron voor je keuzelijst, waar dat selectievakje ofwel wegkan (doet toch niks) ofwel naar een andere plek moet. Ik heb 'm vervangen door het sleutelveld, want dat heb je dus wél nodig.
PHP:
SELECT identif, TELLER, DATVOOR, DOKTER, REEKS, DIAGN, OPMERK, print_nieuwe_pathologie FROM VOORSCHR WHERE KODE="24100359" ORDER BY DATVOOR DESC;

Vervolgens moet je op basis van het ID de juiste inhoud ophalen. Dat doe ik in dit geval met DLOOKUP, maar dat kan ook met een recordset. Mocht je dat liever doen.
Code:
Private Sub Knop6_Click()
Dim strSQL As String
Dim itm As Variant
    
    With Me.Patholgieën
        For Each itm In .ItemsSelected
            If strSQL <> "" Then strSQL = strSQL & vbCrLf
            strSQL = strSQL & DLookup("DIAGN", "VOORSCHR", "identif=" & .ItemData(itm)) & " voorgeschreven door Dr. " _
                & DLookup("DOKTER", "VOORSCHR", "identif=" & .ItemData(itm)) & " op datum: " _
                & DLookup("DATVOOR", "VOORSCHR", "identif=" & .ItemData(itm))
        Next itm
    End With
    DoCmd.OpenReport "Aanvraag_nieuwe_pathologie", acViewPreview, , , acDialog, strSQL
End Sub
 
Dit is perfect wat ik wou Michel... top
Laat ik de dwaas maar zijn
;)
Ik kan weer wat verder nu
Bedankt
 
Bij de methode Column kun je het kolomnummer meegeven, maar ook de Listindex.
Dus hier in dit geval:
Me.Patholgieën.Column(#,itm)

Dlookup is dus niet nodig!
 
Niet bij stilgestaan, maar inderdaad een veel mooiere methode. Ben sowieso geen liefhebber van DLookup. De code wordt dan:
Code:
        For Each itm In .ItemsSelected
            If strSQL <> "" Then strSQL = strSQL & vbCrLf
            strSQL = strSQL & .Column(5, itm) & " voorgeschreven door Dr. " & .Column(3, itm) & " op datum: " & .Column(2, itm)
        Next itm
 
Top... dikke merci... en het gaat dan nog eens flitsend snel ook
:thumb:
 
Dat is ook de reden dat ik liever geen DLOOKUP gebruik; al die Dfuncties zijn retetraag.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan