query aanpassen voor meerdere criteria

Status
Niet open voor verdere reacties.

Tamara27

Gebruiker
Lid geworden
1 mrt 2010
Berichten
224
Volgende case (de leek die ik ben, heeft al veel bereikt met jullie hulp, maar toch willen we meer… )

Databank vol met gegevens van patiënten, opgedeeld in verschillende tabellen en tevens heb ik verschillende formulieren ontwikkeld om de gegevens op een specifieke manier weer te geven. Bijv per type ziekte, per type behandeling, per type nevenwerking etc.

De gebruiker kan op het zoekscherm kiezen op welke basis hij wil zoeken.
Hij heeft volgende keuzes:
  • op naam van patiënt
  • op type ziekte
  • op type behandeling
  • op type complicatie
  • op type aandoening

De formulieren openen mooi aan de hand van volgende code :

Code:
Private Sub cmdZoeken_Click()

If keuzeBehandeling = True Then
    DoCmd.OpenForm "F_TonenBehandeling"
    Me.Form.Visible = False
''    DoCmd.Close acForm, "F_Zoeken"

ElseIf keuzeIBD = True Then
    DoCmd.OpenForm "F_TonenIBD"
    Me.Form.Visible = False
''    DoCmd.Close acForm, "F_Zoeken"

ElseIf keuzePatient = True Then
    DoCmd.OpenForm "F_TonenPatient"
    Me.Form.Visible = False
''    DoCmd.Close acForm, "F_Zoeken"

ElseIf keuzeAndere = True Then
    If CheckComplicaties = True Then
        DoCmd.OpenForm "F_TonenComplicaties"
        Me.Form.Visible = False
        '' Docmd.Close acForm, "F_Zoeken"
    ElseIf checkEIA = True Then
        DoCmd.OpenForm "F_TonenEIAandoeningen"
        Me.Form.Visible = False
        '' Docmd.Close acForm, "F_Zoeken"
'' End if
    End If

Else
    MsgBox "Vul een zoekcriterium in aub", vbInformation, "Oeps!"
Exit Sub

End If
End Sub


De query is als volgt opgesteld (voorbeeld voor zoeken type ziekte)

Code:
SELECT GegevensIBD.[Type IBD]
FROM GegevensIBD
GROUP BY GegevensIBD.[Type IBD]
HAVING (((GegevensIBD.[Type IBD]) Like [forms]![F_Zoeken].[zoekIBD] & "*"))
ORDER BY GegevensIBD.[Type IBD];

De andere query (vb: type behandeling) is op dezelfde manier opgesteld.

Nu zou ik het formulier en vooral de queries graag zo ontwerpen, dat de gebruiker meerdere opties heeft. Hiermee bedoel ik dat ze bijv niet alleen op type ziekte kunnen zoeken, maar ook op type behandeling (dus bijv: ik wil alle patiënten met GRIEP én die behandeld zijn met PARACETAMOL. Nu kunnen ze enkel kiezen op GRIEP of PARACETAMOL

Ik weet dat dit een hele opgave is, maar misschien dat toch iemand de tijd kan nemen om me hier op weg te zetten? Misschien zie ik het ook gewoon te ingewikkeld?

Dank alvast!
 
Wil je al je verschillende formulieren kunnen openen met meerdere criteria? En dat met een OF variant en een EN variant? Is dat je vraag?
 
Inderdaad. Nu kan ik bijv "Griep" kiezen als criterium, en dan opent er een fomuliertje met alle grieppatiënten. Nu zou ik graag bereiken dat ze ook "paracetamol" kunnen aanduiden, en dat dat het formulier opent, enkel met de patiënten die griep hebben en paracetamol gebruiken...
uiteindelijk is het dan de bedoeling dat er zelfs 3 of 4 criteria aangeduid kunnen worden.
Het moeilijke eraan vind ik, dat de gegevens allemaal uit verschillende tabellen komen...
 
Misschien moet ik het bewuste "zoekformulier" helemaal anders aanpakken? :)
 
Het is niet het meest handige zoekformulier, da's zeker ;)
Ik zit een beetje te stoeien met een extra knop waarmee je " AND " of " OR " kunt toevoegen om op verschillende manieren een filter uit te breiden, maar eigenlijk ligt het probleem niet eens in het formulier, maar in de resultaat fomulieren waar een vast filter op staat. Dat zou je er af moeten halen, en het filter dus opbouwen via het zoekformulier, en bij het openen van het formulier geef je dan het filter mee.
 
Ik heb ook al vanalles geprobeerd.
En dan moet het moeilijkste nog komen.
Uiteindelijk zou ik ook moeten kunnen selecteren op "roker" of "niet roker" hetgeen in een tabel vertaald wordt door een Ja-Nee vak...

ik ben ergens aan begonnen :)
 
Misschien moet ik de gebruiker op het zogenaamde 'zoekformulier' een basiskeuze laten maken, bijv type ziekte, en dan op het formulier een combobox zetten, waar ze een verdere onderverdeling kunnen kiezen? En dan gebruik maken van een afterUpdate?
 
Nog even verder gebrainstormd, in de hoop dat iemand toch met een idee komt.

Ik geef hieronder een overzicht van de tabellen waaruit de gegevens gehaald moeten worden.

GegevensPatient (1 record per patiënt)
  • Unieke code (sleutelwaarde)
  • Achternaam
  • Voornaam
  • Geboortedatum
  • Geslacht
  • Roker
  • Opleidingsniveau
  • Type IBD
  • Diagnosedatum

GegevensAantasting (meerdere records per patiënt)
  • Unieke code
  • Aantasting

GegevensBehandeling (meerdere records per patiënt)
  • Unieke code
  • Type behandeling
  • Dosis
  • Frequentie
  • Startdatum
  • Stopdatum

GegevensBehandelingNevenwerking (meerdere records per patiënt)
  • Unieke code
  • Behandeling
  • Nevenwerking

GegevensComplicaties (meerdere records per patiënt)
  • Unieke code
  • Complicatie
  • Type IBD

GegevensEIAandoeningen (meerdere records per patiënt)
  • Unieke code
  • Aandoening

Het is misschien een oplossing om in elke tabel het type IBD op te slaan, zodanig dat de query “geef mij elke patiënt met [type X van IBD] die ook [ander criterium]” gemakkelijker te maken is?

De vraag is dan alleen hoe krijg ik dat type IBD telkens opgeslagen bij andere tabellen. Misschien met een .Edit? Maar dan stel ik mij de vraag: zorg ik er best voor dat het type IBD van formulier naar formulier overgebracht wordt via OpenArgs? Of kan ik ergens bij het opslaan iets inbouwen in de aard van: "waar unieke codes gelijk zijn, edit... "?

ik ga het alvast eens proberen, als iemand betere ideetjes heeft, let me know!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan