Waarom kan dit niet?

Status
Niet open voor verdere reacties.

BartSr

Gebruiker
Lid geworden
26 aug 2008
Berichten
240
Wie weet raad? Waar het fout gaat heb ik in de code aangegeven.
Code:
    DoCmd.RunSQL "DELETE * from Help"
    Set tabel2 = CurrentDb.OpenRecordset("Help")
      For Gint1 = 1 To 40
              tabel2.AddNew
              tabel2.Update
      Next
      tabel2.Close

    Set tabel2 = CurrentDb.OpenRecordset("Help")
      For Gint1 = 1 To 40
              tabel2.Edit
              tabel2!id = Gint1 'HIER GAAT HET FOUT
              tabel2.Update
      Next
        tabel2.Close
        Exit Function
Ben benieuwd.
Bart
 
Dan krijg je vast ook een foutmelding.
 
Ja dat blijkt; zover was ik ook gekomen, maar daar kon ik niets mee.:d
 
Laatst bewerkt door een moderator:
Hele wonderlijke constructie; waarom maak je eerst records aan (die denk ik niet eens aangemaakt worden, want je hebt geen velden) en ga je ze daarna pas vullen?
 
Ik zit er nog een keer naar te kijken, maar in de tweede lus probeer je vermoedelijk een Autonummer veld te vullen. Laat dát nou net niet kunnen...
 
Niet onnodig quoten BartSr. Bovendien, geef eens antwoord op de vraag van edmoor Daarmee bedoel ik niet dat je aangeeft WAAR het fout gaat maar WELKE foutmelding je krijgt.
 
Laatst bewerkt:
Bart hoeft de foutmelding niet te geven, omdat het volkomen duidelijk is wat hij fout doet :). Althans: voor mij :d.
 
Net trouwens even een testje gedaan (ik wou het toch weten) met het aanmaken van lege records op de manier dat Bart dat nu doet. Dat werkt, mits je geen verplichte velden hebt in die tabel. Bij mij komt dat niet voor, omdat er in een tabel (vind ik) minstens één verplicht attribuut in een tabel moet zijn, want waarom zou je anders een tabel gebruiken? Maar zonder verplichte velden, krijg je inderdaad lege records. En het veld Id, dat doorgaans automatisch aangemaakt wordt door Access als je niet zelf een sleutelveld aanwijst, is dan van het type AutoNummer, en dat wordt door Access automatisch gevuld. Die nummers zijn niet te wijzigen door de gebruiker, noch handmatig noch met code.

En dat levert dus twee mogelijke foutmeldingen op:
1. Kan geen records toevoegen (als een verplicht veld leeg blijft)
2. Kan het veld niet bijwerken (in het geval van een autonummer veld)

En wellicht kan ik nog wel meer foutmeldingen verzinnen. Punt is: de procedure klopt niet. En dát is de echte fout.
 
Voor jou misschien niet Heer O. Fish, maar er zijn meer mensen op het forum dan jij. Ik hoef jou niet te vertellen hoe het werkt, toch. ;)
 
Niet echt. Maar mensen die geen verstand van Access hebben, die snappen ook niet wat er aan de hand is. En die gaan dan al gauw om foutcodes vragen :). Geloof me: elke Access kenner/helper herkent de fout van Bart zonder foutmelding.
 
Er is maar 1 echte fout hier en dat is jouw persoonlijkheid.
Je hebt een tijdje je best gedaan maar het gaat weer helemaal mis.
 
Ach, laten we zeggen: hoge bomen vangen veel wind. Maar ga je nu ontkennen dat je geen verstand van Access hebt?
 
Ontkennen dat je ergens geen verstand van hebt is best we lastig te beantwoorden. Bij Ja ontken je dat je er geen verstand van hebt dus dat je er wel kennis van hebt? Bij nee erken je dat je er geen verstand van hebt. Best ingewikkeld dat Access :shocked:
 
Octafish heeft gelijk:het veld was een autonummer, en dat heb ik inmiddels gewijzigd.
En op de vraag welke foutmelding ik kreeg, moet ik het antwoord schuldig blijven; ik had de situatie al aangepast:d
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan