Avatar billede banelars Nybegynder
09. april 2002 - 14:28 Der er 17 kommentarer og
3 løsninger

Close-sætning virker ikke ?

Hej.

Jeg har før søgt hjælp til, at lave en closesætning på en hændelse.

Jeg vil lave følgende closesætning på en formulars VedDeaktivering-hændelse :

Private Sub Form_Deactivate()
DoCmd.Close acForm, Me.FIndskriv
End Sub

Jeg åbner en anden formular ved tryk på en knap i formularen FIndskriv.

Herefter burde FIndskriv vel være deaktiveret og koden burde virke ?

Der kommer bare en fejlmeddelelse, som om der er fejl i koden.

Jeg har også prøvet at skrive følgende :

DoCmd.Close acForm, "Me.FIndskriv"

Nu åbner den godt nok den nye formular, men FIndskriv er stadig åben bagved.

Avatar billede terry Ekspert
09. april 2002 - 14:33 #1
DoCmd.Close acForm, "FIndskriv"
Avatar billede henrik13 Nybegynder
09. april 2002 - 14:33 #2
Fjern Me.
Vh Henrik
Avatar billede banelars Nybegynder
09. april 2002 - 14:48 #3
Har jeg prøvet,men hvis jeg gør dette kommer der en fejlmeddelelse frem.

Kørselsfejl 2585

Denne handling kan ikke afspilles, så længe en formular- eller rapporthændelse bearbejdes.

Herefter står der noget med at en makro, der er angivet som indstilling af egenskaben VedÅbning, VedLukning osv.
indeholder en ugyldig handling for egenskaben.

Jeg har et modul kørende på VedAktuel, der forhindrer redigering i visse felter og laver fokus i bestemte felter (hjulpet af Terry).

Derudover har jeg et modul kørende på EfterIndsættelse, der overfører en tabel i db'en til en tabel i en anden db.

Ved tryk på en knap i FIndskriv åbnes en anden formular.
Det er ved tryk på denne knap, at fejlen kommer.
Modulet på VedKlik, opdaterer FIndskriv og åbner en ny record i en anden formular.
Avatar billede terry Ekspert
09. april 2002 - 14:52 #4
Not 100% sure what your trying to do, but if you send the dB with an explanation as to what I have to look at I will take a look

dktebrsa@europe.lego.com
Avatar billede banelars Nybegynder
09. april 2002 - 14:57 #5
"Man" vil ikke have, at jeg sender db'en.

Jeg trykker på en knap i en formular (FIndskriv).
Herved åbnes en anden formular.
Herefter skal den første formular (FIndskriv) lukke.

Private Sub Form_Deactivate()
DoCmd.Close acForm, "FIndskriv"
End Sub


Men der kommer en fejlmeddelelse op når jeg trykker på knappen, der skal åbne den anden formular.
Avatar billede henrik13 Nybegynder
09. april 2002 - 15:01 #6
I den anden formular skal der VED ÅBNING stå:
DoCmd.Close acForm, "FIndskriv"
Så lukker den anden form den første
Avatar billede terry Ekspert
09. april 2002 - 15:02 #7
place a button on the form using the wizard you can get this to clos ethe form for you. This will generate the code to close the form.
Then you can delete the button. Now in the code which you use to open the other form you call the code which closes the current form.
09. april 2002 - 15:03 #8
åbn formularen i design og kig under Hændelses-egenskaberne under Vedlukning eller VedFjernelse. Her står formentlig navnet på en makro. Derfor kan du ikke se hændelsesprocerduren i VB-editoren.
Avatar billede terry Ekspert
09. april 2002 - 15:03 #9
Dont know why you have DoCmd.Close acForm, "FIndskriv"
in the Deactivate event!
Avatar billede henrik13 Nybegynder
09. april 2002 - 15:03 #10
Form = Formular
Vh Henrik
Avatar billede banelars Nybegynder
09. april 2002 - 15:04 #11
Hej Henrik.

Problemet her, er at jeg fra flere forskellige formularer åbner "den anden" formular.
Den skal lukke den formular, som jeg kommer fra.
Det er ikke nødvendigvis FIndskriv.
Avatar billede henrik13 Nybegynder
09. april 2002 - 15:08 #12
Ok men terorioen med den nyåbnede form lukker den gamle, den kommer fra, er en god ting. Så havner du ikke med en masse åbne form til sidst.
Vh Henrik
Avatar billede terry Ekspert
09. april 2002 - 15:09 #13
IF I were you I would open the form using VBA and not a macro!
In this you can include the name of the form which is opening the other form


    stDocName = "FormToOpen"
   
    DoCmd.OpenForm stDocName, , , stLinkCriteria, , , "NameOfCurrentForm"

Then in the other form you use

Docmd.close acform, me.openargs
09. april 2002 - 15:23 #14
Hej banelars

Jeg har løst denne problematisk masser af gange, men det er svært at overskue hvilken kode du har liggende hvor, når man bare får det i brudstykker her på eksperten.
Du vil ikke have mulighed for/lov til at lave en ny database og importere 2-3 af de formularer, som er involveret. Du behøver ikke at lægge nogle tabeller ved, hvis 'man' ikke ønsker at andre skal se dem. Derved er der ingen sikkerhedsbrist...

Du er velkommen til at sende dem til mig: tj@makeiteasy.dk
Avatar billede banelars Nybegynder
09. april 2002 - 15:26 #15
Hej Thomas.

Databasen er lavet i Access 2000.
Men her hvor jeg sidder i dag har man kun Access 97.
Jeg har en konverteret version, som jeg arbejder med her.
Men du kan vel også åbne en 97-version ?

Lars
09. april 2002 - 15:26 #16
ja da - jeg har det hele :o)
Avatar billede banelars Nybegynder
09. april 2002 - 16:50 #17
Hejsa.

Jeg har sådan set kunnet bruge noget fra jer alle 3.
Som sædvanligt.
Derfor hæver jeg point til 90 og deler dem imellem jer.

Tak for hjælpen.
09. april 2002 - 17:31 #18
takker :o)
Avatar billede terry Ekspert
09. april 2002 - 18:13 #19
selv tak!
Avatar billede henrik13 Nybegynder
09. april 2002 - 18:30 #20
Tak for poient. Det jeg tænkte på var en iff sætning, til at finde din åben, åbningsformular "du har jo en tre fire stykker" og så lukke den der er åben, kunne ikke selv få det til at virke inden du lukkede.
Vh Henrik
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