Nieuwe tabellen, gegevens uit oude tabel gebruiken en aanvullen met nieuwe gegevens

Status
Niet open voor verdere reacties.
Ik heb de db een beetje aangepast, zoals je uiteraard al had verwacht :D
Op het nieuwe formulier (wat ik er maar even met de haren bij heb gesleept; er zit niet echt logica in vermoed ik) zit nu een subformulier dat kijkt naar eerder ingevoerde positienummers. Je kunt een nummer dus maar één keer per batch invoeren. Hopelijk gaat het nu wat meer leven.
 

Bijlagen

Dank je wel maar dat is niet waar ik op uit was, eerder op een duidelijkere uitleg zodat ik het zelf kan doen.

Ik wil het graag begrijpen maar soms lijkt dit nog bet meeste op Chinees, heb ik ook geen bal verstand van.

Ik ga morgen kijken naar wat je gemaakt heb en hoop het te kunnen gebruiken als leermateriaal!

Nogmaals dank je wel!
 
Soms is een voorbeeldje makkelijker dan een uitleg; gezien de lengte van dit draadje was je dacht ik wel toe aan iets dat werkt ;) Bovendien gaat er ook best wel veel tijd zitten in het bedenken van de antwoorden.
De gemaakte oplossing is relatief simpel, hoop ik. Op het subformulier vind je achter de keuzelijst <cboNummer> de query die de niet-gebruikte nummers produceert op basis van het batch nummer. Deze keuzelijst is alleen te gebruiken als er een batchnummer is ingevuld, wat nodig is om te voorkomen dat de keuzelijst verkeerde waarden (of geen) laat zien. Op het tekstvak Boxnummer zit dus code die de keuzelijst activeert als er iets is ingevuld. Ik zou me voor kunnen stellen dat je iets vergelijkbaars maakt voor de monsters; daar zit nu een keuzelijst achter die altijd alle monstertypes laat kiezen. Ik kan mij voorstellen dat je per batch maar één sample verstuurt, dus maximaal 4 monsters per patiënt. Die keuzelijst kun je nu wel zelf maken, denk ik. Als je hem al nodig hebt natuurlijk.
 
Dit is inderdaad een super oplossing! Dank ervoor. Nog wel wat kleine vraagjes laat ik beginnen met 1;


1. Op het moment dat ik een patientID wil invoeren (handmatig) dan geeft die een foutmelding;

De opgegeven wijzigingen aan de tabel zijn niet moet aangebracht omdat zij dubbele waarden opleveren voor de index, primaire sleutel of relatie. Wijzig de gegevens in het veld of de velden die dubbele gegevens bevatten of defineer de index opnieuw.

Waar moet ik dit zoeken?
 
Laatst bewerkt:
In welk formulier krijg je dit?
 
Da's degene die ik heb toegevoeg, niet? Daar zit verder geen enkele relatie in met je andere formulieren, dus goede kans dat hij inderdaad allerlei fouten geeft als je een nieuwe patientID invoert; ik heb getest met bestaande patientnummers. Ik weet ook niet op welke plek je het subformulier met samples nodig hebt, maar ik vermoed dat je het subformulier (waar het uiteindelijk ook om gaat) best in een ander formulier kunt gebruiken waar je de patientID's wel controleert.
 
ja das inderdaad het formulier dat je toegevoegd hebt.

Als ik het dus goed begrijp heb je het formulier gebouwd vanuit de "losse hand"?
 
Ik denk dat ik het heb,

Je hebt het reeds bestaande formulier Material gekopieerd en dat gebruikt als basis van het formulier material storage. Ik heb nu de recordbron van het formulier aangepast naar Tbl_Storage (ipv Tbl_Materials).

En nu lijkt die het wel te doen.
 
Oke ik geloof dat ik het probleem met het formulier nu opgelost heb.

Zit ik nog met een ienemienie probleempje, als ik nu een patientID invoer en vervolgens een box number, type en sera aangeeft, maakt die nadat je een boxnummer hebt automatisch een nieuwe regel aan, dat is goed, dat is super zelfs.

Maar als je in die regel niets invult dan zie je in je tabel wel een regel staan met een PatientID zonder dat er verdere gegevens ingevoerd staan. Kan ik dat voorkomen? En zo ja hoe?
 
Dat is op zich niet erg; omdat hoofd- en subformulier aan elkaar zijn gekoppeld op basis van PatientID heb je het veld zowiezo nodig in het subformulier. Access lijkt inderdaad gelijk een lege regel aan te maken als je een vorige regel hebt ingevuld. Dat is echter niet zo; hij neemt slechts het koppelveld over. Het record wordt pas actief als je daadwerkelijk iets toevoegt. Omdat (logischerwijs) het PatientID altijd hetzelfde is in het subformulier, is er weinig noodzaak om het op het scherm te tonen. Ik verberg het veld dus altijd door de eigenschap Zichtbaar op Nee te zetten. Heb je gelijk meer ruimte om de andere tekstvakken op te schuiven!
 
Nog een klein dingetje, in de tabel storage die je gemaakt hebt, kan je als je gegegevens ingevoerd hebt zo'n regel uittrekken en de patienten gegevens zien. De tabel heeft namelijk als subgegevensblad de Tbl_Patient.

Maar als ik nu op zo'n plusje klik krijg ik de hele lijst te zien die in de Tbl_Patient staat en niet die ene patient. Kan ik dat veranderen, zodat ik bij mijn patientID alleen maar de gegevens van die patient te zien krijg?
 
Geen idee; ik werk daar nooit mee! Bovendien zouden je gebruikers de tabellen ook niet mogen zien, lijkt mij. Daar hebben ze natuurlijk niks te zoeken... Misschien als je de tabel koppelt in het Relatievenster, want dat heb ik uiteraard niet gedaan.
 
Bovendien zouden je gebruikers de tabellen ook niet mogen zien, lijkt mij. Daar hebben ze natuurlijk niks te zoeken...
Klopt en klopt niet, niemand mag deze gegevens zien behalve een paar mensen. En juist voor die mensen (die er nog minder van weten dan ik)

Kan het te maken hebben met het feit dat in deze tabel een een op veel relatie tussen tbl Patient.PatientID en tbl_Storage.PatientID ligt?
 
Als ik op het formulier material storage trouwens van het tekstvak PatientID een keuzelijst met invoervak maak en ik trek hem uit dan laat hij ook geen patientID's zien, kan het zijn dat de koppeling daar ergens niet goed is?
 
Moet ik nog eens over nadenken... Doe ik vanavond wel, ik wil de baas ook nog gelukkig zien vandaag :D
 
Vast een stomme vraag maar als ik hetzelfde trucje nog een keer wil doen (dus de tabellen, formulier, query ed) maar nu waarbij het box number geen nummerieke waarden heeft maar een letter (A t/m H in dit geval) wat moet ik dan aanpassen en waar moet ik dat dan aanpassen?
 
Eigenlijk niks, maar in Relaties zijn de tabellen verkeerd gekoppeld; PositionID is daar gekoppeld aan [Box Number] en die hoort gekoppeld te zijn aan (in mijn voorbeeldje) [Nummer]. Als je de relatie aanpast, kun je het veld [Box Number] omzetten naar Tekst, en kun je alles gebruiken wat je wilt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan