Na update van keuzelijst alle gevonden records langsgaan

Status
Niet open voor verdere reacties.

RonaldRoenhorst

Gebruiker
Lid geworden
25 dec 2008
Berichten
188
Is het mogelijk wanneer ik na het updaten van een form dmv een keuzelijst alle overgebleven records aanraak om gegevens op te halen dmv dlookup ?
Nu moet ik telkens handmatig elke record aanraken.
 
Laatst bewerkt:
Misschien moet je even uitleggen wat je wilt, want ik snap hier niks van.
 
Screenshot_1.png

Nadat de keuze lijst het formulier heeft geupdate moet de focus naar de 3e rij gaan, wanneer dit veld is gevuld naar de volgende record.
Ik kan namelijk alleen met focus of lost focus de dlookup uitvoeren.
 
Nee, dat helpt niet. Al was het maar omdat ik totaal niet begrijp waarom er alleen een DLookup kan worden uitgevoerd als een record de focus heeft. Dat heb ik namelijk nog nooit meegemaakt.
 
So? Dat kan toch? En weet je zeker dat het niet a) makkelijker en b) sneller kan?
 
Ik heb werkelijk geen idee meer

Onderstaande Dlookup wil ik uitvoeren na openen van een form

If [articlenumber] = 102 Or [articlenumber] = 104 Then
UitslagTest = DLookup("Uitslag", "tblCertificaten", "batchnumber =" & batchnumber)
End If
 
Laatst bewerkt:
Onderstaande Dlookup wil ik uitvoeren na openen van een form
Ik lees hier een aantal vreemde zaken. Om te beginnen: waarom uitvoeren bij het openen van het formulier? Dan wordt de code maar één keer uitgevoerd (bij het eerste record) en verder niet. Tweede punt: Deze code werkt alleen bij een niet-gebonden tekstvak. Je ziet dan bij alle records dezelfde waarde staan in UitslagTest. Tenzij dat veld is gebonden aan een tabelveld, maar dan zou de waarde er al lang in gestaan hebben. Wat jij wil, snel alle records doorlopen, betekent dus, als dat al zou kunnen, dat je in een doorlopend formulier met (zeg) 20 records heel snel alle waarden bij elk record ziet verschijnen, en dat het formulier eindigt met het laatste record, zodat het tekstvak bij alle records de uitkomst laat zien van het laatste record. Wil je voor het actieve record de waarde zien, dan moet je de code dus zetten bij de gebeurtenis <Bij aanwijzen>. Dan krijgt UitslagTest de waarde van het actieve record. Dat je dan ook weer bij alle records terugziet.

Tot hier toe lijken mij alle varianten nogal zinloos. Maar dat is omdat ik de db verder niet ken. Als elk record zijn eigen uitkomst heeft (en dat zal toch wel?), dan zou ik de DLookup dus in de onderliggende query zetten, en het verkregen veld op het formulier plaatsen. Ben je van alle problemen af.
 
Door de Dlookup op de query te plaatsen is het geheel vreselijk traag geworden.
Ik probeer toch nog maar eens verder door de records door te lopen of met een loop automatisch.
 
Als je nou eens zou uitleggen wat je nu eigenlijk wilt, en daar dan een voorbeeldje bij doen, dan scheelt dat een hoop tijd voor jou, denk ik. Mij maakt het niet uit hoe lang het draadje loopt :). Maar ik had in #4 al aangegeven dat het vermoedelijk een stuk sneller kan. En dat denk ik nog steeds. Inderdaad, niet met DLookup want die D-functies zijn belachelijk traag, zeker met grote datasets.
 
Ik wil aan de hand van een 2 tal voorwaarden een resultaat ophalen in het veld UitslagTest
Nu doe ik dat door over de velden heen te klikken, met een lost focus, ideaal zou zijn bij het opstarten of refresh dat het automatisch zou gaan.

If [articlenumber] = 102 Or [articlenumber] = 104 Then
UitslagTest = DLookup("Uitslag", "tblCertificaten", "batchnumber =" & batchnumber)
End If
 
Dat is ongeveer wat je eerder al beschreef. Daar heb ik niet zoveel aan, al sluit ik niet uit dat iemand anders je nu wel snapt. Vooral dit deel:
Nu doe ik dat door over de velden heen te klikken, met een lost focus, ideaal zou zijn bij het opstarten of refresh dat het automatisch zou gaan.
Ik heb dus werkelijk geen flauw idee waarom je dit zo doet. Het lijkt mij een veel te omslachtige manier van werken. En dat geldt ook voor je DLookup. Data in tabellen kun je zonder meer gelijk tonen; waarom zou je dat met een muisklik moeten doen? En als ik het probleem al niet zie, hoe kan ik dan een oplossing bedenken? Nogmaals: een database met data is zóveel makkelijker meedenken...
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan