Dsum met AND en OR

Status
Niet open voor verdere reacties.

gcjvanbeek

Gebruiker
Lid geworden
27 nov 2006
Berichten
164
Ik probeer Dsum te gebruiken met een combinatie van AND en OR :
Alle ziekteuren op een lokatie, waarbij Datum herstelmelding of Maand nog ziek in een specifieke maand vallen.

(als lokatie AND ( Datumherstel or Maand nog ziek)

Hier is de code :
Code:
Ziekteuren = DSum("[Aantal uren ziek]", "Verzuim Query1", "[StationID] =" & StationID & " AND (Datepart('m',[Datum herstelmelding]) =" & DatePart("m", Maand) & " OR Datepart('m',[MaandNZ]) =" & DatePart("m", Maand))

voor de foutmelding zie de bijlage.

Overigens de code werkt als ik een van de parameters weglaat.

Ik hoop dat iemand me kan helpen in de wirwar van aanhalingstekens, haakjes ed.

Gerard van Beek
 

Bijlagen

  • Foutmelding dsum.JPG
    Foutmelding dsum.JPG
    25 KB · Weergaven: 53
Er zit weinig consistentie in jouw gebruik van datepart (de tekens rondom de m). Wellicht werkt dit.

Ziekteuren = DSum([Aantal uren ziek], "Verzuim Query1", "[StationID] =" & StationID & " AND " & Datepart("m",[Datum herstelmelding]) & " =" & DatePart("m", Maand) & " OR " & Datepart("m",[MaandNZ]) & "=" & DatePart("m", Maand))
 
Laatst bewerkt:
Consistentie genoeg, verkeerde syntax

:confused:
Er zit weinig consistentie in jouw gebruik van datepart (de tekens rondom de m). Wellicht werkt dit.

Hallo SNB,
Je suggestie werkte ook niet. Ik heb ook TEK TIPS geraadpleegd. Die heeft me de volgende oplossing aangedragen :
Code:
Ziekteuren = DSum("[Aantal uren ziek]", "Verzuim Query1", "[StationID]=" & StationID & " AND (Datepart('m',[Datum herstelmelding])=" & DatePart("m", Maand) & " OR Datepart('m',[MaandNZ])=" & DatePart("m", Maand) & [COLOR="Red"]")"[/COLOR])

Ik had dus een verkeerde systax gebruikt. De gebruikte tekens rond de "m" waren wel juist.
Weet jij wellicht waar ik een beschrijving kan vinden voor het gebruik van aanhalingstekens, haakjes e.d. bij het gebruik van Dsum, Dcount e.d. ?
In ieder geval bedankt voor je reaktie.

Groeten,
Gerard van Beek
 
Ik heb mijn vorige suggestie aangepast. Hoewel ik hem hier niet kan testen, vermoed ik dat ie het nu wel doet.

2e vraag: Algemene regel bij Bijv. Dsum:
De expressie heeft de volgende struktuur
DSum(veld, tekstreeks,tekstreeks)

De moeilijkste tekstreeks is de laatste, het voorwaardendeel.
Die kun je het simpelst testen door hem eerst in een variabele te zetten bijv.
c0="[StationID] =" & StationID & " AND " & Datepart("m",[Datum herstelmelding]) & " =" & DatePart("m", Maand) & " OR " & Datepart("m",[MaandNZ]) & "=" & DatePart("m", Maand)
Als hier iets foutgaat krijg je meteen een melding. Je kunt ook met het venster direct, of door de cursor boven c0 te houden meteen zien wat er fout gaat.

de constructie:
c0= "[StationID] =" & StationID & " AND " & Datepart("m",[Datum herstelmelding]) & " =" & DatePart("m", Maand) & " OR " & Datepart("m",[MaandNZ]) & "=" & DatePart("m", Maand)
Ziekteuren = DSum("[Aantal uren ziek]", "Verzuim Query1", c0)

Maakt het testwerk een stuk eenvoudiger.
 
Opgelost

Bedankt voor je antwoorden.

De nieuwe code werkt ook niet. Co blijft leeg.

De code met aanpassing van Tek Tips werkt gelukkig wel. We kunnen dit item dus sluiten.

Groet,
Gerard van Beek:)
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan