Discussion:
DLookUp gebruiken?
(te oud om op te antwoorden)
Jere
2009-07-24 20:13:01 UTC
Permalink
dag iedereen,
ik zit met het volgende probleem: ik heb tabel 1 welke 5 kolommen bevat,
autonummering, datum, locatie, gemeente en land. De gegevens worden in
formulier 1 ingevoerd. Op het hoofdformulier staan de 4 velden datum,
locatie, gemeente en land onder elkaar waarbij Datum een keuzelijst is en de
3 andere gewone velden. De bedoeling is om in, in het hoofdformulier een
keuze te maken bij Datum waarbij de 3 andere velden automatisch worden
ingevuld.
Wat heb ik gedaan? Van tabel 1 heb ik 4maal dat veld op het hoofdformulier
geplaatst waarbij ik voor vb Locatie enkel de betreffende 3de kolom zichtbaar
maak. Omdat het de bedoeling is om via Datum de 3 andere velden in te vullen,
heb ik van deze keuzelijsten een gewoon veld gemaakt. Hierdoor veranderen de
gegevens in deze velden in het bijhorende autonummeringsgegeven en dat is
niet de bedoeling. Mijn vraag is dus: met welke expressie van DLookUp kan ik
dit bekomen. Zoals je wel gemerkt heb, is mijn kennis van Access beperkt.
groetjes
Jere
j van c
2009-07-25 06:53:52 UTC
Permalink
ik heb tabel 1 welke 5 kolommen bevat: autonummering, datum, locatie,
gemeente en land.
het hoofdformulier staan de 4 velden: datum(keuzelijst), locatie, gemeente
en land (3 tekstvakken)
De bedoeling is om in, in het hoofdformulier een keuze te maken bij Datum
<waarbij de 3 andere velden automatisch worden ingevuld.

kun je eens uitleggen hoe de keuze van een datum bepalend is voor de keuze
van een locatie, gemeente of land?

je kunt wel de standaardwaarden van de velden locatie,gemeente en land
instellen op een bepaalde waarde.
Jere
2009-07-27 13:26:01 UTC
Permalink
Allereerst bedankt voor je interese.
Een woordje uitleg is op zijn plaats: tabel tblPlaats bevat de 5 kolommen
met ID, datum, locatie, gemeente en land. Hierin noteer ik alle uitstappen
naar een groeve, strand enz waar ik fossielen gevonden heb. vb
1 24/3/2008 Strand Cap Blanc Nez Frankrijk
2 17/8/2008 A12 Hoevenen België
enz

Stel dat ik in Cap Blanc Nez 26 fossielen heb gevonden, dan creëer ik in het
hoofdformlulier 26 records. In het veld Datum kies ik 24/3/2008 waarbij de 3
velden automatisch worden ingevuld met Strand Cap Blanc Nez Frankrijk.
Ik heb bewust gekozen voor deze constructie zonder relaties omdat er heelwat
beperkingen zijn.
Zoals het nu is krijg ik in de 3 velden de waarde te zien van de
overeenstemmende ID. Welke code moet ik inbrengen om mij de waarde van de
betreffende kolom te geven?
groetjes
Post by j van c
ik heb tabel 1 welke 5 kolommen bevat: autonummering, datum, locatie,
gemeente en land.
het hoofdformulier staan de 4 velden: datum(keuzelijst), locatie, gemeente
en land (3 tekstvakken)
De bedoeling is om in, in het hoofdformulier een keuze te maken bij Datum
<waarbij de 3 andere velden automatisch worden ingevuld.
kun je eens uitleggen hoe de keuze van een datum bepalend is voor de keuze
van een locatie, gemeente of land?
je kunt wel de standaardwaarden van de velden locatie,gemeente en land
instellen op een bepaalde waarde.
j van c
2009-07-28 06:58:21 UTC
Permalink
Als je niet werkt met relationele tabellen zal je achteraf meer problemen
hebben om je database werkbaar te houden.

Hoedanook zal je steeds éénmaal "Strand Cap Blanc Nez Frankrijk" moeten
ingeven.
Eenmaal deze is ingegeven, kun je die veldwaarden aan de hand van de datum
ophalen en in je tekstvakken plaatsen.
Ik hoop dat je dan nooit meer dan dan 1 gemeente/land per dag bezoekt.
Anders moet je opnieuw werken met keuzelijsten.

Daar je per dag in dit voorbeeld 26 records creert , zullen er
waarschijnlijk nog meerdere velden in je tabel zijn. Anders heeft dat geen
zin.

Hiermee zou het moeten lukken

Private Sub Form_Current()
Dim rst As dao.Recordset
If Me.NewRecord = True Then
Set rst = CurrentDb.OpenRecordset("select * from uwtabel where datum = #" &
me.datum & "#")
if not (rst.eof and rst.bof) then
Me.[locatie].DefaultValue = "'" & rst.Fields("locatie") & "'"
Me.[gemeente].DefaultValue = "'" & rst.Fields("gemeente") & "'"
Me.[land].DefaultValue = "'" & rst.Fields("land") & "'"
else
Me.[locatie].DefaultValue = ""
Me.[gemeente].DefaultValue =""
Me.[land].DefaultValue = ""
end if

End If
End Sub
Post by Jere
Allereerst bedankt voor je interese.
Een woordje uitleg is op zijn plaats: tabel tblPlaats bevat de 5 kolommen
met ID, datum, locatie, gemeente en land. Hierin noteer ik alle uitstappen
naar een groeve, strand enz waar ik fossielen gevonden heb. vb
1 24/3/2008 Strand Cap Blanc Nez Frankrijk
2 17/8/2008 A12 Hoevenen België
enz
Stel dat ik in Cap Blanc Nez 26 fossielen heb gevonden, dan creëer ik in het
hoofdformlulier 26 records. In het veld Datum kies ik 24/3/2008 waarbij de 3
velden automatisch worden ingevuld met Strand Cap Blanc Nez Frankrijk.
Ik heb bewust gekozen voor deze constructie zonder relaties omdat er heelwat
beperkingen zijn.
Zoals het nu is krijg ik in de 3 velden de waarde te zien van de
overeenstemmende ID. Welke code moet ik inbrengen om mij de waarde van de
betreffende kolom te geven?
groetjes
Post by j van c
ik heb tabel 1 welke 5 kolommen bevat: autonummering, datum, locatie,
gemeente en land.
het hoofdformulier staan de 4 velden: datum(keuzelijst), locatie, gemeente
en land (3 tekstvakken)
De bedoeling is om in, in het hoofdformulier een keuze te maken bij Datum
<waarbij de 3 andere velden automatisch worden ingevuld.
kun je eens uitleggen hoe de keuze van een datum bepalend is voor de keuze
van een locatie, gemeente of land?
je kunt wel de standaardwaarden van de velden locatie,gemeente en land
instellen op een bepaalde waarde.
Jere
2009-07-31 16:35:01 UTC
Permalink
Dag J
bedankt voor je hulp.
Ik wil even terugkomen op je opmerking ( Ik hoop dat je dan nooit meer dan
dan 1 gemeente/land per dag bezoekt.) Dit is zeer terecht.

Piste 1
Dit is de reden waarom ik een autonummeringsveld heb toegevoegd, dat als
index dient. Zodoende kan ik op 1 dag meerdere locaties ingeven.
In de gebeurtenisprocedure die jij voorstelt vind ik geen verwijziging naar
dit veld en gebruik je Datum. Is het mogelijk om de procedure te doen werken
gebaseerd op ID?
Piste 2:
Indien piste 1 niet mogelijk is door beperkingen van Access, rest mij piste
2: namelijk werken met Dag+1, enz. Ik heb de procedure geprobeerd maar krijg
een foutmelding: compileerfout, verwacht expressie.
Mijn 2de vraag hierbij is dan wel, omdat ik van de keuzelijst een gewoon
veld maak kan ik de procedure inlassen onder "Gebeurtenis", maar onder welke
actie?
groetjes
Jere
Post by j van c
Als je niet werkt met relationele tabellen zal je achteraf meer problemen
hebben om je database werkbaar te houden.
Hoedanook zal je steeds éénmaal "Strand Cap Blanc Nez Frankrijk" moeten
ingeven.
Eenmaal deze is ingegeven, kun je die veldwaarden aan de hand van de datum
ophalen en in je tekstvakken plaatsen.
Ik hoop dat je dan nooit meer dan dan 1 gemeente/land per dag bezoekt.
Anders moet je opnieuw werken met keuzelijsten.
Daar je per dag in dit voorbeeld 26 records creert , zullen er
waarschijnlijk nog meerdere velden in je tabel zijn. Anders heeft dat geen
zin.
Hiermee zou het moeten lukken
Private Sub Form_Current()
Dim rst As dao.Recordset
If Me.NewRecord = True Then
Set rst = CurrentDb.OpenRecordset("select * from uwtabel where datum = #" &
me.datum & "#")
if not (rst.eof and rst.bof) then
Me.[locatie].DefaultValue = "'" & rst.Fields("locatie") & "'"
Me.[gemeente].DefaultValue = "'" & rst.Fields("gemeente") & "'"
Me.[land].DefaultValue = "'" & rst.Fields("land") & "'"
else
Me.[locatie].DefaultValue = ""
Me.[gemeente].DefaultValue =""
Me.[land].DefaultValue = ""
end if
End If
End Sub
Post by Jere
Allereerst bedankt voor je interese.
Een woordje uitleg is op zijn plaats: tabel tblPlaats bevat de 5 kolommen
met ID, datum, locatie, gemeente en land. Hierin noteer ik alle uitstappen
naar een groeve, strand enz waar ik fossielen gevonden heb. vb
1 24/3/2008 Strand Cap Blanc Nez Frankrijk
2 17/8/2008 A12 Hoevenen België
enz
Stel dat ik in Cap Blanc Nez 26 fossielen heb gevonden, dan creëer ik in het
hoofdformlulier 26 records. In het veld Datum kies ik 24/3/2008 waarbij de 3
velden automatisch worden ingevuld met Strand Cap Blanc Nez Frankrijk.
Ik heb bewust gekozen voor deze constructie zonder relaties omdat er heelwat
beperkingen zijn.
Zoals het nu is krijg ik in de 3 velden de waarde te zien van de
overeenstemmende ID. Welke code moet ik inbrengen om mij de waarde van de
betreffende kolom te geven?
groetjes
Post by j van c
ik heb tabel 1 welke 5 kolommen bevat: autonummering, datum, locatie,
gemeente en land.
het hoofdformulier staan de 4 velden: datum(keuzelijst), locatie, gemeente
en land (3 tekstvakken)
De bedoeling is om in, in het hoofdformulier een keuze te maken bij Datum
<waarbij de 3 andere velden automatisch worden ingevuld.
kun je eens uitleggen hoe de keuze van een datum bepalend is voor de keuze
van een locatie, gemeente of land?
je kunt wel de standaardwaarden van de velden locatie,gemeente en land
instellen op een bepaalde waarde.
j van c
2009-08-01 07:22:08 UTC
Permalink
Post by Jere
Ik wil even terugkomen op je opmerking ( Ik hoop dat je dan nooit meer dan
dan 1 gemeente/land per dag bezoekt.) Dit is zeer terecht.
Piste 1
Dit is de reden waarom ik een autonummeringsveld heb toegevoegd, dat als
index dient. Zodoende kan ik op 1 dag meerdere locaties ingeven.
In de gebeurtenisprocedure die jij voorstelt vind ik geen verwijziging naar
dit veld en gebruik je Datum. Is het mogelijk om de procedure te doen werken
gebaseerd op ID?
Indien piste 1 niet mogelijk is door beperkingen van Access, rest mij piste
2: namelijk werken met Dag+1, enz. Ik heb de procedure geprobeerd maar krijg
een foutmelding: compileerfout, verwacht expressie.
Mijn 2de vraag hierbij is dan wel, omdat ik van de keuzelijst een gewoon
veld maak kan ik de procedure inlassen onder "Gebeurtenis", maar onder welke
actie?
na bijwerken of bij klikken voor een listbox

Een autonummeringsveld heeft enkel nut als je met relationele tabellen
werkt.(een soort van verwijzingsgetal)
Post by Jere
Is het mogelijk om de procedure te doen werken gebaseerd op ID?
Alleen weet je niet op welke Id. Een datum is concreet. Een autonummering
niet. Je kunt natuurlijk gaan zoeken naar id 26. Maar was het niet 25 of
28?Dat kun je niet concretiseren.

jou vraag was
Post by Jere
De bedoeling is om in, in het hoofdformulier een keuze te maken bij Datum
<waarbij de 3 andere velden automatisch worden ingevuld.

dus bij klikken op een datum kun je meerdere records (zeg maar locaties)
bekomen.
Het autonummeringsveld verandert daar niets aan. Krijg je per datum
mogelijks meerdere id-nrs.
Een oplossing is voor gemeente en land listboxen te gebruiken zodat je voor
een gekozen datum meerdere mogelijkheden kunt weergeven.

De andere oplossing is een tabel maken met de velden locatie, datum,
gemeente en land en autonummeringveld.
In een tweede tabel noteer je dan de 26 fossielen

Hierin noteer ik alle uitstappen naar een groeve, strand enz waar ik
fossielen gevonden heb. vb
1 24/3/2008 Strand Cap Blanc Nez Frankrijk ==> fossiel1
2 24/3/2008 Strand Cap Blanc Nez Frankrijk ==> fossiel2
3 24/3/2008 Strand Cap Blanc Nez Frankrijk ==> fossiel3
4 24/3/2008 Strand Cap Blanc Nez Frankrijk ==> fossiel4
5 24/3/2008 Strand Cap Blanc Nez Frankrijk ==> fossiel5
2 17/8/2008 A12 Hoevenen België ==> fossiel1

bovenstaande wordt dan
tabel1:
1 24/3/2008 Strand Cap Blanc Nez Frankrijk
2 17/8/2008 A12 Hoevenen België
tabel 2:
1 fossiel 1
1 fossiel 2
1 fossiel 3
...
1 fossile 26
2 gfosiiel 1
Jere
2009-08-06 07:15:01 UTC
Permalink
dag J

Ik begrijp dat je een autonummeringsveld nodig hebt in het geval dat je een
relatie wilt leggen tussen 2 tabellen. Maar een doe-het-zelver durft zijn
hamer al eens voor andere dingen te gebruiken dan voor op nagels te
kloppen....:-)
In mijn geval beschouw ik het autonummeringsveld en de datum als een
gelijkaardig getal.
Indien ik op 1 dag echter 2 locaties, gemeentes zou bezoeken heb ik een
probleem. Door aan elke datum een nieuwe referentie, getal te koppelen krijgt
elke locatie toch een unieke waarde. Het autonummeringsveld wordt enkel en
alleen hiervoor gebruikt. Bij het klikken op Datum in het hoofdformulier
krijg je zodoende slechts 1 locatie, gemeente en land.
Door deze discussie heb ik net bedacht om dit op lossen door van het veld
Datum een gewone tekst te maken. De datum kan ik dan laten voorafgaan door
een getal, vb: 1) 20-08-2008. Op die manier is alles opgelost.
Ik heb dit nu aangepast en geprobeerd met de door jou opgegeven
gebeurtenisprocedure maar ik krijg hierop een foutmelding en wel op de
volgende tekst:

Set rst = CurrentDb.OpenRecordset("select * from tblPlaats where datum = #" &
Hier krijg ik de melding van een syntaxisfout.

Een tweede fout gebeurt er als ik doorklik, dan krijg ik de melding: Er is
een dubbelzinnige naam gevonden: Form-current.
Als ik Form-current vervang door "Private Sub Locatie_AfterUpdate()" blijkt
dit in orde te zijn. Dit is allemaal chinees voor mij, dus als je mij hier
nog even mee kan helpen?

groetjes
Post by j van c
Post by Jere
Ik wil even terugkomen op je opmerking ( Ik hoop dat je dan nooit meer dan
dan 1 gemeente/land per dag bezoekt.) Dit is zeer terecht.
Piste 1
Dit is de reden waarom ik een autonummeringsveld heb toegevoegd, dat als
index dient. Zodoende kan ik op 1 dag meerdere locaties ingeven.
In de gebeurtenisprocedure die jij voorstelt vind ik geen verwijziging naar
dit veld en gebruik je Datum. Is het mogelijk om de procedure te doen werken
gebaseerd op ID?
Indien piste 1 niet mogelijk is door beperkingen van Access, rest mij piste
2: namelijk werken met Dag+1, enz. Ik heb de procedure geprobeerd maar krijg
een foutmelding: compileerfout, verwacht expressie.
Mijn 2de vraag hierbij is dan wel, omdat ik van de keuzelijst een gewoon
veld maak kan ik de procedure inlassen onder "Gebeurtenis", maar onder welke
actie?
na bijwerken of bij klikken voor een listbox
Een autonummeringsveld heeft enkel nut als je met relationele tabellen
werkt.(een soort van verwijzingsgetal)
Post by Jere
Is het mogelijk om de procedure te doen werken gebaseerd op ID?
Alleen weet je niet op welke Id. Een datum is concreet. Een autonummering
niet. Je kunt natuurlijk gaan zoeken naar id 26. Maar was het niet 25 of
28?Dat kun je niet concretiseren.
jou vraag was
Post by Jere
De bedoeling is om in, in het hoofdformulier een keuze te maken bij Datum
<waarbij de 3 andere velden automatisch worden ingevuld.
dus bij klikken op een datum kun je meerdere records (zeg maar locaties)
bekomen.
Het autonummeringsveld verandert daar niets aan. Krijg je per datum
mogelijks meerdere id-nrs.
Een oplossing is voor gemeente en land listboxen te gebruiken zodat je voor
een gekozen datum meerdere mogelijkheden kunt weergeven.
De andere oplossing is een tabel maken met de velden locatie, datum,
gemeente en land en autonummeringveld.
In een tweede tabel noteer je dan de 26 fossielen
Hierin noteer ik alle uitstappen naar een groeve, strand enz waar ik
fossielen gevonden heb. vb
1 24/3/2008 Strand Cap Blanc Nez Frankrijk ==> fossiel1
2 24/3/2008 Strand Cap Blanc Nez Frankrijk ==> fossiel2
3 24/3/2008 Strand Cap Blanc Nez Frankrijk ==> fossiel3
4 24/3/2008 Strand Cap Blanc Nez Frankrijk ==> fossiel4
5 24/3/2008 Strand Cap Blanc Nez Frankrijk ==> fossiel5
2 17/8/2008 A12 Hoevenen België ==> fossiel1
bovenstaande wordt dan
1 24/3/2008 Strand Cap Blanc Nez Frankrijk
2 17/8/2008 A12 Hoevenen België
1 fossiel 1
1 fossiel 2
1 fossiel 3
....
1 fossile 26
2 gfosiiel 1
j van c
2009-08-06 09:17:53 UTC
Permalink
Post by Jere
Een tweede fout gebeurt er als ik doorklik, dan krijg ik de melding: Er is
een dubbelzinnige naam gevonden: Form-current.
Als ik Form-current vervang door "Private Sub Locatie_AfterUpdate()" blijkt
dit in orde te zijn. Dit is allemaal chinees voor mij, dus als je mij hier
nog even mee kan helpen?
vervang het streepje tussen form en current door een underscore
private sub form_current()

Je had ook een listbox kunnen gebruiken met de 2 velden autonummering en
datum
Uiteraard weet je nog steeds niet welke locatie gekoppeld is aan bvb
1 29-08-2008
2 29-08-2008

1 kan Frankrijk zijn, maar het kon net zogoed 2 zijn.
Nu als de mogelijkheden beperkt zijn, lukt dat nog, maar als je tientallen
locaties zou doen op een dag (zou) dan is da niet meer zo handig
Jere
2009-08-07 04:56:01 UTC
Permalink
dag J

Kan je nog even vertellen wat er fout is in de volgende regel:

Set rst = CurrentDb.OpenRecordset("select * from tblPlaats where datum = #" &
Hier krijg ik de melding van een syntaxisfout.

Om even terug te komen op je laatste opmerking:(Uiteraard weet je nog steeds
niet welke locatie gekoppeld is aan bvb...)
Dit los ik op door in het veld Datum, bij aanklikken, de kolom te laten zien
met de gemeentes. (Dit in het hoofdformulier)
De uitzondering om meerdere locaties op 1 te bezoeken kan zich voordoen,
maar is eerder uitzonderlijk.
groetjes
Post by j van c
Post by Jere
Een tweede fout gebeurt er als ik doorklik, dan krijg ik de melding: Er is
een dubbelzinnige naam gevonden: Form-current.
Als ik Form-current vervang door "Private Sub Locatie_AfterUpdate()" blijkt
dit in orde te zijn. Dit is allemaal chinees voor mij, dus als je mij hier
nog even mee kan helpen?
vervang het streepje tussen form en current door een underscore
private sub form_current()
Je had ook een listbox kunnen gebruiken met de 2 velden autonummering en
datum
Uiteraard weet je nog steeds niet welke locatie gekoppeld is aan bvb
1 29-08-2008
2 29-08-2008
1 kan Frankrijk zijn, maar het kon net zogoed 2 zijn.
Nu als de mogelijkheden beperkt zijn, lukt dat nog, maar als je tientallen
locaties zou doen op een dag (zou) dan is da niet meer zo handig
j van c
2009-08-07 06:31:24 UTC
Permalink
Post by Jere
Set rst = CurrentDb.OpenRecordset("select * from tblPlaats where datum = #" &
De regel is niet af..
Een datum wordt tussen 2 # geplaatst. Een ontbreekt en er is geen datum.
"select * from tblPlaats where datum = #" & een datum & "#"

een datum kan zijn;
-letterlijk
"select * from tblPlaats where datum = #15/01/2009#"
-een verwijzing naar een object op een fomulier of een ander geopend object
"select * from tblPlaats where datum = #" & forms!formulier!datumveld & "#"
-een variabele in je code
dim dat as date
dat=date()
"select * from tblPlaats where datum = #" & dat & "#"
Jere
2009-08-07 19:57:02 UTC
Permalink
ik veronderstel dat de variabele van toepassing is? Maar waar moet ik
dim dat as date
dat=date()
plaatsen? Is dat na If me. new record....?

Aangezien de gebeurtenisprocedure een verwijzing bevat (???, nog eens, dit
is hokuspokus voor mij) naar de kolom Locatie, te gebruiken in het veld
Locatie, moet ik deze dan niet aanpassen voor het veld Gemeente, om de
gegevens uit de kolom Gemeente te halen, en idem voor Land?
Post by j van c
Post by Jere
Set rst = CurrentDb.OpenRecordset("select * from tblPlaats where datum = #" &
De regel is niet af..
Een datum wordt tussen 2 # geplaatst. Een ontbreekt en er is geen datum.
"select * from tblPlaats where datum = #" & een datum & "#"
een datum kan zijn;
-letterlijk
"select * from tblPlaats where datum = #15/01/2009#"
-een verwijzing naar een object op een fomulier of een ander geopend object
"select * from tblPlaats where datum = #" & forms!formulier!datumveld & "#"
-een variabele in je code
dim dat as date
dat=date()
"select * from tblPlaats where datum = #" & dat & "#"
j van c
2009-08-08 09:01:56 UTC
Permalink
Post by Jere
ik veronderstel dat de variabele van toepassing is? Maar waar moet ik
Post by j van c
dat=date()
plaatsen? Is dat na If me. new record....?
dim dat as date
declareren en initialiseren doe je best vooraan in procedure. Kwestie van
overzicht te houden.
Maar het mag ook halverwege, in alle geval voor je de variable nodig hebt.
Post by Jere
dat=date()
de toekenning van een waarde moet je doen daar waar nodig.
Post by Jere
Aangezien de gebeurtenisprocedure een verwijzing bevat (???, nog eens, dit
is hokuspokus voor mij) naar de kolom Locatie, te gebruiken in het veld
Locatie, moet ik deze dan niet aanpassen voor het veld Gemeente, om de
gegevens uit de kolom Gemeente te halen, en idem voor Land?
de recordset rst bevat deze gegevens.
deze zijn op te vragen door
msgbox rst.fields(0) of msgbox rst.fields("Locatie")

of txtlocatie.text=rst.fields("Locatie")

afhankelijk wat je precies wilt.
Jere
2009-08-09 09:43:01 UTC
Permalink
Ik zal me eerst even concentreren op het veld Locatie.


Private Sub Form_Current()
dim dat as date
Dim rst As dao.Recordset
If Me.NewRecord = True Then
Set rst = CurrentDb.OpenRecordset("select * from tblPlaats where datum = #"
& date & "#")
dat=date()
if not (rst.eof and rst.bof) then
Me.[locatie].DefaultValue = "'" & rst.Fields("locatie") & "'"
Me.[gemeente].DefaultValue = "'" & rst.Fields("gemeente") & "'"
Me.[land].DefaultValue = "'" & rst.Fields("land") & "'"
else
Me.[locatie].DefaultValue = ""
Me.[gemeente].DefaultValue =""
Me.[land].DefaultValue = ""
end if

End If
End Sub

Klopt dit een beetje



de recordset rst bevat deze gegevens. Deze zijn op te vragen door
msgbox rst.fields(0) of
msgbox rst.fields("Locatie")of
txtlocatie.text=rst.fields("Locatie")
afhankelijk wat je precies wilt.

TabelPlaats telt 4 kolommen, Datum, locatie, Gemeente en Land. In veld
Locatie moet komen, de waarde die overeenstemt met de waarde uit het vled
Datum. Wat is het verschil tussen de drie mogelijkheden?
Post by j van c
Post by Jere
ik veronderstel dat de variabele van toepassing is? Maar waar moet ik
Post by j van c
dat=date()
plaatsen? Is dat na If me. new record....?
dim dat as date
declareren en initialiseren doe je best vooraan in procedure. Kwestie van
overzicht te houden.
Maar het mag ook halverwege, in alle geval voor je de variable nodig hebt.
Post by Jere
dat=date()
de toekenning van een waarde moet je doen daar waar nodig.
Post by Jere
Aangezien de gebeurtenisprocedure een verwijzing bevat (???, nog eens, dit
is hokuspokus voor mij) naar de kolom Locatie, te gebruiken in het veld
Locatie, moet ik deze dan niet aanpassen voor het veld Gemeente, om de
gegevens uit de kolom Gemeente te halen, en idem voor Land?
de recordset rst bevat deze gegevens.
deze zijn op te vragen door
msgbox rst.fields(0) of msgbox rst.fields("Locatie")
of txtlocatie.text=rst.fields("Locatie")
afhankelijk wat je precies wilt.
j van c
2009-08-09 19:26:40 UTC
Permalink
Post by j van c
Private Sub Form_Current()
dim dat as date
Dim rst As dao.Recordset
If Me.NewRecord = True Then
Post by j van c
Post by j van c
dat=date()
Set rst = CurrentDb.OpenRecordset("select * from tblPlaats where datum = #"
Post by j van c
Post by j van c
& dat & "#")
if not (rst.eof and rst.bof) then
Me.[locatie].DefaultValue = "'" & rst.Fields("locatie") & "'"
Me.[gemeente].DefaultValue = "'" & rst.Fields("gemeente") & "'"
Me.[land].DefaultValue = "'" & rst.Fields("land") & "'"
else
Me.[locatie].DefaultValue = ""
Me.[gemeente].DefaultValue =""
Me.[land].DefaultValue = ""
end if
End If
End Sub
Klopt dit een beetje
Dat zit in de goede richting. 2 kleine aanpassingen zie >>>
Jere
2009-08-10 16:14:01 UTC
Permalink
wat moet ik nu juist doen met die keuze van de recordset? Moet dat ook nog
opgenomen worden in de procedure?
Laten we het veld locatie nemen waar de waarde moet komen, overeenkomende
met de waarde van datum, opgezocht in de kolom Locatie.
Welke van de drie is dan van toepassing? Heb al in de help file hierover
gezocht
groetjes
Post by j van c
Post by j van c
Private Sub Form_Current()
dim dat as date
Dim rst As dao.Recordset
If Me.NewRecord = True Then
Post by j van c
Post by j van c
dat=date()
Set rst = CurrentDb.OpenRecordset("select * from tblPlaats where datum = #"
Post by j van c
Post by j van c
& dat & "#")
if not (rst.eof and rst.bof) then
Me.[locatie].DefaultValue = "'" & rst.Fields("locatie") & "'"
Me.[gemeente].DefaultValue = "'" & rst.Fields("gemeente") & "'"
Me.[land].DefaultValue = "'" & rst.Fields("land") & "'"
else
Me.[locatie].DefaultValue = ""
Me.[gemeente].DefaultValue =""
Me.[land].DefaultValue = ""
end if
End If
End Sub
Klopt dit een beetje
Dat zit in de goede richting. 2 kleine aanpassingen zie >>>
Lees verder op narkive:
Loading...