21. april 2006 - 11:48Der er
19 kommentarer og 1 løsning
Filterchildform reload eller hvad?
Hej
Jeg har et problem med underformularer. Når jeg laver dem med kommando-knap guiden, så virker de fint. - Indtil jeg scroller hen til et nyt firma på hovedformularen. Så ændrer underformularen sig ikke. Hvad er den nemme løsning på dette problem? Det ville være ok, hvis underformularen bare lukkedes, når den ikke var i fokus længere. En længere og mere besværlig løsning var i spm http://www.eksperten.dk/spm/396266 , men der må da være en lettere løsning?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Det er fodi der ikke er over- underordnede felter i formularerne. Check underformularens egenskaber og vælg disse egenskaber ud fra et unikt felt i begge formularer.
Hej Mugs Det svarede du også på spørgsmål 396266, men jeg ved ikke hvilket felt/formular du mener. Er det i VB-editoren, eller i Access, eller hvor er det jeg finder ordene "overordnede" og "underordnede" felt?
Egenskaben finder du ved at højreklikke på underformularen > Egenskaber > Fanen Data.
Men jeg tror ikkke der er tale om en formular med en underformular som du skriverm , men nærmere om sammenkædede formularer og det er en helt anden snak.
Form2 svarer til den sammenkædede formular. Felt1 er et unikt indeks for posten ofg skal findes i begge formularer. Når du trykker på en kommandoknap i hovedformularen, vil denne kode åbne form2 i den tilsdvarende post.
Ok, ja det ser rigtigt ud. Men hvor skal jeg skrive det? I en hændelse? I øjeblikket stå hændelsen ud for "ved klik"
VBA koden følger nedenfor. Der er to kommandoknapper der åbner hver sin subform. Problemet er dog det samme for hver af dem..: ----------------------- Option Compare Database
Private Sub ÅbnKontaktperson_Click() On Error GoTo Err_ÅbnKontaktperson_Click
Dim stDocName As String Dim stLinkCriteria As String
Glem alt om sammenkædede formularer. Prøv at lave en ny formular UDEN sammenkædning og indsæt min kode i en kommandoknap og kontroller at den fungerer.
Ok det har jeg nu gjort. Hvis det ikke skal være en sammenkædet formular, er jeg nødt til at vælge punktet "Åbn formularen og vis alle posterne". Normalt vælger jeg punktet "Åbn formularen og søg efter bestemte data der skal vises". Men hvis jeg vlger sidstnævnte, bliver det jo en sammenkædet formular. Hvis jeg vælger det (som jeg tror) du foreslår, så viser den alle posterne. Det er jo ikke meningen..?
Formularen (Form2) åbner fint, men den viser ordrer for samtlige firmaer..?
Hej Mugs OK, altså det var jo en filtrering af Form2 MENS der ændres i Form1, som jeg spurgte efter i første omgang... Til gengæld var linket til Thomas Hjemmeside da fint. Han har nu bare et eksempel på en underformular (altså IKKE en sammenkædet formular) som synkroniseres. Det er i hvert fald kun den jeg kan finde.. Underligt at dette ikke er et problem som ALLE har haft på et tidspunkt, og som derfor måtte være let at løse..?
Ok ja den ser flot og effektiv ud. Som jeg ser det, er det da en stadig en formular med underformular, ikke sandt? Jeg har jo kommandoknapper på min formular, som åbner Form2. Altså sammenkædede formularer. Jeg tror ikke jeg kan tage dette eksempel og få en dynamisk filtrering af mine sammenkædede formularer. Eller tager jeg fejl? Jeg har ikke lyst til at have formularer-med-under-formularer, for det forvirrer i billedet. Jeg vil i stedet have adskillige kommandoknapper, som hver åbner deres egen Form. Alle disse forms bliver ikke dynamisk filtreret, de bliver stående med de samme oplysninger, selvom jeg scroller i hovedformularen. Har du et trick til dette formål, eller et link til nogen der kan en smart måde?
Du roder noget rundt i begreberne. I eksemplet er der ikke tale om underformularer / sammenkædede formularer. Der er kun een formular der filtreres dynamisk afhængig af hvad du indtaster i søgefelterne.
I sammenkædede formularer åbner du en anden formular visende de data der svarer til data i den første formular.
Ved brug af underformularer har du en formular inde i en anden formular. Underformularen ar så "slavet" til hovedformularen med underordnede- / overordnede felter.
Private Sub PersonKnap_Click() ' This code created in part by Command Button Wizard. On Error GoTo Err_PersonKnap_Click
Dim strMsg As String, strTitle As String Dim intStyle As Integer Dim strDocName As String, strLinkCriteria As String
' If Firmanavn control is blank, display a message. If IsNull(Me![Firmanavn]) Then strMsg = "Flyt dig til den virksomhedsnavn, hvis kontaktpersoner du ønsker at se, og klik så her igen" intStyle = vbOKOnly strTitle = "Vælg en virksomhed" MsgBox strMsg, intStyle, strTitle Me![Firmanavn].SetFocus Else ' Otherwise, open Kontaktperson_subFrm form, showing products for current supplier. strDocName = "Kontaktperson_subFrm" strLinkCriteria = "[FirmaFk] = Forms![FirmaFrm]![FirmaId]" DoCmd.OpenForm strDocName, , , strLinkCriteria DoCmd.MoveSize (1400 * 0.78), (1400 * 0.78) End If
If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then If Forms(strFormName).CurrentView <> conDesignView Then IsLoaded = True End If End If
End Function
Til egen og evt andres senere brug Hilsen Tore
Synes godt om
Ny brugerNybegynder
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.