if then in expressies

Status
Niet open voor verdere reacties.

groovers

Gebruiker
Lid geworden
29 dec 2006
Berichten
27
Beste forumlezers,

Via een opbouwfunctie voor expressies heb ik in het veld "Bedrijf eerste periode" de naam van een bedrijf geplaatst via Dlookup. Maar dit mag alleen als het ja/nee veld "1e periode" op ja staat en het jan/nee-veld "2e periode" op nee.
Hoe doe ik dat?

Gert Roovers.
 
Hallo Gert,

als je de opbouwfunctie gebruikt, en je de functie DLookup kiest, krijg je dit in je opbouwvenster te zien:

DLookup («expr»; «domein»; «criteria»)

Waar jij het over hebt zijn de criteria, die moet je dus invullen.

Tardis
 
Bedankt voor je snelle antwoord. Toch begrijp ik het niet helemaal.
Die Dlookup-functie wordt er dan een met meerdere criteria, want ik had al een criterium. Zo ziet de "oude" Dlookup-expressie eruit:

=DLookUp("[Naam]";"TblBedrijf";"[TblBedrijf!B_Id ] = " & [Keuzelijst met invoervak74] & "")

Hoe maak ik hier een functie met meerdere criteria van?

Als ik dit intyp verschijnt er altijd het eerste bedrijf uit de tabel waarin ik het opzoek:

=DLookUp("[Naam]";"TblBedrijf";"[TblBedrijf!B_Id ] = " & [Keuzelijst met invoervak74] & "" And " [Eerste stage] = " & Ja & "" And "[Tweede stage] = " & Nee & "")
 
Laatst bewerkt:
Je syntaxis klopt niet.
Probeer dit eens:

Code:
=DLookUp("[Naam]";"TblBedrijf";"[TblBedrijf!B_Id ] = " & [Keuzelijst met invoervak74] & " And [Eerste stage] = "-1" And [Tweede stage] = "0"")

Tardis
 
Tardis,

Helaas, als ik jouw syntaxis overneem krijg ik de melding "De syntaxis die u heeft opgegeven is ongeldig"...
Wellicht zit er niets anders op dan dat ik in de tabel Stageplaats een veld maak getiteld "Eerste stage", waar men dan de bedrijfsnaam van de eerste stage in moet typen en een ander veld, getiteld "Tweede stage", maar men de bedrijfsnaam van de tweede stage in moet typen. Lijkt mij een minder elegante oplossing, maar waarschijnlijk wel werkbaar. Bovendien moet je ook nu reeds aangeven of het om een eerste dan wel tweede stage gaat.
Meningen hierover?
 
Laatst bewerkt:
de suntax klop idd niet het probleem zit hem in je criteria gedeelte je gebruikt de "And" verkeerd


er moet namelijk letterlijk staan "id=1 AND niks=JA"

dit
=DLookUp("[Naam]";"TblBedrijf";"[TblBedrijf!B_Id ] = " & [Keuzelijst met invoervak74] & "")
word met een and erbij
=DLookUp("[Naam]";"TblBedrijf";"[TblBedrijf!B_Id ] = " & [Keuzelijst met invoervak74] & " And keuze=" & [veld])

suc 6
 
Ik begrijp het niet helemaal. Wat moet ik voor het woord "keuze" in de plaats zetten?
Als ik het laat staan krijg ik een foutmelding, ook "ja" , -1 of 0 werken niet, (er van uit gaande dat voor [veld] dit wordt ingevuld: [Eerste stage]).

Ook begrijp ik niet wat je bedoelt met je opmerking: "(er moet namelijk letterlijk staan "id=1 AND niks=JA")"
 
Laatst bewerkt:
Hallo Gert,

[Eerste stage] en [Tweede Stage] zijn toch wel namen van kolommen in je tabel TblBedrijf?

Sluit anders je toepassing bij, gezipt, in Access 2000 formaat.
Verwijder vertrouwelijke gegevens, zorg wel voor testgegevens.
En geef even aan over welk formulier het gaat.

Tardis
 
Ik heb het bestand gezipt en als bijlage bijgevoegd. Het formulier waar het probleem zich op doet is FrmStageplaats_L_B.
Ik waardeer het erg dat jullie zoveel moeite willen doen.
 

Bijlagen

Hallo Gert,

[Eerste stage] en [Tweede Stage] komen dus niet voor in je tabel TblBedrijf.
Niet zo vreemd dus dat eea niet werkt ;)
Maak een query gebaseerd op je tabellen met bedrijven en stageplaatsen.
Sla de query op.
Baseer je DLookup op de query.

Zet je condities mbt Eerste Stage en Tweede Stage in je query.

Tardis
 
Hallo Tardis,

Ik geloof dat het nu gelukt is. Ik heb een query gemaakt zoals jouw voorstel (q12Stage). Je laatste regel begreep ik weliswaar niet helemaal, maar na een tijdje puzzelen ziet de syntaxis er zo uit:

=DLookUp("[Naam]";"q12Stage";"[q12Stage!B_Id ] = [Keuzelijst met invoervak74] And [Eerste stage]=-1 And [Tweede stage] =0")

Je ziet dat de volledige string met de criteria tussen 1 paar aanhalingstekens is gezet.
Dit werkt!

Hartelijk dank voor de moeite!
Gert Roovers.
 
Je laatste regel begreep ik weliswaar niet helemaal

Wat ik bedoelde te zeggen is dat je je criteria ook in je query kan zetten.
Je kan ze dan weglaten uit je Dlookup.

Tardis
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan