Access zoekfunctie maken

Status
Niet open voor verdere reacties.
Je gaf eerder aan dat je het formulier met een Public variabele aan de praat had gekregen. Ook die zie ik nergens terug. Dus wat heb je nu eigenlijk aangepast?
 
Nee, het probleem was dat ik het niet aan de praat kreeg. Blijkbaar heb ik ook geen variabele gebruikt.
Ik heb het search formulier toegeveoegd en daarin zit een code waarvan ik dacht dat het mogelijk was om daarmee de zoek functie te creëren.
 
Ik vind de oplossing met een los formulier met zoekknoppen nog steeds 'complete bonkers' om het met de Engelsen te zeggen. Het is namelijk best lastig om een formulier te 'bedienen' vanaf een ander formulier, terwijl het briljant eenvoudig is om die knoppen op het formulier zelf neer te zetten. Bovendien vind ik een los formulier bovenop een ander formulier ook bepaald niet fraai om te zien, maar dat is uiteraard persoonlijk. Ik weet ook niet of acDialog hier gaat werken, omdat je het formulier niet sluit na het instellen van de zoektekst.
Kijken we even naar de zoekcode die je met een keuzelijst kunt maken, en die simpel is om te zetten naar een tekstvak. Die code ziet er zo uit:
Code:
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Service call number] = '" & Me![ZoekTekst] & "'"
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
De crux van deze code zit 'm in de eerste regel: Me.Recordset.Clone. Het zoeken vindt plaats op de recordset van het actieve formulier. En guess what: als je een popup zoekformulier open hebt staan, dan heeft dat formulier de focus. Dus voordat je überhaupt verder kunt, moet de focus eerst weer terug naar het hoofdformulier om de recordset te activeren, en het record te zoeken. Omdat je dat formulier ook maximaliseert, verdwijnt je Popup van het scherm. Einde zoeken dus... Met allerlei noodgrepen kun je dat formulier wel weer naar boven halen, maar dat hou je niet rustig op het scherm; dat gaat flikkeren. Dan de volgende klus: je wilt kunnen bladeren vanuit het popup formulier. En daarvoor geldt hetzelfde....
Code:
    DoCmd.GoToRecord , , acNext
Dat werkt natuurlijk alleen als het hoofdformulier de focus heeft, met als gevolg dat je Popup weer van het scherm springt. En dat alles met een zo simpele oplossing voorhanden (zoeken en knoppen op het formulier zelf)... Maak desnoods extra ruimte op je formulier door met Tabbladen te werken, en zet je zoekfuncties op het hoofdformulier. Je moet wel héééél sterke argumenten om zoveel tijd in zoveel onzinnigs te willen steken.

Had ik helemaal niks te doen, en ik zou het een nuttige toepassing vinden, dan zou ik er nog wel tijd in willen steken. Maar ik vind het een volkomen overbodig gebruik van een popup formulier, dus dat gaat niet gebeuren. Maar ik wens je veel succes met de uiteindelijke oplossing!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan