Afhankelijke velden

Status
Niet open voor verdere reacties.

Johgs

Gebruiker
Lid geworden
19 mei 2011
Berichten
337
Ik heb in een ver verleden een reeks formulieren in een dB gemaakt voor het invullen van omissies bij inspecties. Een omissie kan ingevoerd worden via ofwel het nummer op de (papieren) inspectielijst ofwel door het kiezen van de passende omschrijving. Bij het verlaten van het invoerveld zorgt een kleine macro er voor dat het bijbehorende veld wordt ingevuld. Werkt op zich prima, alleen de waarschuwingen dat er een query start is knap irritant (uitschakelen wil maar niet lukken)

Vervelender is dat ik nu een nieuw toegevoegd veld verplicht wil maken en hier ligt die query dwars, die begint namelijk met opslaan van de invoer en gaat vervolgens op basis van die invoer het bijbehorende veld invoeren. Dit betekent dus dat deze query de melding verplichte invoer van het nieuwe veld afdwingt.

Dit moet natuurlijk veel beter kunnen, te beginnen met hoe ik die invoer met behoud van de huidige invoer kan verbeteren, dus invullen van één van beide velden vult beide velden.
 
Heel eenvoudig: normaal heb je in zo een situatie een tabel met omissies met ID, nummer en omschrijving gerelateerd met een één op veel relatie naar je inspecties tabel. Plaats 2 combo's op je formulier Inspecties gekoppeld aan hetzelfde veld met de foreign key naar de tabel omissies. In de één verberg je ID en toont het nummer in de andere verberg je de ID en toont de omschrijving.
Als beiden aan hetzelfde veld gekoppeld zijn dan wordt de omissie in beiden correct getoond, welke je ook aanpast.
Heel simpel zonder enige macro of programmatie. Zonder enige onderliggend query en dus geen enkele waarschuwing.
 
Inderdaad één lijst met omissies ID, vraagnummer op de lijst en omschrijving, voor het invoerformulier zit een menutje voor een selectie query die de juiste vragen selecteert op basis van de gewenste lijst (er kunnen dus een aantal omschrijvingen hetzelfde zijn en zelfs een zelfde vraagnummer en toch een verschillend ID, sommige inspecties bevatten deels dezelfde vragen). de tabel met inspecties bevat een veld dat op automatisch wordt ingevuld voor het type lijst. Het vraagnummer en de omschrijving worden opgeslagen in de inspecties tabel. Reden hiervoor is dat er soms behoefte was een omschrijving aan te passen met behoud van de mogelijkheid om zowel een rapport te genereren met de oude omschrijving of enkel de nieuwe omschrijving (en soms maakte het niet uit). Lijkt me geen probleem, een verborgen tweede veld omschrijving met als waarde de inhoud van het zichtbare veld.

De keuze velden worden dus gevuld door die query. Moet die één op veel relatie nu naar de query? En dan Id naar Id? Combo box is voor mij nieuw, zit dat al in Access 2016 (ja, vond een instructiefilm, knop zit verborgen). De collega's moeten overigens nog werken met een 2010 runtime, werkt dat?

P.S. het formulier dateert nog uit de jaren 00. :rolleyes:
 
Laatst bewerkt:
Als je aangeeft dat een aantal omschrijvingen hetzelfde zijn zit je ofwel met een vervuilde of met een niet genormaliseerde database. In elk geval zal je de database eerst moeten opkuisen voor je verder kan, of je zal steeds verder vastlopen. Je kan misschien een copie maken, daar de bestaande gegevens uitgooien en alleen een paar testgegevens invullen. Als je die zipt en hier upload, dan kan iemand van ons daar even naar kijken en gerichter advies geven.
 
Zoals aangegeven, 't is een oudje, nog uit de begintijd van mijn Access gebruik. Wat in de tabel beland is lokatie, afdeling, type lijst voor of tijdens werkzaamheden en de bevindingen. Per lokatie en afdeling zijn er de vragen. Er kunnen rapporten worden gemaakt met selectie of elk element. Er kan dus een vraag op nummer worden geselecteerd met meerdere omschrijvingen of juist op unieke omschrijving. Alles behalve genormaliseerd maar wel met voordelen. Elke wijziging van een vraag betekent een nieuw ID met alle kenmerken van de oude vraag en alleen een nieuwe omschrijving. Met al duizenden registraties dus een flink karwei.
Ik ben daarom maar gaan zoeken naar een oplossing naar een oplossing om die bijwerkmeldingen te onderdrukken, in de macro niet mogelijk (denk die optie er niet is ivm vertrouwenscentrum instellingen (en die heeft systeembeheer uitgegrijst)). Formulier daarom maar geconverteerd en in VBA heb ik wel de optie DoCmd.Set Warnings. Helaas mag ik (nog) steeds niet een veld verplicht maken, eerst maar eens de discipline van de collega's afwachten.
En ja, bij een volgende gelegenheid ga ik jouw oplossing zeker vanaf de start toepassen, bedankt.
 
Combo box is voor mij nieuw, zit dat al in Access 2016 (ja, vond een instructiefilm, knop zit verborgen).
Al vanaf Access 2.0 of daaromtrent :). Heeft ook nooit verborgen gezeten, al kan het zijn dat in de nieuwere Access versies de knoppen soms even uitgeklapt moeten worden. Ik snap eerlijk gezegd niets van je probleem; keuzelijsten kun je gewoon maken en gebruiken zonder macro of programmeren. Kwestie van de juiste keuzes maken denk ik. Ik snap ook niet dat je een query aftrapt met die keuzelijst; normaal gesproken gebruik je een keuzelijst om (andere) velden te vullen en dat gaat prima zonder queries (al of niet Bijwerkend). De tip van noella lijkt mij dan ook meer dan afdoende: maak twee keuzelijsten die je koppelt aan hetzelfde veld op je formulier en je kunt vanuit twee opties een waarde kiezen.
Ik zou zeggen: probeer de db in een gestripte vorm te posten, dan kunnen we zelf een oordeel vellen. En ja, het werkt ook prima in een runtime :).
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan