Als ik zo hoor wat je wilt, dan gaat het volgens mij om 2 belangrijke zaken:
- Er moet een match gemaakt worden tussen ingevoerde gegevens en in het systeem aanwezige gegevens
- Er moet met de totale gegevens op een standaard lay-out afgedrukt worden
Voor de 1e zul je gebruik moeten maken van een database met de stamgegevens. Het meest logische is daar ofwel een MySQL of access database voor te nemen. MySQL heeft als voordeel dat het beter en makkelijker in een webomgeving te integreren is, maar tegelijkertijd moet je dan dus (intra-) netwerktoegang hebben. Eventueel kan dit ook een excelsheet zijn, maar dat is niet echt handig wanneer het om grote hoeveelheden data gaat.
Wanneer je voor mySQL gaat, maak je een website op een soort wizard-manier, als eerste de naamsgegevens invullen, db-query doen en aanvullende gegevens erbij halen, dan veld opmerkingen oid tonen en als laatste een print maken. Het plaatsen van de juiste informatie op de juiste plaats op het papier is dan met plaatsing van afzonderlijke componenten te bepalen, eventueel maak je gebruik van een pdf generator om er zeker van te zijn dat alles op de juiste wijze geplaatst wordt. Groot voordeel hiervan is natuurlijk de onderhoudbaarheid van de database, eventueel sla je alle ingevulde gegevens ook nog op voor future reference of om te voorkomen dat e.e.a. uberhaupt uitgeprint hoeft te worden.
Wanneer je binnen het officepakket wilt blijven zou je alsnog mysql kunnen gebruiken en bijvoorbeeld in een excelsheet e.e.a. zo maken dat je na invoer in veld b6 van je naam een query op de mysql db doet voor de overige gegevens en die plaats je dan in cel b7-b9 bijvoorbeeld. De query uitvoeren doe je dan op basis van een event (cel verlaten of op knop drukken oid) vanuit VB. Binnen excel maak je alle cellen waar ze niets in mogen voeren omdat het uit de db gehaald wordt beveiligd en ook de opmaak beveilig je. Als het echt 1 pagina is,d an is dat wel te doen.
Mocht de database een probleem zijn, dan kun je eventueel de stamcelgegevens in een hidden sheet plaatsen en met een vlookup de gegevens erbij zoeken. Nadeel hiervan is dat je iedereen een nieuwe versie van het document moet geven indien er iets in de stamgegevens verandert. Nogmaals, alleen als het heel klein is en blijft zou ik dat doen.
Wanneer de netwerktoegang een probleem is en alles dus lokaal gebruikt moet kunnen worden, dan kun je ook kiezen voor een access database, kies wel voor een aparte front-end en back-end met de stamgegevens, dan hoef je alleen het aangepaste bestand te distribueren en bovendien is het veiliger. In access maak je dan een startscherm waar je automatisch in terechtkomt, laat de naam invullen en op volgende klikken, dan een nieuw formulier met de opgehaalde gegevens erbij en het opmerkingenveld en dan als laatste gooi je die gegevens naar een opgemaakt rapport die je laat printen.
Opties te over dus, zelf moet je bekijken wat welke voor en nadelen heeft voor het specifieke gebruik. Een stukje programmeerkennis zul je zowieso moeten hebben, alhoewel zowel de excel-only als de accessvariant met relatief veel drag 'n drop te doen is. Voor controle van de gegevens heb je waarschijnlijk toch wel wat vba nodig, maar dat is ook niet vreselijk moeilijk.
De in mijn ogen mooiste oplossing is als het kan de mySQL db en een web frontend, niets officepakket, nergens voor nodig en iedereen heeft een webbrowser. Als het supereenvoudig blijft dan kun je gaan voor de excel-only variant, als het veel veranderende stamgegevens betreft echt niet doen. Access is redelijk en met de gratis te verkrijgen access runtime viewer hoeft men ook niet persé het volledige officepakket te hebben, maar bedenk wel dat je daarbij goed op moet letten dat iedereen dezelfde versie gebruikt want anders verzeil je in oeverloze verschillen tussen de varianten. (oftewel, meteen een groot nadeel van access)