Invulformulier met automatisch aanvullen

Status
Niet open voor verdere reacties.

boome

Gebruiker
Lid geworden
11 mei 2009
Berichten
43
Ik heb de volgende situtatie in access

2 Tabellen

De 1ste tabel bevat de gegevens van een artikeldatabase

Artikelnr
Omschrijving

Artikelnr is het sleutelveld

Een nieuwe tabel moet de gegevens mbt de inventarisatie van deze artikels bevatten

Deze tabel bevat de volgende velden

Artikelnr (opzoekveld) - sleutelveld
Omschrijving
Aantal geteld

Het is de bedoeling om deze tabel in te vullen dmv een invulformulier

Er is een realtie (een op veel) tussen de velden artikelnr van de beide tabellen

De bedoeling is om als in het formulier het artikelnr geselecteerd wordt automatisch de juiste omschrijving ingevuld wordt

Hier loopt het verkeerd, wat ik ook probeer het lukt me niet om dat automatisch te laten invullen

Ik heb op formulier het veld omschrijving uit de artikeltabel genomen, maar dat wordt niet ingevuld als het artikelnr ingevuld wordt

Ik heb geen idee wat ik verkeerd doe, ik heb al zowat alle mogelijk handleidingen doorgenomen zonder succes

Een 2de vraag betreft het opzoekveld, het is nu zo ingesteld dat ook het artikelnr al ingevoerd kan worden waarna daarop een gefilterde lijst verschijnt met artikelnr en omschrijving
Kan ik er ook voor zorgen dat je ook op omschrijving kan zoeken maar dat wel bij selectie het artikelnr ingevuld wordt dat bij de gekozen omschrijving hoort

Alvast bedankt
 
De omschrijving hoort niet thuis in de inventarisatietabel. Die hoort louter en alleen thuis in de artikeltabel. Je kunt je de moeite dus besparen.
 
hoi,

Bedankt voor je antwoord, ja eigenlijk is dat logisch dat niet opgeslagen wordt

Maar in het formulier is het wel nuttig om die te tonen

Ik heb het veld omschrijving verwijderd in de inventarisatietabel en enkel het veld omschrijving uit de artikeltabel aan het formulier toegevoegd

Maar het werkt niet, de omschrijving verschijnt nog altijd niet

Er zit dus nog ergens iets fout
 
Laatst bewerkt:
Hoe je de omschrijving toch zichtbaar kunt maken is afhankelijk van wat je wilt met het op zoekveld. Ik begreep dat je het zo wilde dat je zowel het artikelnummer als de omschrijving in zou moeten kunnen geven. Dat is niet hoe opzoekvelden standaard werken. Je moet normaliter een keuze maken tussen het een of het ander.
 
Nog even een nabrander. Ik zou me eventueel wel een oplossing kunnen voorstellen met twee (niet gebonden) keuzelijsten-met-invoervak (opzoekvelden).
 
Simple: zet in je tellingformulier een tekstveld met het artikelnr, een combobox met datzelfde veld, maar je toont niet het artikelnummer maar de omschrijving, en een tekstveld waarin je het antwoord noteert. Als je niet weer hoe een combobox te maken: filmpjes genoeg op utube.
 
De bedoeling is om als in het formulier het artikelnr geselecteerd wordt automatisch de juiste omschrijving ingevuld wordt. Hier loopt het verkeerd, wat ik ook probeer het lukt me niet om dat automatisch te laten invullen.
Laten we eens terug gaan naar de oorspronkelijke vraag, want je doet een aantal dingen niet goed, denk ik. Dit zou namelijk, als je het goed opzet, gewoon wél moeten werken. Zo te lezen is je relatie tussen de tabellen ok, en je gebruikt ook nog eens het juiste veld op je invulformulier (uit de tabel Artikelen) wat de suggestie wekt dat je op zijn minst een query gebruikt voor je invulformulier op basis van de twee tabellen.

In dat geval (query op de twee tabellen, én een één-op-veel relatie tussen de Artikelnr velden) zijn er twee mogelijkheden:
1. Je zet op het invulformulier (tInventarisatie?) het veld [tArtikelen].[Omschrijving]. Dan krijg je automatisch als je een Artikelnummer invult via de keuzelijst de omschrijving te zien.
2. In de keuzelijst cboArtikelnr zet je twee velden uit de tabel tArtikelen: Artikelnr en Omschrijving. Je koppelt de keuzelijst aan het veld Artikelnr (uit tInventarisatie) op je invulformulier. Je zet een tekstveld op je formulier met als Besturingsbron: cboArtikelnr.Column(1). Ook nu krijg je een omschrijving te zien als je een artikel kiest.

Er zit verschil in de twee opties, namelijk: bij optie 1 kijk je rechtstreeks in de tabel tArtikelen. Je kunt dus probleemloos de omschrijving veranderen, ook als je dat niet wilt. Bij optie 2 is het niet mogelijk om de omschrijving te veranderen, omdat je die uit de keuzelijst haalt. Die optie is dus veiliger.

Overigens snap ik de tweede tabel niet; zoals je hem nu hebt, kun je wel meerdere keren een [Aantal geteld] (vermijd spaties in veldnamen, je maakt het alleen maar lastiger voor jezelf) records maken, maar wat heb je er aan zonder datum? Als het altijd een actuele status moet zijn van de artikelen, dan kan het veld net zo goed in tArtikelen, lijkt mij. Dus wat is precies je bedoeling?

Wat je tweede vraag betreft: normaal gesproken hoef je artikelnummers nooit te zien als je een artikel opzoekt, dat doe je doorgaans op Omschrijving. Als je de keuzelijst met de wizard maakt, regelt die dat al automatisch door de kolom ArtikelNr te verbergen, zodat je alleen de omschrijving ziet. Dat zou voor jou ook kunnen werken. Als je zowel op Artikelnr als op Omschrijving wilt kunnen zoeken, dan maak je twee keuzelijsten, die je allebei koppelt aan het veld Artikelnr. In dat geval maakt het niet uit met welke keuzelijst je zoekt, want als je een artikelnr invult wordt automatisch óók de keuzelijst cboOmschrijving gevuld (immers hetzelfde ArtikelNr) en omgekeerd ook: als je een omschrijving kiest, vult hij automatisch de keuzelijst cboArtikelnr. Simpeler kunnen we het niet maken :). De andere antwoorden kun je dus vergeten :d.
 
De opzoekvelden werken nu wel, blijkbaar had ik al te veel geknoeid, dus simpelweg opnieuw beginnen en het werkt wel

Ik ben ook aan de slag gegaan met de rest van de oplossingen

Ik heb een opzoekveld gemaakt waarin zowel het artikelnr (sleutelveld) als de omschrijving zichtbaar zijn.
Ik vind echter geen mogelijkheid om in dat geval te zoeken op de omschrijving en die ook op te slaan, access wil enkel maar zoeken op de artikelcode en die dan ook opslaan

De codes zeggen echter niet zoveel dus zoeken op een omschrijving zou beter zijn, die kan ik dan via het tekstbox wel koppel aan een code

Misschien even schetsen wat de bedoeling is

We gaan over op een nieuw ERP systeem met een volledig magazijnbeheer iclusief scanning, alle artikels moeten dus een locatie krijgen
Die info bestaat momenteel nog nergens, daarvoor heb ik dus deze database gemaakt met een formulier om voor een bepaald artikel de locatie en het getelde aantal in te geven
(de datum is dus momenteel niet zo belangrijk)

De database is als volgt opgezet

Tabel Artikels met de gegevens van de artikels uit het bestaande ERP met volgende velden:
No
Omschrijving
Categorie
Bestaan Serienr

Tabel locaties met volgende velden
Code
Omschrijving

Tabel Serienr
Artikel
Serienr
Aantal

Tabel inventaris met volgende velden
No:Opzoekveld op omschrijving dus de omschrijving wordt opgeslagen
Locatie: opzoekveld op omschrijving dus de omschrijving wordt opgeslagen
Aantal

Invoerformulier met subformulier voor de serienr (dat werkt, weliswaar zonder validatie zodat als er een serienr verplicht is het subform verplciht ingevuld moet worden)

Ik zou dus in het invoerformulier willen laten zoeken op omschrijving maar wel de bijhorende code willen opslagen in de tabel inventaris zowel voor locatie als artikel
De codes mogen getoond worden maar worden eigenlijk niet gebruikt om te zoeken

Ik stel mij de vraag of dat wel mogelijk is in acces
 
Ik vind echter geen mogelijkheid om in dat geval te zoeken op de omschrijving en die ook op te slaan, access wil enkel maar zoeken op de artikelcode en die dan ook opslaan
Heb je mijn antwoord wel (góed) gelezen? Ik denk namelijk van niet.... In een keuzelijst zoek je doorgaans op de omschrijving (of artikelnaam) van het veld, en sla je de ArtikelID op. Meer hoef je ook niet te doen. De eerste kolom (in Access termen is dat kolom 0) verberg je door de breedte op 0cm te zetten. De wizard doet dat doorgaans al automatisch (optie Sleutelveld verbergen). Dan zóek je dus op de naam, en sla je het ID veld op. En zo hoort het ook. Wat je nooit doet (uitzonderingen daargelaten) is de omschrijving opslaan i.c.m. het ArtikelID. Dat is nutteloze en overbodige dataredundantie, want de omschrijving staat al in je artikelen tabel, en gebruik je dus alleen om het artikel op te zoeken. En pas je tabel Inventaris aan, want daar heb je, zo te zien, een keuzelijst in gemaakt. NOOIT DOEN!!!! Keuzelijsten gebruik je in mijn optiek alleen op formulieren, of hooguit voor velden met een aantal vaste waarden, zoals een veld Aanhef, waar je maar hooguit 3, 4 waarden hebt. Daar ga je dan geen aparte tabel onder hangen.
 
Mijn excuses ik denk dat ik je vorige uitleg volledig verkeerd begrepen had

Ik had inderdaad een opzoekveld gemaakt op de tabel inventaris en dat in het formulier gezet en dat werkt dus niet, ik heb het nu veranderd in gewone tekstvelden en in het formulier een combobox gezet (dat had ik zo dus niet begrepen)

Nu werkt het zoals het hoort, weeral iets bijgeleerd

Ik wacht nog even om het topic te sluiten of er nog iets opduikt
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan