probleem met record toevoegen/wijzigen

Status
Niet open voor verdere reacties.
owja, sorry helemaal vergeten. Ik heb het namelijk beveiligt met en wachtwoord. Als je dat niet invoert krijg je idd de melding dat het corrupt is.

Het wachtwoord is: xsamsung
 
En met welk zip-programma heb je het bestand gezipt?

Dennis.

ps. Ik zag even niet, dat wij al op pagina 2 zitten.
 
Oke. Ondanks het ingeven v.h. password mocht het ook niet baten.

Als het goed is, gaat het slechts om één mdb-bestand. Hoe groot is het bestand (niet gezipt) eigenlijk? Je kunt het gewoon op die server zonder het te zippen plaatsen.

Dennis.


ps. Maar anders moet ik je wel even op msn toevoegen, nadat ik een nieuwe account aangemaakt heb. Maar ga zo even voetbal kijken. Maar, nog voordat je komend weekend weggat doen wij onze uiterste best om die opdracht(het liefst helemaal volledig) reeds in mijn bezit te hebben.
 
Laatst bewerkt:
wat raar, als ik hem unzip met het wachtwoord doet hij het gewoon. Maargoed, ik zal hem morgenmiddag opnieuw op de server zetten onder hetzelfde adres maar dan zonder winzip. Kijken of het dan wel lukt.....
 
Bedoel je dat je het gedownloade zip-bestand unzipt of je originele(oorspronkelijke) zip-bestand dat al op je HD was voordat je het uploadt?

Als je dat laatste bedoelt, dan moet het unzippen wel altijd goed gaan. In mijn geval had dat gezipte bestand eerst een lange weg moeten afleggen, waardoor mogelijkerwijs onderweg een bitje(of zelfs meerdere bits) verloren was gegaan met alle gevolgen van dien.

Zal toch hier bij mij even verder uitzoeken, misschien heb ik zelf per abuis een fout gemaakt.

Dennis.
 
Vreemd, die link werkt niet bij mij.
Ben hier maar voor even, vanaf morgen heb ik meer tijd.

Groetjes,

Dennis.
 
idd vreemd, bij mij werkt die link zelf. Mischien moet je ff zonder de toevoeging kijken. Dus kijken naar www.football2004.nl/psvmovies

Dan zul je de link ook zien.

Anders word het toch even toevoegen tot msn. Alleen ben ik er pas zondagmiddag weer op. Probeer het bestand nog maar eens te downloaden en anders voeg je me maar toe komende dagen en zullen we het er vanaf zondag weer over hebben.

Groetjes jan
 
Ik had die link ook al eerder afgekapt, maar alleen tot de root(parent). En had verder niet de moeite genomen om naar een hïearchie lager(psmovies) te gaan. Had ik dat maar gedaan, dan had ik het bestand gisteren al. Zal zo het bestand dowloaden.

Dat op msn toevoegen komt heus wel hoor.

Dennis.
 
Beste Juancho, is het goed dat ik pas morgen aan de slag ga? En ben je morgen er nog?

Dennis.
 
Het probleem zit hem in iets heel eenvoudigs. Je hebt in het formulier "Cijferinvoer 1e gelegenheid" de comboboxjes voor leerling en moduul niet gekoppeld aan de bijbehorende velden in de tabel.

Als je dit doet kun je wel records toevoegen en verwijderen. Je krijgt dan nog wel een melding als je iemand voor de tweede keer wilt toevoegen voor hetzelfde tentamen. Maar dat klopt gezien de relaties tussen de tabellen.


Grtz,
 
Wat dom van mij, dat ik de tabellen niet eens kan bezichtigen ondanks het ingedrukthouden van de Shift-toets tijdens de opstart van je opdracht in Access.

Maar als de weergave van je excel-sheet een precieze weergave is van de tabellen toegesneden op dat specifieke probleem waar je nu mee zit, dan kan ik dat ook als maatstaf gebruiken om het probleem trachten op te lossen. Verder beschrijf je in dat sheet wat het problem is, ik zal daar enige opmerkingen plaatsen.

Als je de 6 invoert zoekt de tabel cijfer meteen naar student 12 in STUDENT
Nee, zo gaat dat in zijn werk niet en daar zit juist de fout.
Je kunt het beter op deze manier zeggen:
Als ik de naam v.e. leerling invoer, dan zoekt de tabel Cijfer meteen naar het studentnummer in de tabel Student, maar nu komt het! Het veld stnr) bestaat niet eens in de tabel Student. De tabel Student bevat maar 2 velden i.p.v. 3. Er moet dus nog één veld erbij komen en dat veld moet als sleutel(index) gebruikt worden, zodat er een koppeling tussen de tabellen Cijfer en Student ontstaat.

en van 3 in VAK.
De remedie hiervoor is precies als hierboven werd omschreven. Het gaat om hetzelfde probleem namelijk. In de tabel Vak moet ook nog één veld erbij komen met de naam stnr en moet het veld ook geïndexeerd worden.
Als hij die 12 en 3 NIET ziet in STUDENT en VAK kun je de record in CIJFER niet opslaan, aangezien
er sprake is van referentiele integriteit, wat wil zeggen: je kunt geen relaties onderhoude met tabellen
waarin de referentie sleutelgegevens (hier dus 12 en 3) NIET voorkomen.
Anders gezegd: toevoegen van een cijfer kan pas plaatsvinden als de vakken en de studenten EERST zijn
ingevoerd.
Dit probleem zal zich niet meer voordoen, nadat je de bovenstaande stappen uitvoerd hebt.

Dit kan dus niet omdat 17 niet voorkomt in STUDENT -> record kan niet worden opgeslagen!
Idem ditto; Dus, dit probleem zal zich niet meer voordoen, nadat je de bovenstaande stappen uitvoerd hebt.

@beheer25, leuk dat je meehelpt. Een goede tip van jou! Kan helaas nog niet bij de tabellen komen en ook niet bij de combo-boxen. Ik moet eerlijk bekennen, dat ik weinig tot bijna niets met access werk, maar veelal komt access databases wel overeen met die wat in VB wordt gebruikt.

Dennis.
 
sorry voor het late reageren maar ik ben zoals gezegt een weekendje weg geweest. Maar ik zal straks eens bezig gaan met jullie tips en hopelijk dat het probleem is opgelost. Als ik jullie zo hoor is het maar een heel klein dingetje wat je moet veranderen.

Iig bedankt en jullie horen nog van me binnenkort!

Jan
 
Ik ben ook erg laat met mijn reactie. Hopelijk heb je het leuk gehad.(maar, ik denk van wel)

Als ik jullie zo hoor is het maar een heel klein dingetje wat je moet veranderen.
Dat is inderdaad zo. Misschien heb je wel schoolboeken thuis liggen, waar afbeeldingen staan vermeld hoe je relaties tussen tabellen kunt aanleggen(koppelen) d.m.v. velden die als sleutels dienen om die koppeling te kunnen bewerkstelligen.

Dennis.
 
Dennis,

Ik heb nog eens gekeken naar wat je hebt uitgelegt maar in princiepe heb ik het wel gedaan zoals jij hebt gezegt. Die excel tekening heb ik overigens niet gemaakt, maar de leraar waaraan ik dezelfde vraag heb gesteld.

Lijkt me toch het beste dat je me even toevoegt op msn zodat ik je het acces bestand kan geven en kan vertellen hoe en waar het mis gaat, want ik kom er nog niet uit.....

voor de duidelijkheid zal ik even omschrijven hoe de desbetreffende tabbelen eruit zien:

tabel leerling (in het excel bestand word het student genoemd):
leerlingnr (sleutel, autonummering)
voornaam
achternaam
adres
postcode
woonplaats
klasnr

Tabel resultaten:
leerlingnr (sleutel)
modulenr (sleutel)
cijfer 1
cijfer 2
cijfer 3

Hierbij zijn beide leerlingnrs via een relatie met elkaar gekoppelt. Kortom, als ik een cijfer invoer moet hij toch het desbetreffende leerlingnr kunnen vinden?
 
Laatst bewerkt:
Geplaatst door beheer25
Het probleem zit hem in iets heel eenvoudigs. Je hebt in het formulier "Cijferinvoer 1e gelegenheid" de comboboxjes voor leerling en moduul niet gekoppeld aan de bijbehorende velden in de tabel.

Als je dit doet kun je wel records toevoegen en verwijderen. Je krijgt dan nog wel een melding als je iemand voor de tweede keer wilt toevoegen voor hetzelfde tentamen. Maar dat klopt gezien de relaties tussen de tabellen.


Grtz,

Hmm, ik heb dit veranderd en nu lukt er al een stuk meer. Maar soms krijg ik nu deze melding:

De opgegeven wijzigingen aan de tabel zijn niet aangebracht omdat zij dubbele waarden zouden opleveren voor de index, primaire sleutel of relatie. (Fout 3022)
U hebt een waarde ingevoerd die al aanwezig is in een veld in de primaire sleutel van de onderliggende tabel of in een index die geen dubbele waarden toestaat.

De melding bevat nog de volgende instructie: Wijzig de gegevens in het veld of de velden die dubbele gegevens bevatten of definieer de index opnieuw.
------------------------------------------------------------------------
Wat houdt dit precies in? Dit komt namelijk voor als ik van student verander. Verander ik dus bijv. alleen cijfers van studentnr1 kan ik alles veranderen. Maar zodra ik studentnr2 kies, krijg ik die melding. Rara....
Overigens heb ik in alle tabbellen waar cijfers in voorkomen ingesteld op geindexeerd: ja (duplicaten OK)
 
Laatst bewerkt:
Dat is de melding waarvoor ik je al waarschuwde. Als je nu een leerling 2x een cijfer wil geven voor hetzelfde tentamen gaat dat mis. Dan zul je die melding zien.

Dit komt omdat Leerlingnr en Modulenr de samengestelde sleutel zijn van de tabel Resultaten. De combinatie van leerlingnr en Modulenr in die tabel moet dus uniek zijn. Dat is het principe van een relationele DB.

Als je in het bovenste keuzelijstje een student kiest ga je NIET naar die student toe!! Je wijzigt dan het studentnummer in het record in de tabel waar je je op dat moment bevindt. Dit moet je voorkomen, want dat zou betekeken dat het cijfer van student 1 ineens bij student 2 hoort.

Wissel alleen van record door gebruik te maken van de navigatieknoppen onderaan. Anders gaat het mis. Kijk anders eens wat de wijzigingen in de tabel zijn op het moment dat je iets in het formulier wijzigt, dat werkt denk ik wel verhelderend...


Grtz,
 
maar betekend dit dat je slechts 1 leerling per "sessie" kan doen? Dat je dus helemaal terug moet gaan of zelfs de database moet sluiten voordat je een andere leerling kan kiezen?

Het was juist de bedoleling dat je heel simpel kan kiezen uit een leerling, tentamen en het desbetreffende cijfer kan invoeren om vervolgens een andere combinatie te maken. Is dit op een manier mogelijk?

Bij het invoeren van 2de en 3de herkansing heb ik geen problemen. Het zit wel anders in elkaar, maar de bedoeling is hetzelfde.

Bovendien zie ik net dat ik slechts 1 cijfer per leerling kan invoeren. Als ik dan via de knoppen onderin doorga naar een nieuw record en dan dezelfde leerling kies maar wel een ander tentamen krijg ik dezelfde melding....

Ik weet niet of je mijn opdracht met tabbelen en relaties al hebt gezien (denk het van wel gezien je antwoorden) maar anders wil ik de aangepaste wel weer online zetten zodat je kan zien hoe of wat.

Groetjes
 
Nee, je kunt gewoon meerdere leerlingen en tentamens invoeren in een "sessie". Je hoeft het formulier dus niet te sluiten.

Wat je in de gaten moet houden is zolang onderin bij de navigatieknoppen hetzelfde nummer blijft staan ben je dus met 1 record bezig. Wil je met een ander record (dus met een andere leerling of tentamen) aan het werk moet je dat opzoeken door met de navigatieknoppen naar een ander record te gaan.

Als je een cijfer invoer programma "idiot proof" wil maken heb je nog een hele kluif. Maar als je mensen de gegevens laat invoeren die je vertrouwd met de manier hoe jij dat hebt bedacht is het best te doen. Je moet alleen goed uitleggen hoe men gegevens moet invoeren.


Grtz,
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan