selectie van records maken in een doorlopend formulier

  • Onderwerp starter Onderwerp starter AdvB
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

AdvB

Gebruiker
Lid geworden
1 jul 2021
Berichten
48
Ik heb een doorlopend formulier gemaakt met alle openstaande producten waarop onderhoud wordt gepleegd per klant.
Nu zijn dat, als database gevuld us, uiteindelijk honderden regels.

bovenaan in formulier zou ik graag "keuzelijst met invoerveld" maken waarmee ik bijvoorbeeld alle regels van bepaalde klant of met andere keuzelijst all regels van een bepaald artikel zou kunnen selecteren.

Ik krijg het niet gevonden in handboek en ook niet op dit forum en volgens mij is het vrij simpel maar ik weet dus niet hoe.
 
Zo'n keuzelijst kun je met de standaard Wizard maken; daar is geen handboek voor nodig. Het enige dat je wél moet doen, is zorgen dat je een opgeslagen query als basis gebruikt. Dus niet vanuit het formulier een query opbouwen maar eerst de query maken, die opslaan en die als basis voor het formulier gebruiken. Als je dan een keuzelijst met invoervak met de wizard maakt, krijg je drie opties, waarvan de derde optie degene is die jij zoekt. Heb je maar twee opties, dan heb je bovenstaande zinnen niet goed uitgevoerd :).

Dat je het niet in een handboek kan vinden, dat zal wel, maar niet op dit forum? Weet je hoe vaak dit onderwerp al aan bod is geweest? :)
 
oplossing werkt maar gedeeltelijk

Allereerst bedankt voor je antwoord.
Ik snap dat t lastig is te blijven reageren op vragen die al eerder zijn gesteld.
Ik vind het lastig om in dit forum soortgelijke vragen te stellen, ik heb gezocht en kwam bij vele vragen uit maar niet degene met wat ik bedoelde. Ik zal de volgende keer.

Ten tweede weet ik niet of ik nu reageer op het antwoord OctaFish op mijn vraag of dat ik reageer op mijn eigen vraag.

Ik heb zoals voorgesteld eerst een Query gemaakt en die opgenomen in formulier.
Daarmee krijg ik ook direct de 3e oplossing.
Echter, als een klant nu 30x voorkomt in het doorlopend formulier krijg ik ook 30x die klant te zien in het keuzeveld.
Verder springt het systeem dan naar het eerste record wat dat criteria bevat, ik zou graag zien dat hij het formulier filtert en alleen de records laat zien die aan het criteria voldoen. Misschien had ik mijn vraag "filteren"ipv selecteren moeten gebruiken.
Daarnaast zal, als de records niet op dat veld als eerste gesorteerd zijn het sowieso nu niet werken omdat systeem alleen naar de eerste springt. Stel dat ik in mijn voorbeeld ook wil filteren op artikel (in printscreen de kolom waar de waarden met 58 beginnen) dan springt met deze oplossing het systeem alleen naar de eerste regel.


Als laatste wil OctaFish wederom bedanken voor zijn snelle antwoord

ik heb een printscreen toegevoegd.
 

Bijlagen

  • zoeken in doorlopend formulier.JPG
    zoeken in doorlopend formulier.JPG
    29,5 KB · Weergaven: 25
We komen in de buurt :). Wat je gedaan hebt, is selecteren op de unieke ID's van je tabel. Daarom zie je "Org A Fiets" en "Org B Brommer" ook meerdere keren terug in de lijst. Net zo vaak als ze in de tabel gekozen zijn. Als basis voor de keuzelijst is dat wel bruikbaar, maar je moet nog wat aanpassingen doen om hem naar wens te krijgen. Dat kan niet heel goed op basis van plaatjes. Begin eens met de SQL string (Besturingselementbron) van de keuzelijst te posten; dan kunnen we al wat meer zien.
 
is dit wat je bedoeld:

SELECT qryAlleOrgmetSIO.Organisatienaam
FROM qryAlleOrgmetSIO;


als je dat uniek weet te maken is 1 deel opgelost (namelijk in keuzelijst alle waarden maar 1x voor laten komen)

mijn 2e "probleem" was dat functie niet filtert maar alleen naar het eerste record springt.

Ik wil niet lastig zijn maar wilde toch alvast dat 2e "probleem" ook nog benoemen
 
De query kun je zo aanpassen:
Code:
SELECT DISTINCT Organisatienaam FROM qryAlleOrgmetSIO;
Dat lost het eerste probleem op. Het tweede is iets lastiger, omdat we dan moeten gaan kijken naar de actie die de keuzelijst uitvoert. En dat zal vermoedelijk een macro zijn. En als je mijn antwoorden regelmatig leest, dan weet je dat ik liever in een spuwende vulkaan met kolkend lava spring, dan dat ik een macro in Access maak. Dus ik programmeer veel liever in VBA. Dat kan wel, maar wellicht dat je eerst zelf die macro wil aanpassen. :).
 
Je oplossing werkt waarvoor dank.

Ik maak op uit jouw antwoord dat als je toch wat meer gebruikersvriendelijkheid wilt dat vaak niet in de standaardoplossingen van Access zit en je toch al snel bij VBA uitkomt.

Echter de standaardoplossingen (macro's etc) spreken meer voor zich dan (voor mij) een onbegrijpelijke taal.
Daar stap je, ook met logica, niet zomaar in.
Is er een relatief snelle manier om je VBA eigen te maken ?
 
De snelste, maar ook duurste, optie is het volgen van een cursus. Tweede optie is door zelfstudie via het internet: bv. in dit forum vind je ook manuals, of als je het liever via filmpjes leert: utube. Je kan ook een boek kopen, maar vooral: het zelf doen :-) .
 
Ik heb voor de Handleidingen sectie een (volslagen gratis; geen idee waarvan ik het doe ;)) cursus gemaakt, waar je wat basis principes kunt opdoen. Veel onderscheid tussen macro’s en programmeren is er overigens niet, behalve dat de macro tool voor mij volkomen onbegrijpelijk in elkaar steekt. Maar er zijn mensen die er prima mee overweg kunnen. Dat zijn, in mijn ogen, dan wel personen met een motorische storing, zoals achterstevoren met een muis werken (ja, die bestaan :)). Ik kan er in ieder geval niks mee. Geef mij maar een simpele VBA code.

Databases bouwen is een vák. Eén van de gereedschappen daarbij is programmeren. Wil je echt mooie en goed werkende databases maken, dan ontkom je niet aan het opdoen van die kennis. Ik heb in ieder geval nog nooit een goed werkende database gezien waarin niet is geprogrammeerd. In die mooie databases vind je dan ook een minimale hoeveelheid macros :).
 
Een kleine correctie: in een goede database vind je zelden macro's, de Access data macro's daarbuiten gelaten. En in veel databases vind je ook geen gebruikers programmatie, ten ware je opgeslagen SQL code als een programma beschouwt. Je kan er wel procedures , functies en triggers (in Access noemen deze data macro's) schrijven. Deze kan je dan via een job oproepen om bijvoorbeeld elke avond automatisch back-ups te maken, tabellen op te kuisen, gegevens te importeren/exporteren enzovoort.
Access is echter een hybride systeem waar je naast de database ook de gebruikers interface (formulieren en rapporten) kan aanmaken. Hier kan je heel snel een demo systeem mee aanmaken of een applicatie voor privé gebruik mee ontwerpen waardoor dit een heel handige tool is. Net zoals je in Excel ook formulieren kan aanmaken en via macro's/VBA code automatiseren. Als men het in Access over VBA heeft, dan bedoelt men meestal de applicatie met formulieren en rapporten en niet de database structuren.
 
Een kleine correctie: in een goede database vind je zelden macro's, de Access data macro's daarbuiten gelaten.
Da’s dan een héle kleine correcte, want ik gebruik heel vaak wel degelijk Auto macro’s, bijvoorbeeld om een startfunctie mee uit te voeren, of toetsen uit te schakelen. En dat zijn echt gewone macro’s.

Als men het in Access over VBA heeft, dan bedoelt men meestal de applicatie met formulieren en rapporten en niet de database structuren.
Dat vind ik een rare opmerking. Om te beginnen: wie zijn die. ‘Men’? Ik ken ‘men’ in ieder geval niet. Als ik en mijn collega’s over VBA praten, dan praten we over VBA en niet over formulieren of database structuren. Wij gebruiken VBA overal voor: recordsets manipuleren, formulieren automatiseren, rapporten…. Kortom: gooi geen termen door elkaar, tenzij het je bedoeling is om TS in verwarring te brengen.
 
Octafish, je hebt het duidelijk over de end-user applicatie en niet over een database. Je opmerking:
Databases bouwen is een vák. Eén van de gereedschappen daarbij is programmeren.
van #9 is in zoverre juist dat database beheer een vak is, maar dat heeft niets met programmatie te maken zoals jij aanhaalt. https://en.wikipedia.org/wiki/Database_administrator
Ik hoop voor mijn klanten dat ik heel wat mooie databases heb opgezet, zonder één enkele macro. Als je het over Access hebt, dan hebben we het over een applicatie- ontwikkelinksomgeving waar je voor het gemak ook je eigen tabellen kan maken (zie ook Progress, OMNIS,...) maar zeker geen database software.

Wat jij bedoelt is applicatie ontwikkeling. Kortom: gooi geen termen door elkaar, tenzij het je bedoeling is om TS in verwarring te brengen.
 
Zullen we stoppen met deze nutteloze discussie? Beperk je tot antwoorden waar TS wat aan heeft. We hebben het hier over Access. Misschien is het handiger als je zelf een SQL server forum opstart, zodat je jouw specifieke kennis kan slijten aan mensen die daar behoefte aan hebben. Ook het bouwen van een Access database moet je aan professionals overlaten. Ergo: dat is een vak.
 
zelfs in access zijn de tabellen en queries een hele andere engine met een andere benadering dan de formulieren en rapporten.
 
Hou nou eens op met dat nodeloze getheoretiseer en beperk je tot het helpen van de vraag....
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan