16. november 2004 - 15:03Der er
8 kommentarer og 1 løsning
Opdatering ved brug af faneblade på formular
Jeg har en formular som består af en række faneblade med andre formularer på. På disse formularer er der bla. en knap til valg af måned, den ligger en værdi i en variabel. Problemstillingen er nu: Jeg står på et faneblad vælger f.eks. januar måned ved at trykke på knappen "januar" formularen opdateres og viser nu poster for januar måned. Så skifter jeg faneblad for at se andre data, men nu vises ikke januar, men den måned som var gældende da hovedformularen blev åbnet. Altså er jeg nød til igen at trykke på knappen januar. Jeg har en del forskellige variabler, og ønsker derfor at formularene opdateres med den nu gældende variabelværdi, hver gang jeg skifter faneblad. Der skal altså være en hændelse, ved skift af faneblad som opdatere formularen på den valgte fane. Hvordan gør jeg det?
Tak det er fint, jeg har også fundet ud af det med fanebladobjektet. Nu er det så bare hvordan får jeg opdateret formularen, med andre ord hvordan ser koden ud der opdatere den enkelte formular?
Jeg kan næsten regne ud, at jeg ikke har forstået problemet korrekt. Jeg ved ikke helt hvordan du styrer, at du lige har klikket på januar?
Ville det ikke være en ide, hvis du placerede januar-knappen (og de andre måneder) uden for fanebladet og i stedet opdatrede alle underformularer på én gang?
jo det var også min første tanke. Grunden til at jeg bruger variabler, er at det ikke er i underformularernes forespørgsel der sorteres, men derimod i en underliggende forespørgsel. Der er nødvendigt..lang historie... Det ville være fint med knapper uden for fanebladende som kunne opdatere underformularerne på en gang. Ok jeg opdatere variablen og hvad så? Er det så Me!formnavn1.Requery, Me!formnavn2.Requery osv?
ja, men det er det navn, som underformular-objektet har (ofte det samme som formularen, men ikke nødvendigvis).
Me!Underfomrular.requery opdaterer kun formularen i henhold til de værdier, som allerede er defineret. Dvs at hvis du i mellemtiden har ændret en variabel, er det ikke sikkert, at det slå gennem. Men prøv...
En anden løsning er, at du kalder alle de andre Januar-knapper hver gang du klikker på én. Det kræver dog lidt benarbejde, når man har så mange knapper.
Princippet er, at alle cmdJanuar_Click-hændelserne skal gøres Public i stedet for Private. Herefter kan du fra formular1 kalde proceduren på formular2 således:
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.