keuzelijst met invoervak om records op te zoeken in formulier

Status
Niet open voor verdere reacties.

pdater

Gebruiker
Lid geworden
10 mei 2010
Berichten
55
Hallo,
Ik heb in mijn formulier een keuzelijst met invoervak staan en hierdoor zoek ik direct snel de gewenste record op. Alleen merk ik dat in een vroegere versie ('97) van access het mogelijk was om via de wizard dit keuzevak te creeren (3e optie) alleen werkt dit nu niet meer bij access 2007. ik heb dan maar uit een eerder gemaakt formulier dit gecopieerd en dit werkte (enkel de Id in het where statement veranderen) maar nu werkt dit zelfs niet meer
Mijn vraag is dit probleem gerelateerd aan mijn pc's of hoe komt dit dat ik deze 3e optie niet meer heb via de wizard. en hoe kan ik dit weer laten werken??
dit was de where voorwaarde ="[RapportID] = " & "'" & [Screen].[ActiveControl] & "'" dit staat in een ingesloten macro van het keuzevak (na bijwerken)
Ik ben wel gene straffen in VBA
Alvast bedankt voor de info.
gr Rik,
 
Het probleem dat je hebt heeft vermoedelijk niks te maken met de versie, maar alles met de recordbron van je formulier. De derde optie in de wizard krijg je namelijk alleen te zien als het formulier is gebaseerd op een tabel of op een opgeslagen query. Als je een SELECT als recordbron gebruikt, heb je de derde optie niet. En dat werkte ook al zo in de oudere versies.... De oplossing is dus: open de Recordbron van je query in het queryontwerpscherm, en sla de query op. Dan heb je de derde optie weer terug.
 
Laatst bewerkt:
Het probleem dat je hebt heeft vermoedelijk niks te maken met de versie, maar alles met de recordbron van je formulier. De derde optie in de wizard krijg je namelijk alleen te zien als het formulier is gebaseerd op een tabel of op een opgeslagen query. Als je een SELECT als rijbron gebruikt, heb je de derde optie niet. En dat werkte ook al zo in de oudere versies.... De oplossing is dus: open de Recordbron van je query in het queryontwerpscherm, en sla de query op. Dan heb je de derde optie weer terug.

Dat is het nou net, ik dacht ook dat het te maken had met de onderliggende data maar dat is het duidelijk niet want ik heb het formulier opnieuw gemaakt en alleen maar rechtstreeks gebaseerd op 1 tabel en het lukt ook niet. ik vind dit zeer eigenaardig. is er een andere oplossing om dit om te lossen? ik snap het niet.
Dus alle info is welkom
gr,
Rik
 
Ik heb zelf kort met 2007 gestoeid voordat ik 'm uit het raam heb gesodemietert; nu ben ik al een tijdje met 2010 aan het stoeien: de optie is nooit weg geweest, en is derhalve nog steeds aanwezig. Sterker nog: als ik een formulier op een tabel baseer, dan is de optie beschikbaar. Maak ik vervolgens via de knop met de drie puntjes een query van de tabel, en sla ik het formulier op, dan is hij weg; open ik dan de query met de puntjesknop, en sla ik de query op, dan is-tie weer terug.... Het ligt dus niet aan de access versie. Maak anders een voorbeeldje, dan kijk ik daar wel even naar.
 
Ik heb zelf kort met 2007 gestoeid voordat ik 'm uit het raam heb gesodemietert; nu ben ik al een tijdje met 2010 aan het stoeien: de optie is nooit weg geweest, en is derhalve nog steeds aanwezig. Sterker nog: als ik een formulier op een tabel baseer, dan is de optie beschikbaar. Maak ik vervolgens via de knop met de drie puntjes een query van de tabel, en sla ik het formulier op, dan is hij weg; open ik dan de query met de puntjesknop, en sla ik de query op, dan is-tie weer terug.... Het ligt dus niet aan de access versie. Maak anders een voorbeeldje, dan kijk ik daar wel even naar.
Beste Octafish,
Toch lijkt het bij mij niet te lukken, ik snap het niet. ik heb alvast het voorbeeld in bijlage. (op het frmverslagen heb ik de vraag vermeld)
Ik had ook nog een andere vraag nl het kunnen versturen van een rpt als pdf bijlage en dit naar meerdere emailadressen te gelijk. al is dit probleem echter ondergeschikt aan het huidige.
Alvast bedankt voor uw inspanning.
gr,
Rik
Bekijk bijlage databank.rar
 
Zoals ik al zei: je hebt een SELECT query als recordbron.
Code:
SELECT tblRapportering.ID, tblRapportering.rapportID, etc.  FROM (tblLeerjaar INNER JOIN (tblKlas INNER JOIN tblLeerling ON tblKlas.klasID=tblLeerling.klasID) ON tblLeerjaar.leerjaarID=tblLeerling.LeerjaarID) INNER JOIN (tblRapportering INNER JOIN tblJuffen ON tblRapportering.Auteur=tblJuffen.JufID) ON tblLeerling.StamnrID=tblRapportering.stamnrID;

Sla de query op, en je hebt de optie om een record te zoeken weer terug...
 
Laatst bewerkt:
keuzelijst met invoervak

beste octafish,

het is inderdaad op deze manier opgelost. blijkbaar heb ik vroeger steeds eerst een query gemaakt maar nu niet meer, de reden is om het aantal queriers te verminderen, ik vraag mij ook af wat de beste manier is (welke nadelen zijn er als je dit niet doet buiten het feit dat de de 3e optie niet meer ziet?
Alvast bedankt,
Rik
 
Als je de derde optie wilt gebruiken zonder de query op te slaan, moet je de code zelf maken met VBA. De werking van de keuzelijst is dan krek hetzelfde. De enige reden die ik kan verzinnen waarom je de keuzelijst alleen met een opgeslagen query kunt maken is dat Access bij het maken van keuzelijsten gebruik maakt van verwijzingen naar bestaande objecten. Bij een dynamische query als bron is die niet terug te vinden. Maar ik geef mijn mening uiteraard graag op voor een betere! Je zou zou zelfs tijdelijk een vaste query kunnen gebruiken, je keuzelijst maken, en dan de vaste query weer verwijderen en vervangen voor de SELECT statement. Dan heb je The best of both worlds....
 
Als je de derde optie wilt gebruiken zonder de query op te slaan, moet je de code zelf maken met VBA. De werking van de keuzelijst is dan krek hetzelfde. De enige reden die ik kan verzinnen waarom je de keuzelijst alleen met een opgeslagen query kunt maken is dat Access bij het maken van keuzelijsten gebruik maakt van verwijzingen naar bestaande objecten. Bij een dynamische query als bron is die niet terug te vinden. Maar ik geef mijn mening uiteraard graag op voor een betere! Je zou zou zelfs tijdelijk een vaste query kunnen gebruiken, je keuzelijst maken, en dan de vaste query weer verwijderen en vervangen voor de SELECT statement. Dan heb je The best of both worlds....

Dat is nou net hoe ik het doe, alleen wist ik niet meer hoe het kwam dat ik de 3e optie niet te zien kreeg. in alle geval ik waardeer erg uw betrokkenheid en natuurlijk uw kennis over access.
thx Rik
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan