11. august 2001 - 00:09Der er
4 kommentarer og 1 løsning
Lukke formular uden at gemme ændringer
Til at vise nogle data på en grafisk form, opretter jeg en formular via VBA og indsætter alle de forskellige kontrolelementer.
Når brugeren er færdig med at se på data, skal det gerne være muligt at lukke formularen ved at trykke på X i højre hjørne, og uden at skulle svare på, at ændringerne i formularen ikke skal gemmes.
Hvis man enten i en menu eller på en knap på formularen har en kode: \"DoCmd.close acForm, formularnavn, acSaveNo\" virker det, men denne kode kan ikke anvendes i hændelserne \"Form_Close\" eller \"Form_UnLoad\".
Du får nok svært ved det, da der ikke er en hændelse, som trickes inden Access spørger om der skal gemmes. Hvis du slår advarsler fra (docmd.setwarnings false), så vil den automatisk gemme - det duer jo heller ikke.
Jeg vil umiddelbart forsøge at forhindre at brugeren klikker på krydset. Dette kan jo nemt gøres ved simpelthen at fjerne krydset! (Egenskaben \"Luk Knap\")
Dit forslag med at fjerne krydset er faktisk den måde jeg anvender nu, og så har jeg lagt lukke-funktionen i en menu, men det irriterer mig, fordi brugere er vant til at kunne lukke et vindue ved at klikke på krydset.
Jeg vil lige vente og se, om andre har en løsning.
Når man trykker på krydset oppe i hjørnet, har man allerede sat en Close-operation igang. Derfor kan man ikke sætte den igang igen med en DoCmd.Close-funktion !!!!
Det nemmeste er at lave en Custom-knap oppe i hjørnet, som ligner Kryds-knappen og så sætte DoCmd.Close....... på dens OnClick event !!
Så ser det ud, somom - og det er vel det eneste, der tæller.
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.