Invoerveld check voor het opslaan van een record

Status
Niet open voor verdere reacties.

joellp

Gebruiker
Lid geworden
14 okt 2011
Berichten
32
Beste,

zie onderstaand afbeelding. Dit onderdeel is een formulier. In dit formulier kan je een nieuw patient aanmaken. Wat is nou het geval: voor elke onderdeel wat vet gedrukt is, is een aparte tabel voor aangemaakt in de database. Dus je hebt een tabel patiënt, notitie, werk, partner en ouder. Wanneer je gegevens invult over een patiënt dan is deze informatie terug te vinden in de tabel patiënt.
Echter als je van de overige tabellen geen gegevens invult, maakt hij het dossier niet volledig aan. Ondanks dat er al diverse standaardwaarde staan zoals bij Werk staat standaard op "Niet bekend", maakt hij toch niet een volledige record aan. Pas als je erop klikt dan geeft hij de standaardwaarde wel mee.

Conclusie: Voor ieder onderdeel/tabel moet een waarde worden meegegeven anders maakt hij geen volledig dossier aan. Wat ik nu graag zou willen is voordat je klikt op "record opslaan" dat hij eerst een check uitvoert of je nog ergens een waarde moet invullen, en dan vervolgens opnieuw moet klikken om op te slaan. En niet een foutmelding aangeeft maar toch vrolijk het dossier opslaat.

Eigen onderzoek:
* het betreffende invoerveld in de tabel op "vereist" zetten heeft geen zin omdat hij dan wel de melding (voor het opslaan) geeft dat er een waarde ontbreekt in een veld, maar vervolgens vrolijk het dossier opslaat.

*"Voor bijwerken" van het formulier levert niet het gewenste effect op

*Het "na bijwerken" van een invoerveld met een MSGbox indien waarde NULL is geeft wel een juiste melding, alleen als gebruiker loop je niet altijd standaard alle invoervelden af.

Kortom ik streef naar een check voordat je opslaat, anders slaat hij gewoon niet volledig op. De opslaan knop is gemaakt aan de hand van een standaard macro.

nieuw_dossier.JPG
 
Ik vind de constructie niet erg handig; ofwel je wilt per patiënt meerdere gegevensblokken kunnen opslaan, ofwel je slaat van elke patiënt één blok op. Jij hebt zo te zien gekozen voor de optie om maar één blok op te slaan. Ik zou dan zeggen: maak er één mooie tabel van, want dan heb je dit probleem niet. Waarom moeilijk doen als het zoveel makkelijker kan? Want wat is volgens jou de meerwaarde van deze constructie?
 
Bedoel je de constructie van meerdere tabellen?

Een patiënt heeft een adres, maar zijn partner kan een andere adres hebben. Even voor de goede orde het gaat hier niet om patiënten maar om totaal iets anders, dat terzijde :). Ik heb puur voor het overzicht en voor de makkelijkheid meerdere tabellen aangemaakt i.v.m. andere formulieren. Of adviseer je mij één tabel te maken en daaruit losse query's opbouwen.
 
Je moet nooit tabellen maken omdat dat voor je gevoel 'makkelijker' is; tabellen maak je omdat de gegevensbronnen anders zijn. Bij een partner bijvoorbeeld zou je kunnen constateren dat die een ander adres heeft, maar de persoonsgegevens van die partner zijn exact hetzelfde als die van de hoofdpersoon: naw gegevens namelijk. Dus die kun je net zo goed in de personentabel opslaan. In een apart veld verwijs je dan bij Partner naar het record in die tabel. Daar is dus geen extra tabel voor nodig. Hetzelfde geldt voor ouders (zelfde gegevens) en kinderen. Kortom: hoe meer tabellen, hoe lastiger je het maakt voor jezelf.
 
Bedankt voor de tip! De applicatie is bijna af maar ik zal er de volgende keer aan denken. Ik heb het bovenstaand probleem maar eerst opgelost door een aparte knop toe te voegen. Deze voert een if-statement uit wanneer één veld van een tabel niet is ingevuld en geeft daarvoor een melding. Pas als de meldingen zijn verdwenen druk je op de knop opslaan.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan