Avatar billede ds-zim Nybegynder
04. oktober 2000 - 16:05 Der er 21 kommentarer og
1 løsning

Opdatere formular

Hvorfor får jeg fejlen \'Object Required\' i flg. stump kode ?!?

Private Sub Kommandoknap3_Click()
On Error GoTo Err_Kommandoknap3_Click
 
  If CurrentProject.AllForms(\"Opgavestyring\").IsLoaded = True Then
    Opgavestyring!Akode.Requery
  End If
 
  If CurrentProject.AllForms(\"OpgavestyringNyOpgave\").IsLoaded = True Then
    OpgavestyringNyOpgave!Akode.Requery
  End If
   
\'  DoCmd.SelectObject acForm, \"Aktivitetskoder\", False
\'  DoCmd.Close

Exit_Kommandoknap3_Click:
    Exit Sub

Err_Kommandoknap3_Click:
    MsgBox Err.Description
    Resume Exit_Kommandoknap3_Click
   
End Sub

Akode = Kombinationsboks
Avatar billede privaten Nybegynder
04. oktober 2000 - 16:16 #1
Hvad piver den over? (hvor)
Avatar billede jalle Nybegynder
04. oktober 2000 - 20:35 #2
Prøv med:

kombinationsboks = Akode

i stedet for Akode = kombinationsboks
Avatar billede ds-zim Nybegynder
06. oktober 2000 - 11:44 #3
ehh, AKode = Kombinationsboks var bare en kommentar :)
Jeg kan ikke sige hvor den piver, da jeg ikke får lov at break\'e ved fejlmed. !
Men mon ikke det er fordi jeg ikke kan bruge .requery på en kombinationsboks ?
Avatar billede privaten Nybegynder
06. oktober 2000 - 11:56 #4
Kunne godt tænkes..
Avatar billede ds-zim Nybegynder
06. oktober 2000 - 11:59 #5
Har du et alternativ ?
Avatar billede moses Praktikant
09. oktober 2000 - 12:49 #6
Forms(\"Form1\")![FileName].Requery

Private Sub Kommandoknap3_Click()
On Error GoTo Err_Kommandoknap3_Click
 
  If CurrentProject.AllForms(\"Opgavestyring\").IsLoaded = True Then
    Forms(\"Opgavestyring\")!Akode.Requery
  End If
 
  If CurrentProject.AllForms(\"OpgavestyringNyOpgave\").IsLoaded = True Then
    Forms(\"OpgavestyringNyOpgave\")!Akode.Requery
  End If
   
\'  DoCmd.SelectObject acForm, \"Aktivitetskoder\", False
\'  DoCmd.Close

Exit_Kommandoknap3_Click:
    Exit Sub

Err_Kommandoknap3_Click:
    MsgBox Err.Description
    Resume Exit_Kommandoknap3_Click
   
End Sub


Avatar billede moses Praktikant
09. oktober 2000 - 12:50 #7
Første linie var bare en kort principforklaring, hvor [FileName] henviste til en komboboks.
Avatar billede ds-zim Nybegynder
09. oktober 2000 - 13:14 #8
If Forms(\"OpgaveStyring\").IsLoaded Then

  Forms(\"Opgavestyring\")![Akode].Requery

End If

Burde det her ikke kunne fungere ? Jeg får fejlen \'Application- or Object-defined error\'
Avatar billede moses Praktikant
09. oktober 2000 - 13:37 #9
Prøv lige at lav din On error om til etn kommentar, så du kan se, hvor fejlen opstår !!
Avatar billede moses Praktikant
09. oktober 2000 - 13:42 #10
Så vidt jeg kan se, så skulle min kode være ok med:

AllForms(\"...\").Isloaded

og

Forms(\"...\")!Akode.Requery

Avatar billede ds-zim Nybegynder
09. oktober 2000 - 13:47 #11
Umm, hvad mener du med at lave On_Error om til en kommentar ?
Avatar billede ds-zim Nybegynder
09. oktober 2000 - 13:47 #12
Så man kan altså bruge Kombobox.requery ?
Avatar billede ds-zim Nybegynder
09. oktober 2000 - 13:48 #13
Skulle have været:
Så man kan altså bruge kombobox.requery til at opdatere indholdet ?
Avatar billede ds-zim Nybegynder
10. oktober 2000 - 13:56 #14
-> Moses
Jeg har overstået det \"lette\" hovedbrud med at opdatere indholdet i en kombobox :)
Jeg er temli\' tændt på at finde ud af hvordan jeg får en mere detaljeret fejlmeddelelse!

Jeg går ud fra at det r i linien (*);

Err_Kommandoknap3_Click:
    MsgBox Err.Description (*)
    Resume Exit_Kommandoknap3_Click

du mener jeg kan gøre et eller andet ..
Jeg er desværre helt tom for idéer på dette område ..

Cheers, Zim
Avatar billede moses Praktikant
10. oktober 2000 - 14:01 #15
Jeg \"døde\" igår, så derfor kommer den sene retur.

Ja, man kan opdatere kombobokse. De er for at kunne ændre i indholdet i rullelisten. Et input i selve feltet kunne jo bruges til at oprette en ny gyldig værdi i rullelisten.

Med On-Error...  mente jeg bare at sætte et \' foran linien, så det udelades under programkørslen.
På den måde overgår fejlen til Access og den viser så linien, hvor fejlen opstod. Det er lidt nemmere at løse tingene uden den \"On error\" funktion.
Den sætter man først på, når alt kører, som det skal. Skulle der så engang alligevel opstå et problem, som programmøren ikk havde tænkt på, så redder On-error funktionen et nedbræk.

Virker det hele nu ??
Avatar billede moses Praktikant
10. oktober 2000 - 14:05 #16
To sekunder - jeg er vist gået asyncron med din sidste besked ...
Avatar billede ds-zim Nybegynder
10. oktober 2000 - 14:07 #17
Det spiller bare :) Du er en guttermand ! Den med \' foran On_Error er bare GENIAL!
heh, en skam jeg ikke kunne regne den ud selv :)
Avatar billede moses Praktikant
10. oktober 2000 - 14:11 #18
Det er korrekt, at det er ved (*) at der kommer en fejlmeddelelse, hvis ellers \"On error...\" er sat til.

Du er ganske enkelt nød til at gennemgå dit program i hovedet, definere fejltyper (talværdier), som kan opstå de forskellige steder i dit program og sætte en fejlvariable til den værdi ind lige før en linie, hvor du mener, at der kan opstå en fejl.
Når din On error så hopper på grund af en fejl, så kan du i fejlrutinen (nede ved (*)) slå taleværdien op og udskrive den tilhørende fejl.
Der er kun den hårde metode.
Avatar billede moses Praktikant
10. oktober 2000 - 14:24 #19
Et simpelt eksempel på min lidt knudrede forklaring:

Function Divide(tal1, tal2 as Single) as Single
  Dim Resultat as Single
  Dim Fejl as Integer
  Const myERR_UkendtFejl = 0
  Const myERR_DivisionMedNul = 1
  Const myERR_EnEllerAndenAndenFejl = 2
 
  Fejl = myERR_UkendtFejl
  On Error Goto MeldFejl
 
  \'Nu er der risiko for et eller anden fejl
  Fejl = myERR_EnEllerAndenAndenFejl
  ... programstump \"gsd lhbv lhk xl\" ...

  \'Nu er der risiko for, at Tal2 = 0
  Resultat = Tal1 / Tal2

  Divide = Resultat

Afslut:
  Exit Function

MeldFejl:
  \'Ved fejl returneres værdien 0
  Divide = 0
  Select Case Fejl
  Case myERR_DivisionMedNul
    MsgBox \"Du kan ikke dividere med nul. Tal2 er nul !!\"
  Case myERR_TalIkkeDefineret
    MsgBox \"Du skal sende to tal med !!\"
  End Select

  Resume Afslut

End Function
Avatar billede ds-zim Nybegynder
10. oktober 2000 - 14:43 #20
Heh, er du underviser eller lign ? Jeg har mødt meget få folk på eksperten,
der gør så stor en indsats for 15 point! (Måske fordi jeg ikke kommer nok omkring :)
Jeg vil gerne gøre det klart, at jeg sætter stor pris på din logiske forklaring(er)!!

Tak for indsatsen !! :)
Zim
Avatar billede ds-zim Nybegynder
10. oktober 2000 - 14:44 #21
og så er jeg iøvrigt tit & ofte blevet inspireret af din kodestruktur :)
Avatar billede moses Praktikant
10. oktober 2000 - 14:55 #22
Tak for roserne

Engang imellem har man tid og lyst - og engang imellem har man ikke !!

Idag var en helt speciel dag ...
Idag havde jeg lyst ... men ikke tid.
Det er åbenbart en god kombination, såehh - hvem ved - måske er jeg fyret til næste første ...

;-)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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