07. april 2004 - 19:27Der er
14 kommentarer og 1 løsning
Husk hvilken formular der var åben
Jeg en db som indholder en menulinje. når bruger så hoppe rundt i menulinjen, kan man så lave det såanne at den formular der er åben kan huske hvor hvilken formular den lukke.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
>> Jeg skal prøve. Nå man er på start side (Frm1), kan man i menulinjen vælge flere formular. Når bruger åbner (Frm2) så lukker (Frm1). Nu vælger bruger (Frm4) og ( Frm2) lukke. Næste valg på menulinjen er (Frm3) så lukker (Frm4), så skulle det gerne værer sådanne at ma nu kunne gøre to ting (F1=til Frm1) elle << tilbage hvor bruger kom fra (Frm4). Det er sådanne at der altid kun er en frm åbne altid, har prøvet at havde flere åbne frm men det er noget rod. Man kan selvfølgelig bare bruge menulinje til at vælge hvilken frm man hvil havde åben. men i nogen tilfælde er det rat at kunne gå tilbage til forgående frm (eller side).
Hvor skal den sættes ind "DoCmd.Close" Når jeg åbner en ny frm klader jeg en funktion der lukker den aktive Frm "DoCmd.RunCommand acCmdCloseWindow" for jeg ved ikke hvilken Frm der er åben når der vælges en ny
Hvis du f.eks har en åbningsformular i din db, der giver dig firskellige muligheder for at bevæge dig rundt i db, så åbner du en ny form med kommandoen:
DoCmd.OpenForm "FORMULARNAVN"
I den formular du åbner, kan du i formularfoden lave en kommandoknap med koden i VedKlik (click):
DoCmd.Close
Den lukker den aktive formular, og vender tilbage til det sted i db du kom fra.
Jamen det virke sådan set godt nok, problemt er bare at jeg lukker den formular jeg kom fra, kan det ikke laves "nu tænker jeg højt" så at nå jed åbner en frm så kan den huske hvilken en den lukke?????
du kan evt også bare lukke alle andre forms end lige den aktulle. Placer denne kode i et modul: Public Function LukAlleForms() On Error Resume Next Dim n As Long DoCmd.Echo False Do Until Forms.Count = n If Forms(n).Name = screen.activeform.name Then n = n + 1 Else DoCmd.Close acForm, Forms(n).Name DoEvents End If Loop DoCmd.Echo True End Function
På alle formulares VedAktivering-egenska skrives: =LukAlleForms()
Er der kun tale om eet niveau? Eller skal brugeren kunne gå tilbage flere gange?
Hvis det kun er eet niveau, kan du jo oprette en globale variabel (f.eks. MyLastForm) og gemme navnet på den sidst lukkede form (når brugeren klikker Fremad). Hop tilbage med DoCmd.OpenForm "MyLastForm"
Er der tale om flere niveauer, er du jo nødt til at huske flere (mange) formularnavne. Så skal du jo nok have gang i en stak, og det er en helt anden sag. Hvor langt skal man kunne gå tilbage?
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.