(laatst) geselecteerde record niet mee in query

Status
Niet open voor verdere reacties.

Jaaprt

Gebruiker
Lid geworden
11 nov 2014
Berichten
6
Hallo,


Ik loop tegen een frustrerend probleem aan waarvoor ik online geen oplossing heb kunnen vinden. Ik heb een form over een table staan waar men kan aanvinken welke documenten klaar zijn in een project. Vervolgens kan men dit opslaan door op save te drukken. Echter, de records worden goed opgeslagen behalve degene die als laatste geselecteerd is. Deze wordt niet meegenomen. Hij wordt niet meegenomen in een appendquery om toegevoegd te worden aan een andere table en wordt niet meegenomen in een updatequery om de checkbox weer leeg te maken. Enig idee hoe dit kan? Ik werk voornamelijk zonder sql code, de database is erg simpel en heeft verder geen relaties of joins. Alleen tables, queries en forms.

De code onder de save button is als volgt:

DoCmd.SetWarnings False

DoCmd.OpenQuery "Document type Query"

DoCmd.OpenQuery "Document type Reset Checkbox"

txtprojectnumber.Value = Null

MsgBox "Records succesfully added"


DoCmd.SetWarnings True


Groet!
Jaap
 
Ik snap niks van je probleem, en ook niet waarom je met allerlei queries werkt om een simpel record op te slaan. Als je het formulier baseert op de tabel (sorry dat ik Nederlandse termen gebruik, maar ik ben zuinig op onze taal ;) ) dan is dat allemaal niet nodig, want dan wordt het record toch al opgeslagen.
 
Ik snap niks van je probleem, en ook niet waarom je met allerlei queries werkt om een simpel record op te slaan. Als je het formulier baseert op de tabel (sorry dat ik Nederlandse termen gebruik, maar ik ben zuinig op onze taal ;) ) dan is dat allemaal niet nodig, want dan wordt het record toch al opgeslagen.

Ik werk met queries omdat ik een form heb die gebaseerd is op tabel 1 (soort document, categorie. deze is al ingevuld met standaard gegevens). De gegevens moeten echter naar tabel 2. Dit doe ik via een append query. In deze tabel staat welk soort document (incl. categorie) in welke project is gedaan. Het haalt dus gegevens uit tabel 1 en slaat op in tabel 2.

Welke documentsoorten worden toegevoegd bepaald de gebruiker door een checkbox aan te vinken op een form, gebaseerd op tabel 1. Dit kunnen meerdere documentsoorten zijn (bepaalde analyses of rapporten). Men vult in een textbox in onder welk project dit is gedaan. Op die manier ontstaat er een tabel 2 met de gegevens in één record: documentsoort, categorie, projectnummer. Zo houden we bij welke documentsoorten in welk project zijn gedaan.

Nu gaat dit allemaal goed, alleen wil de query de record niet meenemen die het laatste aangevinkt is. Die staat als het ware nog geselecteerd en wordt niet meegenomen in de query. De appendquery zet hem niet over van tabel 1 naar tabel 2, en de updatequery die de waarde van de checkboxes weer op nul zet slaat deze record ook over.

Waarom zou dit makkelijker kunnen? Ik weet niet hoe namelijk.

Bedankt voor je reactie!
Jaap
 
Je zou je record automatisch kunnen opslaan, na het bijwerken van het laatste besturingselement dat je wijzigde.
Bijvoorbeeld:

Private Sub Tekst5_AfterUpdate()
DoCmd.RunCommand acCmdSaveRecord
End Sub
 
of zelfs hier:

DoCmd.SetWarnings False
DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenQuery "Document type Query"

DoCmd.OpenQuery "Document type Reset Checkbox"

txtprojectnumber.Value = Null

MsgBox "Records succesfully added"
 
Ik vermoed inderdaad ook dat het laatste record dat je bewerkt niet is opgeslagen, en daarom niet wordt meegenomen. Voeg deze regel toe aan je macro:
Code:
    If Me.Dirty Then Me.Dirty = False
 
opgelost

Hee,

Superbedankt! Ik heb de ifme.dirty code toegevoegd en nu wordt die wel toegevoegd. Dus hij was niet opgeslagen..
Dit scheelt een hoop ellende. En ik zal de quoteknop voortaan enkel voor echte quotes gebruiken. ;)

Groet!
Jaap
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan