gegevensinvoer via formulier

Status
Niet open voor verdere reacties.

JoopAcces

Nieuwe gebruiker
Lid geworden
2 feb 2013
Berichten
2
Beste lezer,

Ik heb een stokoude database waar ik plezierig mee werk. Met een "script" kan ik nieuwe gegevens invullen die vervolgens automatisch worden bijgeschreven in de juiste tabel. Ik zou nu verder willen in Access. Mijn vraag is of ik in Access (2007 OF 2010) ook een LEEG formulier kan maken, vervolgens mijn nieuwe gegevens kan invoeren, waarna deze gegevens worden weggeschreven naar de juiste tabel?
Groet,
Joop
 
Dat is een beetje vreemde vraag, maar ik denk wel dat ik ongeveer snap wat je bedoelt. Ik snap in ieder geval niet wat je bedoelt met
Met een "script" kan ik nieuwe gegevens invullen die vervolgens automatisch worden bijgeschreven in de juiste tabel.
Bedoel je dat je een procedure hebt gemaakt die middels losse Inputboxjes alle noodzakelijke gegevens opvraagt, waarna je die samenvoegt in een recordset en vervolgens in een record toevoegt? Dat zou een werkwijze zijn die zelfs in de allereerste Access versie al bijzonder omslachtig zou zijn geweest. Want in elke versie van Access kun je twee soorten formulieren maken: afhankelijke (die aan een tabel zijn gekoppeld) en niet-afhankelijke die dus niet aan een bron zijn gekoppeld. In het laatste formuliertype kun je allerlei tekstvakken maken die de gebruiker dan invult, en vervolgens met een knop kun je die dan aan de tabel toevoegen.
Er is, als je op een normale manier gegevens wilt toevoegen, maar bijzonder weinig meerwaarde om dat middels een niet-gebonden formulier te doen. Dus waarom zou je dat überhaupt willen?
 
N.a.v. de mail die je gestuurd hebt is de vraag over het script in ieder geval duidelijk. Om het topic voor iedereen interessant te houden, herhaal ik de belangrijkste elementen dus maar hier.

Ik gebruik Paradox 4.0, een oeroude maar o zo directe database. Ik gebruik voor gegevensinvoer een script (je kunt ook dataentry gebruiken) waarin ik vlinderwaarnemingen kan zetten. Allerlei velden zijn al ingevuld, zoals jaar, maand, gebied, coordinaten, enz. Ik hoef dan alleen maar de datum in het script te veranderen voor dat gebied en ik kan mijn soorten en aantallen invullen. Het is dus een invultabel, waarbij ik horizontaal door de velden heenloop en alleen bij het soort-veld een soort invul en in het aantal-veld het aantal. Ik verwacht van een moderne database dat ie op z'n minst net zo snel en efficient is , zo niet sneller.
Moderne databases zijn niet per definitie beter, sneller en efficiënter dan oudere programma's. Dat geldt in zijn algemeenheid, maar gaat zeker op voor Microsoft, waar een beter of efficiënter programma volgens mij nog nooit een onderwerp van gesprek is geweest. Daar wordt alleen maar gekeken naar de vraag: is de nieuwe versie anders? Uitbrengen! Kijken hoeveel mensen we nu weer zo gek krijgen dat ze het kopen :)
En dat geldt ook zonder meer voor Access. Elke nieuwe Office (en Access) versie stelt meestal zwaardere eisen aan een computer en verandert weer wat aan de menustructuur, en dat zonder ook maar 1/100 procent productiviteitswinst op te leveren. Tekstverwerken doe je in Office 97 net zo efficiënt, misschien zelfs wel beter, als in Office 2010. Hetzelfde geldt voor Access en Excel. Ik ben ervan overtuigd dat bijna niemand in de nieuwste versies beter of sneller werkt als in de oudere. De gedachte dat een nieuwe versie dus per definitie beter zou moeten zijn als de vorige, beschouw ik als 'wishful thinking'.

Een ouder pakket wilde bij het uitkomen vaak ook niet optimaal draaien, omdat de gebruikers toen vaak ook niet de meest optimale configuratie hadden. Maar bij het upgraden van de hardware werd dat probleem vanzelf geëlimineerd. Als je nu op een nieuwe pc Office 2000 of 2003 installeert, heb je dan ook een voortreffelijk werkend systeem, dat razendsnel zijn werk doet. Hetzelfde geldt ongetwijfeld voor Paradox.

Nu terug naar je vraag: je scriptoplossing is in Access gewoon d.m.v. een gebruiksformulier te maken. Je baseert dat formulier dan op een tabel, waarin je voor de velden waarin je standaardwaarden gebruikt de formules als standaardwaarde invoert (Date() voor een datumveld bijvoorbeeld). Op je formulier kun je dan die velden met een standaardwaarde uitschakelen, zodat je er met invoeren niet in kunt komen. In jouw geval heb je dan nog steeds maar twee of drie velden waar je met de Tab toets doorheen loopt. De invoersnelheid is dus exact hetzelfde als in je Paradox oplossing. Alleen zie en doe je alles op een formulier.
 
Je gebruikt een beetje ongebruikelijke weg voor een forum, door steeds via Mail te reageren. Zolang je reageert op antwoorden, zou ik je toch aanraden om dat via het forum te doen; dat houdt de informatie voor iedereen interessant en volgbaar.
Ik ben er nu achter waarom ik de koptekst van de velden te zien kreeg. Als ik nu Formulier aanklik krijg ik het gewenste plaatje. Waarom krijg ik mijn hele tabel te zien in het formulier??? Ik wil eigenlijk een leeg formulier, waarbij ik een aantal velden op een default waarde zet en slecht s een paar dingen in andere velden invoer. Heb ik dan tig records ingevoerd, dan wil ik deze toevoegen aan de grote tabel. Ik heb via uren googelen van alles gezocht maasr JUIST DATGENE wat ik nu vraag wordt nergens behandeld (ook niet in een cursus, hoe is dit mogelijk?). Volgens mij is dit zowat de meest gestelde vraag. Een leeg formulier om records in te voeren enz. Bij het googelen vond ik ook eenzelfde vraag met een antwoord van u:

" Maar zoals gezegd, dat raad ik niet aan, want dan kan je het formulier niet ergens anders voor gebruiken, en dat is zonde. Dus ik raad aan om de knop op een startformulier te maken, waarmee je het formulier in Gegevensinvoer start. Met een andere knop open je het formulier dan in de 'gewone' modus, waarin je kunt bladeren en zoeken in de records."

Nu kan ik de zin " Dus ik raad aan om de knop op een startformulier te maken, waarmee je het formulier in Gegevensinvoer start. Met een andere knop open je het formulier dan in de 'gewone' modus..." niet volgen. Wat is "de knop"? Wat is een startformulier? Wat is "een andere knop"?
Uit je mails maak ik op dat je nog bitter weinig ervaring hebt met Access. Dat is op zich uiteraard geen probleem, want iedereen moet daar doorheen. Je hebt al ervaring met Paradox, dus je hebt in het leerproces vermoedelijk al een voorsprong. Dat neemt niet weg dat Access geen programma is voor mensen die zich niet willen verdiepen in het programma; een tekstverwerkingsprogramma als Word heeft in vergelijking met Access een heel wat lagere leercurve dan Access, dat een behoorlijk gecompliceerd programma is vanwege de vele functionaliteiten die er in zijn gebouwd. Die leercurve is helaas niet te koop, en alleen door er tijd in te steken te verkrijgen.
Mcrosoft probeert Access overigens wel in de markt te zetten als een programma dat net zo makkelijk is als Word; wat Bill en zijn kornuiten betreft moet iedereen een database kunnen maken. En dat is uiteraard niet zo: zonder onderliggende kennis van tabellen en relaties kom je niet ver. Maar de eerste stappen zijn dus heel snel gemaakt met de wizards. Jouw opmerking
Ik heb via uren googelen van alles gezocht maasr JUIST DATGENE wat ik nu vraag wordt nergens behandeld (ook niet in een cursus, hoe is dit mogelijk?). Volgens mij is dit zowat de meest gestelde vraag.
geeft al aan dat dit niet de meest gestelde vraag is in databaseland. De meeste gebruikers zijn dolgelukkig met een formulier waarin je a) gegevens kunt invoeren en b) dezelfde gegevens kunt terugzien/opzoeken. Die twee statussen (records bekijken/nieuwe invoegen) zijn simpel uit te voeren met de navigatieknoppen in een formulier/tabel. Naast de bladerknoppen heb je immers een knop <Nieuw record>, waarmee je gelijk naar een leeg record gaat dat je dan kan invullen.
Er zijn maar heel weinig gebruikers die niet kunnen leven zonder een formulier waarop ze eerst tientallen records invoeren, en daarna pas met een druk op een knop die gegevens in de tabel zetten. In Access begrippen is dat doorgaans een behoorlijk hopeloze oplossing, die nergens voor nodig is. Zeker als je alleen zelf in de db werkt, is er geen enkele noodzaak om een formulier niet op een tabel te baseren, en de gegevens dus niet gelijk op te slaan. Er is gewoon geen meerwaarde om zo te werken. Ergo: een formulier baseer je op een tabel, dat dan als een schil op de tabel ligt. Je werkt kortom direct op je dataset. Snel, handig, veilig, en vooral: makkelijk!
Dus: waarom wil je deze oplossing niet gebruiken?

Dan het tweede stuk van je mail.
Als je de tabellen in orde hebt, de formulieren op die tabellen hebt, en eventueel de rapporten die er uit moeten komen, kun je aan een gebruikersinterface gaan denken. Dat is een niet-afhankelijk (start)formulier waarmee je de verschillende tabellen en rapporten kunt openen. Dat gebeurt middels knoppen. In zo'n knop kun je dan de status van het te openen formulier meegeven, bijvoorbeeld: open het formulier in Gegevensinvoer. Je ziet dan niet meer de reeds ingevoerde records, maar kunt gelijk een nieuw record toevoegen. Omdat je in deze status niet meer door de bestaande records kunt bladeren, heb je ook een knop nodig die het omgekeerde doet: bladeren door de records. En dat is dus wat ik met die opmerking bedoelde.
Maar ik zou zeggen: kijk eens naar de cursus Access in de Handleidingen sectie; daar worden een hoop van de principes van Access uitgelegd!
 
Hoi Octafish,

Hartelijk bedankt voor alle moeite! Ik heb uw handleidingen gedownload. Ik wist niet van het bestaan van deze. Ik ga aan de slag.
Groet, Joop
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan