Access 2016. Tabellen koppel

Status
Niet open voor verdere reacties.

marcjaco

Gebruiker
Lid geworden
29 dec 2014
Berichten
36
Beste,

Ik maak in tabel 1
Naam
Voornaam
Geboortedatum

Nu wil ik deze gegevens gebruiken in andere tabellen, en wil deze drie gegevens automatisch doen verschijnen.
Hoe doe ik dit in access 2016?

Met vriendelijke groeten

Marc jacobs
 
Ik heb je vraag naar de Access sectie verplaatst. Hier heb je meer kans op de juiste hulp. :)
 
Zo te zien is je tabel een Persoonstabel. Dat kan, je zult daar wellicht nog wat adresgegevens etc aan toevoegen om er een echte NAW tabel van te maken. Wat je in ieder geval nog moet doen: een veld [PersoonID] toevoegen wat je als sleutelveld benoemt. Gebruik je een Autonummerveld, dan ben je het snelste klaar want dat genereert altijd unieke nummers, en die heb je nodig in een sleutelveld. Je kunt ook een eigen volgnummer systeem bedenken (kijk in dit Access forum voor voorbeelden) en dat gebruiken, zolang de nummers maar uniek zijn. In de tabellen waarin je nu de persoonsgegevens nodig hebt, hoef je dan maar één veld op te nemen: het veld PersoonID. Je koppelt dit veld in het venster Relaties aan de tabel [Personen] met een één-op-veel relatie waarbij je in ieder geval de optie <Referentiële integriteit afdwingen> aanvinkt, anders is de relatie zinloos.

Als dit werk achter de rug is, kun je op je formulieren (vooral niet in de tabellen!) keuzelijsten maken op de plek waar je de persoon wilt zien. Die keuzelijsten baseer je op de tabel [Personen] en je neemt in ieder geval het veld PersoonID op (dat wordt namelijk opgeslagen) en de overige velden die je wilt zien in de keuzelijst. Volgens mij heb je dan precies genoeg gedaan :). De overige gegevens sla je namelijk nooit op in de andere tabellen!
 
Kan men in een tabel
Bv.
Maanden een berekening maken zodat er telkens twee maand later
Op een lijst komt.

Bv. Gegevens van april moeten op een lijst komen, twee maanden later.


Maand april. --- Lijst juni


Kan dat?

Hoe doe ik dit het snelst?

Met vriendelijke groeten
Marc Jacobs
 
Ik snap je vraag niet helemaal, maar ik vermoed dat je dit bedoelt: je hebt blijkbaar een aantal records die regelmatig terugkomen, bijvoorbeeld iets als een planning. En nu wil je de gegevens van een hele maand kopiëren naar een volgende maand. En of dat automatisch kan. Daar is een simpel antwoord op: nee. Dat kan dan weer wél in Excel, waar je complete rijen kan kopiëren met formules die betrekking hebben op het vorige record (=B20+1 etc), maar dat gaat dus niet in Access. Dat is puur een registratiesysteem van gegevens die je invoert. Je legt dus transacties vast die hebben plaatsgevonden.
Wel kun je wat je voor ogen hebt programmeren. Daarbij voeg je dus net zoveel records toe als je nodig hebt. Maar die records hebben dus geen relatie met de andere records, elk record is een eigen tupel.
 
Ik bedoeld het volgende:


In een tabel staan de gegevens van alle patiënten.
Deze tabel noemt palliatieve berekening

Nu sterven er bv patiënten in januari 2017.
Ik wou deze patiënten automatisch op een formulier krijgen maar dat formulier zou maart 2017 zijn.


Zodat alleen de overledenen van jan 2017 in dit formulier komen : maart 2017,.


Ik denk anders dat ik dit elke maand opnieuw maak via een query !


Of bestaat er toch, buiten excel, een manier in access?

Met vriendelijke groeten

Marc
 
Ik snap het nog niet helemaal, al mag je de laatste 2 woorden ook omdraaien. Je hebt dus in je tabel patiënt gegevens, en ook een veld met overlijdensdatum. Die gegevens wil je terugzien op een formulier. Dat lijkt de naam [maart 2017] te hebben, en dat suggereert dan weer dat je 12 formulieren hebt, voor elke maand één. Ik hoop natuurlijk dat dat niet zo is en dat je maar één formulier hebt :). Dat formulier lijkt dan gebaseerd op een maandkalender (geen probleem om te maken) en zou dan een overzicht moeten laten zien van de personen die in januari zijn overleden. Dat werpt dus een aantal vragen op:
1. Wil je altijd 2 maanden vooruit kijken?
2. Hoe wil je de gegevens op het formulier laten zien?

Voor je beeldvorming vertel ik er maar even bij hoe ik het zou aanpakken.
Om te beginnen: het kan in Access vele malen mooier als in Excel... Je hebt dus een tabel met patiënten die al dan niet een overlijdensdatum hebben. Daarvan kun je prima een query maken die de overledenen selecteert (Criterium: [Overlijdensdatum] Is Null).
Op basis van de overlijdensdatum kun je simpel een datum berekenen die in de toekomst ligt: CheckDatum: DateAdd("m";2;[Overlijdensdatum])
Nog mooier wordt het filter als je de checkdatum filtert op één maand in de toekomst. Dan ziet het criterium op het veld CheckDatum er zo uit:
>=DateSerial(Year(Date());Month(Date())+2;1) And <=DateSerial(Year(Date());Month(Date())+3;0)
En dit filter past zich dus automatisch elke maand aan, dus je kunt een formulier bouwen op basis van deze query die altijd de selectie laat zien van personen die in de huidige maand zijn overleden, en die over twee maanden dus in de lijst moeten staan. En die lijst kun je dus nu al bekijken. Zelf zou ik het systeem dus flexibel maken, wat inhoudt dat je het aantal maanden zelf kunt ingeveven (bijvoorbeeld op een selectieformulier) waarna het resultaat dan in de lijst wordt getoond. Op die manier kun je altijd snel wisselen van selectie. Maar als dat niet nodig is, kun je uiteraard ook met een vaste query volstaan.
Is dat een beetje wat je voor ogen hebt?
 
Beste,
Nog een laste vraag.
Ik heb een navigatieformulier gemaakt met aan de bovenkant de hoofdmenu bv rapporten
Als ik links mijn rapporten zetten en ik druk op het. Hooffdmenu rapporten, vraagt deze steeds de eerst vraag uit een query.
Als ik op annuleren duw krijg ik mijn rapporten links te zien
Is dit te omzeilen?
Ik wil op het hoofdmenu rapporten duwen, dan mijn deze links zien en daaruit kunnen
Met vriendelijke groeten
Marc jacobs
 
Ik wil op het hoofdmenu rapporten duwen
Duwen of klikken? :D. Volgens mij duw je nooit op een monitor, dan flikkert-ie om :).
Maar ter zake: ik vermoed dat je een parameter in je rapport gebruikt, en dan is het helaas niet te omzeilen. Mijn advies is in dat geval: niet doen. Geef de filtering via je formulier mee bij het openen van het rapport.
 
Beste,

Ik heb er een gemaakt, maar als ik dat op een andere pc open dan zie ik niet alles op het scherm,

Moet ik in access ergens aanduiden dat het formulier zich moet aanpassen aan het te gebruiken scherm?

Met vriendelijke groeten

Marc Jacobs
 
Dat kun je programmeren, maar dat is een behoorlijke klus want een formulier heeft nu eenmaal fysieke afmetingen die o.a. bepaald worden door de hoeveelheid en plaats van de objecten er op. Dus als je een formulier maakt, is het handig om dat te baseren op de kleinste monitor/schermresolutie want dan past het altijd op een groter scherm. Heb je teveel objecten om het overzichtelijk te houden, gebruik dan tabbladen om de objecten te groeperen.
De klus die je anders moet doen is 'simpel': met vba alle objecten verkleinen en verplaatsen. En dat dan twee kanten op, want je wilt natuurlijk bij een groter scherm weer een groter formulier zien.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan