Avatar billede tma_oksboel Nybegynder
03. september 2002 - 13:19 Der er 3 kommentarer

Undo i forbindelse med datagrid

Hej
Jeg har følgende kodestump:

Private Sub DataGrid1_BeforeUpdate(Cancel As Integer)
    If MsgBox("Posten i varelisten er ændret. Vil du gemme ændringer?", vbQuestion + vbYesNo) = vbNo Then
        Adodc1.Recordset.CancelUpdate
        Adodc1.Recordset.Cancel     
        DataGrid1.Refresh
    End If
End Sub

Fejlen: msgbox Kommer op to gange og gitteret bliver ikke korrekt opdateret. Lukker jeg og går ind igen, er dataene korrekte nok.

??

Torben
Avatar billede martin_moth Mester
03. september 2002 - 13:55 #1
At msgboxen kommer 2 gange må skyldes, at eventen _BeforeUpdate bliver trigget 2 gange. Det kan du så kikke efter i din kode - nærmere kommer jeg ikke (og det var jo ikke meget jeg kunne diske op med, ved jeg :o).

Jeg er overbevist om at nogle af de andre kode-aber kan hjælpe lidt! Det burde være simpelt - i mellemtiden kan du jo skrive, hvorvidt fejlen kommer uanset om du svarer Yes eller No til den msgbox, og sætte et par breakpoints ind i din kode ;o))

PS - skulle din DataGrid1.Refresh ikke smides ud _efter_ IF-sætningen?
Avatar billede tma_oksboel Nybegynder
03. september 2002 - 14:00 #2
Ang. ps: Nej, den refresh skal påvirkes i tilfælde af undo. Hvis der ikke skal udføres undo, har listen det indhold vi kan se.
mht. beforeupdate to gange: Efter at beforeupdate er udført, skal systemet foretage en update, hvilket jo så skulle gøre, at der ikke længere er basis for en _Beforeupdate
Torben
Avatar billede martin_moth Mester
03. september 2002 - 14:23 #3
Som sagt - jeg er ikke til meget hjælp her. En ting er dog sikkert - din _BeforeUpdate bliver trigget 2 gange. Hvorfor ved jeg ikke, men årsagen burde du kunne finde med debuggeren. Ikke noget konkret hjælp fra mig - ville gerne, men er for dum til datakontroller ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester