Record bewerken/update/zoeken in een DAO Recordset

Status
Niet open voor verdere reacties.

williamjr007

Gebruiker
Lid geworden
26 jun 2008
Berichten
45
Hallo,

Ik stuit al enkele dagen op volgend probleem:

Ik heb een form met 4 knoppen (A-B-C-D)
Als ik op A druk wordt een record weggeschreven met enkele velden waaronder "STARTtijd".
Druk ik vervolgens op B dan wordt een nieuw record weggeschreven met opnieuw dezelfde velden, en zo ook voor knoppen C en D.

Als ik na enkele minuten opnieuw op knop A druk zou ik willen dat de STOPtijd wordt aangevuld in het record waar voor A de STARTtijd werd weggeschreven. En zo ook voor de overige knoppen. Dus eigenlijk een bestaand record updaten.
Momenteel wordt steeds de eerste record geupdate en dat is dus niet de bedoeling.

Ik heb al vanalles uitgedacht en geprobeerd maar ben er tot nu toe niet in geslaagd het te doen werken.
Hopelijk kan iemand mij in de juiste richting sturen.

In bijlage de database. Na openen op de knop 'Meting starten' klikken en je komt in het scherm met de 4 knoppen. Bekijk bijlage DTest.zip

Alvast bedankt!
Willy
 
Laatst bewerkt:
Ik heb inmiddels wat verder geknoeid en heb deze code per button gemaakt:


Code:
Private Sub btnD_Click()
Dim Bron As String
Dim dbMetingen As DAO.Database
Dim rstMeting As DAO.Recordset
Dim Datum As Date
Dim MP As String
Dim varBookmark As Variant

Set dbMetingen = CurrentDb
Set rstMeting = dbMetingen.OpenRecordset("SELECT * FROM tbl_WaarnemingenTEMP", dbOpenDynaset)
Datum = Format(Now(), "dd/MMM/yyyy")
Bron = Me.btnD.ControlTipText
MP = Me.MetingID

If rstMeting.AbsolutePosition > -1 Then
    rstMeting.MoveLast
    rstMeting.MoveFirst
    rstMeting.PercentPosition = 50
    Debug.Print "Huidige record: " & rstMeting.AbsolutePosition
    rstMeting.MoveLast
    Debug.Print "laatste record: " & rstMeting.AbsolutePosition
    varBookmark = rstMeting.Bookmark
        
    If Me.btnD.Value = True Then
        rstMeting.AddNew
        rstMeting("MetingID").Value = MP
        rstMeting("Bron").Value = Bron
        rstMeting("Datum").Value = Datum
        rstMeting("StarttijdEvent").Value = Format(Now(), "hh:mm:ss")
        rstMeting.Update
    Else
        rstMeting.Bookmark = varBookmark
        Debug.Print "Huidige positie nadien: " & rstMeting.AbsolutePosition
        rstMeting.Edit
        rstMeting("EindtijdEvent").Value = Format(Now(), "hh:mm:ss")
        rstMeting.Update
    End If
End If
End Sub

Helaas zonder succes :(
 
Laatst bewerkt:
Begin eens met je code op te maken met de CODE knop...
 
Da's al beter :). Ik zal morgen even naar je db kijken!
 
Ik heb geen idee wat je bedoeling is; als ik op het startscherm op <Nieuwe meting starten> klik, kom ik in een formulier zonder knoppen. Dus wat mis ik? En doe ons een lol: stop met quooten...
 
Ik weet niet waarom jij geen knoppen ziet. Ik heb het net nog eens getest en ik zie toch vier knoppen staan.

Screenshot_1.jpg

Willy
 
Ik zal eens proberen uit te zoeken waarom ze verdwijnen. Ligt niet aan de eigenschappen want ze staan op Visible=true.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan