Access zoekfunctie maken

Status
Niet open voor verdere reacties.

Kublai

Gebruiker
Lid geworden
7 mei 2012
Berichten
21
Beste,

Ik heb een database gemaakt om informatie over klanten bij te kunnen houden. Bij deze database gebruik ik in het hoofd formulier de standaard zoekfunctie van Access. Deze zoekfunctie werkt alleen niet naar behoren.
Op het internet heb ik veel vragen gelezen over zoekformulieren, maar ik ben nergens iets tegen gekomen wat me verder heeft geholpen.

In mijn hoofd formulier heb ik onder anderen de velden; Klant naam, contact persoon en Locatie. Een ander belangrijk veld is 'Status' . Nu zou ik een zoekfunctie willen maken met maar een paar velden en knoppen. 1 veld waar een gedeelte of heel de naam van de klant, contactpersoon of de locatie kan worden ingevuld. daarnaast een veld of knop met waar ik aan kan klikken dat ik op status alle statussen kan vinden die niet op finish staan.
Verder alleen een zoek knop en een volgende of vorige zoeken.
Wanneer er gezocht wordt is het de bedoeling dat het gewone hoofd formulier wordt weergegeven met de gevonden data.

Ik ben al een tijdje aan het zoeken en ik denk dat het met een soort zoek formulier gedaan moet worden. Maar ik heb geen idee waar en hoe ik moet beginnen. Hopelijk kan iemand mij op weg helpen!

Bedankt,
 
Als je alleen wilt zoeken kun je met de standaard functionaliteiten van Access wel vooruit; met de wizard Keuzelijst kun je een record opzoeken op basis van een waarde uit de te maken keuzelijst (derde optie in de wizard). Dat geldt dan voor zowel tekstvelden als voor een veld als Status. Gewoon de wizard starten en een keuzelijst met invoervak maken die je in de kop van je formulier zet. Wil je zoeken op een deel van een naam, dan kun je de code die wordt gegenereerd door de keuzelijst gebruiken om te filteren op een tekstvak waarin je de te zoeken tekst typt.
Dus daar heb je geen zoekformulier voor nodig.
 
Ik wil eigenlijk gewoon een knop in mijn hoofd formulier waar ik op kan drukken en dan een popup krijg met daar in deze zoekvelden. Zo'n pop up is toch een nieuw formulier? Het veld status is een veld met keuze uit 7 versechillende soorten statussen. De bedoeling is dat je aan kunt klikken dat je alle statussen wil of alleen de statussen die niet op 'finish' staan. dus al de 6 andere statussen moeten wel worden weergegeven. Na het zoeken zou ik graag weer gewoon in het gezochte record in het hoofd formulier verder kunnen werken.
Is dit ook nog steeds mogelijk via de standaard functies?
 
Waarom zou je de meest ingewikkelde manier willen, als het simpel kan met één of twee keuzelijsten op je bestaande formulier? Nu moet je veld- en formuliergegevens heen en weer gaan pompen. Gebruik moeilijke trucs pas a) als je ze snapt en b) als je ze echt nodig hebt...
 
De database maak ik voor mijn baas en die wil het graag zo hebben, zodat het hoofd formulier zo leeg mogelijk blijft en zodat je niet perse het juiste veld hoeft aan te klikken om te zoeken. Wat is de beste manier om dit toch voor elkaar te krijgen?
 
Laatst bewerkt:
Tenzij de baas weet wat hij wil en voldoende inzicht heeft in het hoe en waarom (en in mijn optiek is dat vaker niet het geval dan wel...) zou ik toch eerst eens om de tafel gaan zitten over wat er nu eigenlijk moet komen. Ook een popup formulier moet je activeren, dus daar heb je ook minstens één knop voor nodig. Argumenten als 'het hoofdformulier moet zo leeg mogelijk blijven' vind ik zelf totaal niet relevant, als de functionaliteit van de database er noodeloos ingewikkeld van wordt. Bovendien is het voor de gebruiker minder duidelijk, want die wordt ongevraagd naar een nieuw formulier gedirigeerd....
Ik kan veel meer argumenten verzinnen om alles op hetzelfde formulier te houden dan die baas om er een apart formulier van te maken :)
 
Bedankt voor uw reactie. Ik ben het er inderdaad mee eens dat het niet altijd nodig is om inderdaad een aparte pop up te maken. Toch vragen ze hier wel om deze pop up. Is het echt zo moeilijk om dit voor elkaar te krijgen? Als je het wel wil doen, moet je dan via een query zoeken of kun je rechtstreeks in het hoofd formulier zoeken?
 
Zoals ik al zei: het is best lastig te maken omdat je gegevens van het ene formulier moet overhalen naar het andere formulier. En als dat niet nodig is zeg ik: niet doen.... Als het mijn klus was, zou ik mijn poot dan ook stevig stijf houden :)
 
Ik heb in mijn database een voorbeeldje gezet hoe het er ongeveer uit moet zien, echter lukt het me niet om mijn database up te loaden, er staat dat hij maximaal 100KB groot mag zijn, ook na inpakken is mijn bestand nog bijna 400 KB. Kan ik hem ook op een andere manier uploaden?
 
Je kunt hem met WinRar opsplitsen in brokken van 100 kb bijvoorbeeld, of hem gratis posten naar www. mijnbestand.nl. Daar kunnen we hem dan wel weer vandaan trekken!
 
http://www.mijnbestand.nl/Bestand-FGBHUJDI336Y.zip Dit is mijn bestand, ik heb hem iets kaler gemaakt, maar het principe blijft hetzelfde geloof ik. In het formulier <Service call intake total> vindt u een zoek knop. Als u hier op drukt verschijnt de pop up in het scherm. Ik krijg de functies alleen niet werkend. Als ik deze knoppen allemaal op het hoofd formulier plaats wordt dat denk ik inderdaad wel erg veel. de knoppen volgende en vorige zoeken zijn nodig omdat er veel records zijn met de zelfde klant naam of zelfde lokatie waar door heen gebladerd moet kunnen worden.

Alvast bedankt!
 
Door gebruik te maken van een aantal standaard queries (bijvoorbeeld bij Status alles behalve finish -> Where Status <> 'Finish') moet zo'n overzicht toch vrij gemakkelijk te realiseren zijn.
Je kunt de uitkomst van de query dan in een listbox wegzetten en met wat code erachter op een regel doorklikken en de onderliggende informatie in een standaardformulier laten zien.
 
Er staat veel te veel op je formulier; ik zou serieus overwegen om met tabbladen te gaan werken, zodat je a) de informatie veel overzichtelijker presenteert en b) gelijk ruimte creëert voor de gewenste zoekfuncties. Die je dan uiteraard gewoon op het formulier kunt zetten...
 
Als ik toch deze aparte zoek functie in een nieuwe pop up wil hebben. Gewoon als een filter voor mijn formulier zoals eerder uitgelegd. Kan een van jullie mij daar dan misschien mee helpen?

Groeten,
 
Om te beginnen: de popup moet je zo openen:

Code:
        DoCmd.OpenForm stDocName, WindowMode:=acDialog
Hiermee bereik je dat het formulier moet worden ingevuld, en dat je niet verder kan op het hoofdformulier voordat je het zoekformulier sluit.
Volgend stap: de waarde die je in het zoekformulier laat invullen, moet worden overgeheveld naar het hoofdformulier. Dat kan je doen met een Public Variabele. De waarde daarvan blijft staan als je een formulier sluit, en die kun je dus in een ander formulier weer verder gebruiken.
Vervolgens kun je in je hoofdformulier een filter maken op basis van de opgeslagen Public variabele.
 
Bedankt voor uw uitleg. Ik ben hiermee aan de slag gegaan. Het zoek formulier verschijnt op de goede manier. Ook heb ik in de ontwerp modus een Public variabele gezet. Het lukt me echter niet om de filter via het zoek formulier toe te passen. Ik heb mijn database opnieuw geupload. Kunt u mij misschien verder helpen?

http://www.mijnbestand.nl/Bestand-EVIAPXTG4S4O.zip

Alvast bedankt voor uw hulp.
 
Je moet als je meerderde formulieren gebruikt bij de engelse versie LIKE ''*" & NAAMFORMELIER & "*" want dan zoekt hij niet als er niets staan

bey martijn
 
Maar om te zoeken in het hoofd formulier via het subformulier, dat kan toch zonder dit via een query te doen door filter functie te gebruiken? Ik begrijp niet hoe ik deze filter via het zoek formulier kan laten lopen. Kan iemand misschien naar mijn database upload kijken en zeggen hoe je de public variabele laat werken? Hij is op het zoekformulier in vba ingesteld, verder loop ik vast.
 
Op welk formulier dan? Ik kan geen formulier vinden dat je met acDialog opent.
 
Dan heb ik niet de juiste code te pakken. Ik heb i het form search een codering toe gevoegd die ik in een andere database gevonden heb die ongeveer hetzelfde doet. Zelf een code programmeren in VBA kan ik niet. Kan ik ergens vinden hoe deze codering werkt of kunt u me er misschien mee helpen?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan