Automatische update formulier na aanpassen veldnaam in tabel

Status
Niet open voor verdere reacties.

arrie23

Gebruiker
Lid geworden
20 okt 2009
Berichten
400
Ik ben een beginneling met Access 2003. Ik heb mbv de wizard een tabel aangemaakt met veldnamen (en bijbehorende gegevenstypes):
jaar
maand
dag
aantal

Om de invoer van deze tabel te vereenvoudigen heb ik mbv de wizard een formulier gemaakt obv deze tabel. Ik heb echter daarna in de oorspronkelijke tabel de veldnaam "aantal" veranderd in "hoeveelheid". Bij het openen van het formulier staat er echter nog steeds "aantal". Pas als ik een compleet nieuw formulier aanmaak wordt de nieuwe veldnaam overgenomen. Is er een mogelijkheid om het formulier automatisch aan te passen zodat deze exact dezelfde veldnamen weergeeft als de onderliggende tabel? Wellicht een zeer basale vraag maar ik kom er zo snel niet uit (en met wat zoeken op het Internet stuit ik alleen op veel geavanceerdere vragen op dit gebied).
 
Als je een formulier maakt op basis van een tabel, zullen alle velden netjes op het formulier terecht komen, zoals je al hebt gemerkt. Verander je daarna een veldnaam in een tabel, dan zal normaal gesproken in het formulier dat veld ook zijn aangepast. Dat doet Access automatisch voor je. Behalve... de omschrijving van het veld. Bij het genereren van het formulier worden alle veldnamen letterlijk 'overgezet' naar de bijbehorende labels. Vaak zul je die naderhand nog wijzigen.
Zoals ik al zei: als je een veldnaam verandert, wordt het formulier ook aangepast. Je hoeft dus zeker geen formulier te maken na het wijzigen van een veldnaam. Dat scheelt uiteraard een hoop werk! Wat je wel zelf moet doen, is dus de omschrijving aanpassen. Dat doe je door het formulier te openen in de Ontwerpmodus. Als je die hebt geopend, zie je alle objecten zoals tekstvakken, keuzelijsten en labels die je vervolgens kunt aanpassen/wijzigen. In jouw geval moet je dan (bijvoorbeeld) klikken in de omschrijving van het veld, en de tekst wijzigen. Als je klaar bent met de aanpassing, klik je naast het label om de wijziging af te sluiten.
Overigens zou ik nog eens nadenken over de velden die je gebruikt: als je een Datumveld hebt, hoef je namelijk geen Jaar, Maand en Dag te gebruiken. Die weet je namelijk al op het moment dat je een datum hebt. Die bestaat immers uit een jaar, maand en dag....
 
Bedankt voor je antwoord. Toch snap ik het nog niet helemaal. Ik heb nu namelijk op jouw aanraden de velden jaar/maand/dag vervangen door 1 veld "datum". Ik heb dit in de ontwerpweergave v.d. tabel aangepast (de drie veldnamen verwijderd en de veldnaam datum toegevoegd met bijbehorende veldeigenschappen). Als ik vervolgens weer het formulier open staat daar nog steeds jaar/maand/dag ipv datum. Ik kan in het formulier nu ook geen gegevens meer invullen (wat logisch is omdat de onderliggende tabel de velden jaar/maand/dag niet meer kent).
Voor mijn gevoel zou het logisch zijn dat alles wat ik wijzig in de ontwerpweergave vd tabel automatisch wordt meegenomen in het formulier, zeker als je het hebt over het toevoegen of verwijderen van velden in de tabel.
 
Voor mijn gevoel zou het logisch zijn dat alles wat ik wijzig in de ontwerpweergave vd tabel automatisch wordt meegenomen in het formulier

Dat idee moet je maar eens doorbellen naar Bill Gates; misschien dat hij dan eens wakker wordt en produkten gaat maken die voldoen aan wat de gebruikers willen, i.p.v. prutsen met werkbalkjes (waar ik nooit om gevraagd heb...)
Nee, zo werkt dat dus niet! Een formulier heeft in beginsel niks met een tabel te maken. Er is geen directe link tussen tabel en formulier. Je kunt net zo makkelijk een formulier bouwen waar helemaal geen tabel onder zit, of een formulier waar juist heel veel tabellen aan hangen.
Dus, als je iets drastisch wijzigt in je tabellenstructuur, zoals extra velden of juist velden verwijderen, dan gebeurt dat niet automatisch in je formulier. Die zul je dus handmatig in het ontwerpscherm moeten verwijderen. En daar is niks mis mee, want je hebt ze toch niet meer nodig. Het later toegevoegde veld zul je ook handmatig moeten toevoegen. Dat doe je door de knop <Lijst met Velden> aan te klikken. Hierin zie je alle velden die je vanuit de gekozen/gemaakte bron hebt. In dit geval ontbreekt het veld [Datum], dus dat sleep je naar de plek die je daarvoor wilt gebruiken.

Als je velden uit een tabel (of query) verwijdert, dan krijgen de velden een groen driehoekje linksboven. Daaraan zie je dat er wat mee is. De Helpballon geeft dat ook aan als het goed is. In dit geval ontbreekt de koppeling met het oorspronkelijke tabelveld. Logisch, want die bestaat niet meer.

Vermoedelijk zul je ooit een filtering willen maken op je datumveld. Dat doe je later met queries, waarbij je met Functies (Year, MOnth, day) het jaartal, de maand of de dag uit die datumvelden berekent. Vandaar dat je geen aparte velden nodig hebt voor die waarden. Heb je een datum, dan kun je de rest berekenen.
 
Bedankt voor je heldere uitleg, zo leert een mens elke dag weer bij! Ik had, zoals je al begrepen had, het idee (of de hoop) dat er een directe link was tussen het formulier en de tabel omdat je zo makkelijk vanuit de tabel een formulier kan aanmaken. Ik ga op basis van mijn nieuw verworven kennis weer vrolijk verder prutsen en er wellicht toch een telefoontje richting Bill aan wagen :P. Nogmaals bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan