Avatar billede jrl0469 Nybegynder
05. marts 2008 - 08:43 Der er 18 kommentarer

Form_Undo event crasher access, form+subform

Hej
Er der nogen der kender til nævnte problem?!
kode i subform;
Private Sub Form_Undo(Cancel As Integer)
If bMSini = True Then
    If MsgBox("do you want to reset the MS loop you've initiated?!", vbQuestion + vbYesNo) = vbYes Then
        Call pubModul.resetLblAndCmdMS
    End If
End If
End Sub

mvh Jan
Avatar billede jensen363 Forsker
05. marts 2008 - 09:14 #1
Hvad er problemet ?
Avatar billede Slettet bruger
05. marts 2008 - 09:30 #2
Er det når der kører en undo event at den crasher eller er det når du åbner formularen? Har du prøvet at lave en knap, som kun fyrer dit Call af? Har du debugget?
Avatar billede jrl0469 Nybegynder
05. marts 2008 - 09:32 #3
Tjah - det ved jeg faktisk ikke.

Senariet er;
1) Hovedform åbnes
2) En txtBox på hovedformen for focus. Ved focus tildeles en strengvariabel txtBox'ens værdi (sCurrentItemNo)
3) Crash....! Access lukker og sender fejlrapport.

Jeg har brugt property: Undo i samme txtBox under event before update;

Private Sub ItemNo_BeforeUpdate(Cancel As Integer)

If sCurrentItemNo <> ItemNo.Text Then

If IsNull(DLookup("[ItemNo]", "IO_ChannelDef", "[ItemNo] = '" & sCurrentItemNo & "' And " & "[ItemPrefix] = '" & ItemPrefix.Value & "'")) = False Then
    MsgBox "You may not alter the ItemNo since there are already signals attached to the ItemNo!"
    ItemNo.Undo
    Cancel = True
End If

End If

End Sub
Avatar billede jrl0469 Nybegynder
05. marts 2008 - 09:33 #4
formularen er åben. Crashet sker som beskrevet ovenfor. Ja, kode er ok...
Avatar billede Slettet bruger
05. marts 2008 - 09:33 #5
Prøv at sætte focus et andet sted!~)
Avatar billede Slettet bruger
05. marts 2008 - 09:34 #6
Det kan ofte være et problem at arbejde med en txtbox, som har focus!~)
Avatar billede Slettet bruger
05. marts 2008 - 09:35 #7
Man kan altid sætte focus tilbage til txtboksen til sidst i koden....
Avatar billede jrl0469 Nybegynder
05. marts 2008 - 09:40 #8
Grunden til at txtBoxen for focus er at jeg vil filtrere/sortere på dette felt. Jeg klikker manuelt i feltet ikke via kode!
Avatar billede Slettet bruger
05. marts 2008 - 09:45 #9
Hvis du har en onfocus event på txtboksen, så start den kode med at flytte focus, kør din kode og sæt focus tilbage..
Avatar billede Slettet bruger
05. marts 2008 - 09:52 #10
ellers så prøv at sætte msgbokse ind i koden og se om du kan spore hvor den præcist går ned..
Avatar billede Slettet bruger
05. marts 2008 - 09:55 #11
Hov, er det ikke en fejl... DLookup("[ItemNo]", "IO_ChannelDef", "[ItemNo] du søger med den samme variabel, som du forsøger at hente!~)
Avatar billede jrl0469 Nybegynder
05. marts 2008 - 10:15 #12
Nej - ingen fejl. Koden virker som den skal. Problemet opstod først da jeg tilføjede Form_Undo event i underformularen!
Avatar billede jrl0469 Nybegynder
05. marts 2008 - 10:17 #13
Den del af koden når aldrig at blive udført! Jeg har sat fejlsporing på den event der forudsagede crashet. Men, jeg for ingen fejlmeddelelse før at access crasher.
Avatar billede Slettet bruger
05. marts 2008 - 11:13 #14
Prøv sætte ' foran en linie af gangen i din undo event for at finde fejlen..
Avatar billede jrl0469 Nybegynder
05. marts 2008 - 11:36 #15
Der er kun een linie der hvor fejlen opstår!

Private Sub ItemNo_GotFocus()
On Error GoTo ErrH

sCurrentItemNo = ItemNo.Value

Exit Sub
ErrH:
MsgBox Err.Number
End Sub
Avatar billede Slettet bruger
05. marts 2008 - 12:09 #16
Nu siger du, at du har debugget, bruger du option explicit?~)
Avatar billede jrl0469 Nybegynder
05. marts 2008 - 12:48 #17
Jeg har nu tilføjet , debugget og fundet enkelte fejl. Testet og fundet at dette er løsningen. Tak for hjælpen spq. Kast et svar og få tildelt alle fætrerne...
Avatar billede jrl0469 Nybegynder
26. marts 2008 - 08:26 #18
spg! vil du have points?
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

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