Meerdere formulieren 1 tabel

Status
Niet open voor verdere reacties.

rvdsch

Gebruiker
Lid geworden
18 jun 2009
Berichten
170
Beste forummers,

Ik ben bezig een database te bouwen voor meerdere gebruikers. Een aantal gebruikers moeten vanaf verschillende locaties een verschillend formulier invullen wat tegelijkertijd kan gebeuren. Al deze gegevens moeten tegelijk kunnen worden geanalyseerd. Nu heb ik een grote tabel waar de gebruikers hem invullen dmv een formulier. Is het slimmer om meerdere aparte tabellen te nemen en die dan een grote tabel te laten invullen? Iig heb ik wat problemen ermee. Access begint steeds trager te worden. Ook merk ik dat als er bijvoorbeeld het ene formulier half wordt ingevuld er waardes van dat formulier in het andere terechtkomen. Hoe los ik dit het beste op?
 
Is het wellicht een idee om de data op unbound forms te laten intoetsen?? Of kan dat niet met unbound forms? Zoja wat is de locatie(tabel of query) waar de ingetoeste informatie kan worden bewaard?
 
1 grote tabel....

Ik hoop dat ik je vraag/omschrijving goed heb begrepen.

Ik lees dat jij 1 grote tabel hebt, waarin je gegevens toevoegt.
Het is altijd beter om aparte tabellen te hebben voor verschillende entiteiten.
Anders voor je in elke nieuwe regel in de tabel niet unieke gegevens in.

Het is absoluut niet beter om: aparte tabellen te maken en de gegevens weer in 1 grote tabel te zetten. Je bent dan dubbele gegevens aan het invoeren -> db wordt groter en trager.
Als je per se 1 grote tabel wilt, zou ikzelf eerder gebruik maken van Excel.

Ik heb alleen je 1e vraag hier enigzins mee beantwoord. De 2e vraag wordt hiermee overbodig.
Als ik je omschrijving niet goed heb begrepen, dan hoor ik het wel.
 
Ik wil eigenlijk alle binnengekomen leveringen registreren en daar vervolgens informatie uithalen. Er komen op 3 locaties informatie binnen die redelijk hetzelfde is. Er wordt dus met 3 formulieren gewerkt. Mijn vraag is eigenlijk: moeten alle 3 de formulieren dezelfde tabel updaten?? Of is het juist slimmer om ieder formulier zijn eigen tabel te geven? Dan moet er wel informatie uit alle 3 de tabellen tegelijk kunnen worden gehaald.

Bedankt voor alle moeite:)
 
1 Leveringen tabel

Als je alleen leveringen wilt registreren, dan maar 1 tabel (Leveringen).
Leveringid, leverancier(id), hoeveelheid, etc.

Maar wil je ook weten welke leverancier, welke opslaglocaties, welke klanten, welke producten er zijn dan krijg je natuurlijk wel meer tabellen.
Maar je wilt in principe niet meerdere tabellen voor 1 entiteit (leveringen). Zeker niet als de informatie gelijk is.

Het antwoord is: Niet 3 tabellen voor 1 entiteit. Alle 3 de formulieren moeten dezelfde tabel updaten.

Ik hoop dat je iets kunt met dit advies.



Groter en trager vraag: comprimeer je de database ook regelmatig?
 
Laatst bewerkt:
Ik ben de database nog aan het bouwen, hij wordt op dit moment nog niet gebruikt.
Ik heb aparte tabellen gemaakt voor de leveranciers, producten, transporteurs etc.
Mijn bedoeling is dus dat de gebruikers iedere keer als zij een levering binnen krijgen daarvan een melding maken binnen Access. Er zijn drie verschillende locaties(gebruikers) waar de informatie kan binnenkomen. Ik heb dus drie formulieren nodig. De informatie die geregistreerd wordt is redelijk hetzelfde en zou in principe in 1 tabel kunnen. Het moet een groot systeem worden voor twee aparte bedrijfsonderdelen.

Als voor het traagheidsprobleem, ik zie zelf twee mogelijkheden:
1. ik heb de data gerepliceerd.
2. Dubbele tabellen; Ik heb om het voor de gebruikers overzichtelijk te houden twee tabellen voor bijv. de leveranciers (dus leveranciers 1&2). Dus formulier 1 werkt met leverancier 1 en formulier 2 werkt met leverancier 2. Uiteindelijk updaten beide formulieren dezelfde tabel.
 
2 verschillende db's

Een tip:
Ik heb in het verleden een tweedeling gemaakt in een db (formulieren en tabellen).
Ik had dan op vier pc's lokaal een access db neergezet met een gering aantal tabellen (alleen inlog ed), maar met bijna alle formulieren. De lokale db's (in jouw geval 3 locaties) schreven informatie naar 1 database op het netwerk. Deze database had vrijwel geen formulieren en rapporten (alleen beheersfuncties), maar wel alle tabellen. Op deze manier hoef je geen formulieren te laden vanaf het netwerk. Op deze wijze kan je zelfs voor ieder locatie alle formulieren aanpassen aan de specifieke situatie.

Ik zou ook iets doen aan de dubbele tabellen. Ik zou een andere manier zoeken om het overzichtelijk te houden voor de gebruikers, misschien een ander formulierontwerp of zoekfunctie. Als je maar niet meerdere dezelfde tabellen gebruikt, meerdere formulieren maakt niet zoveel uit. Formulier 1 en 2 kan je houden als dezelfde tabel wordt bewerkt.
Ik heb ook wel eens een db gebouwd meer meer dan 4 formulieren voor 1 tabel. Bijvoorbeeld toevoegformulier, bewerkformulier, verwijderformulier en beheerderformulier.

Hopelijk heb je iets aan deze tip.
 
Ik heb al iets gelezen over frontend and backend databases.
In principe moeten erop de drie invoerlocaties maar een formulier te staan namelijk waarmee ze kunnen invoeren. Ik heb zeg maar wel een aantal queries lopen in het formulier bijv. op locatie 1 kan er alleen een leverancier gekozen worden uit tabel leverancier 1 (voor locatie 2 dus de tabel leveranciers2). De ingevulde formulieren updaten wel dezelfde tabel, de tabellen leverancier 1&2 zijn er voornamelijk om het invullen van het formulier wat makkelijker te maken.
Is het dus mogelijk om alleen een formulier bij locatie 1 te zetten en eigenlijk alle tabellen op een centraal punt?
Ik ben eerst bezig de database werkend te krijgen daarna ga ik is goed kijken naar het opzetten van het netwerk. Ik wil de database wel zo goed mogelijk erop instellen dat daar straks mee in een netwerk kan worden gewerkt.
Zit er een maximaal aantal gebruikers aan een Access Database? Ik denk dat het er maximaal 8 a 9 zullen worden.
 
Als ik mij er ook mee mag bemoeien: ;) Een splitsing Frontend-Backend is in jouw geval bijna zeker de beste optie. Als ik het zo lees denk ik dat je de tabellenstructuur wel redelijk voor elkaar hebt, en gaat het dus om de formulieren.
Ik maak zelf voor de frontend database eigenlijk maar één formulier, waarbij ik de inlogplek dan gebruik om verdere restricties in te bouwen. Als je op werkplek 1 dus inlogt dan kun je daar een andere selectie op laten zien dan op werkplek 2, met in wezen hetzelfde formulier.
De reden om het aantal verschillende databases met verschillende formulieren zo laag mogelijk te houden is uiteraard om het onderhoud van het systeem overzichtelijker te maken. Je wilt later niet nog eens 6 formulieren hoeven te veranderen als je iets anders hebt bedacht: je wil dan in één database (de standaard frontend) de aanpassing doen, en dan deze nieuwe database uitzetten bij de gebruikers, en dan moet het gelijk werken. Althans, zo probeer ik het altijd te maken.
Ik denk niet dat me met 10 gebruikers of zo in de problemen zult komen qua aantal, al weet ik eerlijk gezegd niet wat het maximum aantal gebruikers is, of wat de consequenties zijn voor de prestaties. Mijn systemen werken met max 8 personen, en dat gaat prima!


Michel
 
Laatst bewerkt:
Mooie materie:) Ik ga eerst de database volledig werkend krijgen en als hij dan klaar is om geimplementeerd te worden kom ik hier nog is op terug:D

Ik heb nu iig het idee dat ik toch op de goede weg ben:D
 
Zoals beloofd kom ik er op terug;)

Ik heb een vraag over de continuiteit van de database. De tabel met leveringen gaat zich steeds meer vullen. Ik geloof dat er een limiet aan Access zit van 2 gigabyte. Ik denk dus dat het 2x per jaar nodig is om de tabel met leveringen te legen en weer vanaf 0 te beginnen. Ik zou dan graag willen dat de gedane leveringen worden gearchiveerd.
Ik moet dan waarschijnlijk een query daarvoor bouwen. Of kan ik gewoon op database dupliceren kilkken?
Of zou ik gewoon een lege shell database houden en dan daarin alles naartoe exporteren?
 
Ik heb regelmatig met hele grote databases in Access gewerkt, en kom toch niet zo snel aan de 2 TB. (gen Giga...) Zeker niet, als je regelmatig de database comprimeert met <Extra>, <Database hulpprogramma's>, <Database comprimeren en herstellen>

Eventueel kun je de database backend converteren naar een SQL variant.

Michel
 
Bedankt voor alle tips. Ik ga zeker van een split gebruik maken. Het merendeel van mijn gebruikers zal met Access Runtime werken. We gebruiken Access 2003 trouwens, is dat ook zo groot als Access 2007?
Even nog een hele andere vraag: Is het mogelijk om per indivduele gebruiker een apart switchboard te maken? Het is straks de bedoeling dat gebruikers via hun Runtime naar het juiste formulier gaan maar niet iedere gebruiker heeft toegang tot alle formulieren.
 
2003 en rechten

De specificaties van Access 2003 zijn als volgt:
Specificatie 2003
Er is dezelfde limiet als in 2007: 2GB per db.

Het is zeker mogelijk om per individuele gebruiker een apart switchboard te maken. Je kunt bijvoorbeeld bij gebruikers instellen welke rechten ze hebben. En bij formulierweergave worden dan bepaalde onderdelen wel of niet weergegeven.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan