Acces probleem

Status
Niet open voor verdere reacties.

jelee

Gebruiker
Lid geworden
3 feb 2006
Berichten
54
Goededag/avond,

ik zit momenteel met een vreemd probleem in acces (attans in mijn ogen), ik zal het proberen uit te leggen enkel is het makelijker om probleem zelf te ondervinden aangezien ik zelf de daadwerkelijke oorzaak nog niet gevonden heb.

De opmaak:

Tabel Boek
- ID-Boek
- Titel
- Datum
- ISBN
- Auteur
- Info

Tabel Geleent
ID Geleent
Boek_Naam
Datum_geleent
Gebruiker
Terug_Gebracht
Datum_terug

Tabel geleent is geleent is in 2 query's verdeelt
1 met wel terug gebracht
en de andere met niet terug gebracht

de uitkomsten van deze query's heb ik in een lostaand formulier verwerkt waardoor ik 2 losse formulieren had en deze heb ik gecombineerd met de tabel gebruikers waardoor ik in het formulier gebruikers 2 extra formulieren heb.

dit is deel 1 van het probleem (vermoedelijk een combinatie van het daadwerkelijke probleem)
ik kan zelf geen boeken toevoegen in gebruikers in het formulier "niet terug gebracht" wel kan ik in het formulier "wel terug gebracht" wel boeken toevoegen.

tevens als ik in wel terug gebracht een boek toevoeg en aanvink dat niet terug gebracht is krijg dan wil die hem niet ALTIJD bij de juiste gebruiker toevoegen.

ik hoop dat iemand me kan helpen met dit probleem.

alvast bedankt.

Ik zal de database als bijlage toevoegen vragen hoe eventueele dingen in elkaar zitten kun je natuurlijk vragen

ik zie net dat de maximale bijlage 100kb is aangezien de database groter is 100kb post ik de download link wel via een externe mirror.
http://jelee.nl/school/data/db2.mdb
 
Cruijffiaans probleem

Voor elk probleem is er een oplossing, maar sorry, dit gaat me net iets boven mijn pet.
Misschien lukt het als je het iets begrijpelijker uitlegt?
 
Warrig!

Ik vind het een beetje warrig, maar volgens mij maak je een denkfout! :confused:
Je hebt een tabel "tbl Boek" en je hebt een tabel "tbl Geleend".
Belangrijk is dat je een relatie ligt tussen "tbl Boek" en "tbl Geleend"
Je moet dus een veld opnemen "ID Boek" opnemen in het tabel "tbl Geleend"

Nu maak je een "Formulier" gebasseerd op het tabel "tbl Boek" hiervan maak je een enkelvoudig formulier.
Je maakt vervolgens een "Sub-formulier" gebasseerd op het tabel "tbl Geleend" dit moet een doorlopend formulier worden (immers een boek kan vaker worden uitgeleend en terug worden gebracht :p)
Bij het doorlopende formulier klik je op beeld en vervolgens op Formulier koptekst/- en voettekst.
De titels van velden zet je in de koptekst en de velden zelf in het detail gedeelte.
De velden die je aan elkaar moet linken is het veld "ID Boek"

Als je nu een boek kiest worden de bijbehorende uitleenrecords getoond.
Je kunt een bestaand uitleenrecord wijzigen b.v. bij het terugbrengen.
Je kunt het boek opnieuw uitlenen d.m.v. een record toe te voegen.

Heel veel succes :thumb:
 
Je initiële probleem is simpel op te lossen; het ene formulier is goed gekoppeld, het andere formulier niet. Daarom kon je in het formulier Teruggebracht wel records toevoegen, en in het formulier Geleend geen records. Het laatste formulier was gekoppeld op basis van Boek en GebruikersID, en dat moet natuurlijk zijn: Gebruiker en GebruikerID.

Overigens vermoed ik dat mijn geleerde confraters de db niet goed hebben bekeken, want op zich liggen de koppelingen tussen de tabellen prima, dus daar lag het probleem niet.
Het enige waar je nog maar eens naar moet kijken, is de naamgeving van je tabellen, velden, formulieren etc. Een veld Boeknaam verwacht 99% van de mensen een tekstveld. Jij gebruikt het veld als numeriek veld, met een verwijzing naar ID-Boek uit de tabel Boeken. Waarom? Het is alleen maar verwarrend, niet alleen voor jezelf straks, maar zeker voor andere mensen die met de db moeten werken, en eventueel bouwen.
Gebruik consequente en consistente namen voor tabellen, velden, formulieren en queries, dan maak je het jezelf een stuk makkelijker! (En ons....) Zelf krijg ik ook acuut last van losspringend tandglazuur als ik (dat dan weer wel consequent...) een woord als datum_geleent zie; een beetje onderzoek wijst uit, dat de verleden tijd van Lenen nog altijd Geleend is. Tenzij het een nieuw werkwoord is, dat alleen in Geleen wordt gebruikt natuurlijk...

Een ander probleem van de huidige constructie is, dat je wel records in de verschillende formulieren kunt toevoegen, maar dat de keuzelijsten en formulieren niet worden bijgewerkt.
Dat betekent dus, dat je één boek rustig drie keer achter elkaar kunt uitlenen. En dat lijkt mij nou net niet de bedoeling... Ook kun je van elk boek maar één exemplaar uitlenen, omdat je per boektitel maar één record hebt. Normaal gesproken zul je voor een bibliotheek meerdere exemplaren van dezelfde titel hebben, dus daar heb je een aparte tabel voor nodig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan