23. september 2014 - 13:24Der er
22 kommentarer og 3 løsninger
Opstart på en form
Call LoadObjectToMainMenu("Ordre",..........
Dette er lavet så det kalder en form med navn Ordre. På formen ligger flere subforme Mit problem er 1. tilgang ikke er Main formen men en af subformene Jeg har prøvet at styre det med tab men det er ikke nok.
Har man en kommando der placerer start a la Ordre/subform1 og Ordre/Ordre for main formen
... og så kan du evt. styre hvilken subform, der skal aktiveres, via OpenArgs (som du sætter i kaldet af formen):
Select Case Me.OpenArgs Case 0 'Ingenting Case 1 Me.subform1.Setfocus DoCmd.GoToControl ("DitFelt1") Case 2 Me.subform2.Setfocus DoCmd.GoToControl ("DitFelt2") End Select
Jeg har nok ikke precisseret at det er inden formen er nået. F.eks er VedÅbning på Main ikke indgangen men VedÅbning i en af subformene, og så er det jo for sent
Øhm. Dér tabte du mig. Hvordan kan en subforms åbning komme FØR dens hovedforms åbning? ..og hvad mener du med "...er ikke indgangen"? Prøv lige at forklare lidt nærmere hvordan dit setup er.
OK. Jeg forstår stadig ikke din formulering "når starten efter kaldet fra menuen ikke er main VedÅben men en VedÅben på en af SubFormene". Betyder det at du kører kode i subformens VedÅbning?
Måske vi skulle vende tilbage til selve problemets kerne. Du skrev "Har man en kommando der placerer start ...". Hvad er det, du gerne vil have kode til - helt præcis?
(Det er igen formuleringen "placerer start", der forvirrer)
Du kalder DoCmd.OpenForm "Ordre" I Ordre har du VedÅbning her lægger du en msgbox ("Ordre") I Sub1 og sub2 gør du det samme med msgbox ("Sub1") og msgbox ("Sub2")
Det skal selvfølgelig være sådan at du først ser Ordre - det er imidlertidig sub1 eller sun2 der kommer først - til sidst Ordre!
Jeg har som beskrevet sat tab til 0 for ordre, 1 og 2 for subberne
Først lige en tak, per2edb, for alle dine spørgsmål. Du bidrager nok med 1/3 af samtlige her i access, og det er vi glade for, os som svarer. Når det er sagt, så vover jeg hermed pelsen uden at være sikker på hvad du mener. Databaseprogrammer bruges til at administrere noget jordnært - her ordrer - så hvis man gøre sig forståligt er det et dogme at det altid kan lade sig gøre ved at beskrive anvendelsen.
Hvad kan sige om event der fyrer for tidligt? Den definer sig selv som fejlskud i tidsmæssig henseende og er dermed slet ikke kandidat.
Lad antage at en form 'sub' indeholder en kombinationsboks 'combo' som vi ønsker indledningsvis at tildele værdien 1
'sub' er underformular i form 'main' med kontrolelementnavnet 'subformObj'
Vi ønsker 'main' udfører indledende opsætning før 'sub's 'combo' får tildelt værdi
Form_Main
Private Sub Form_Open(Cancel As Integer) MsgBox Me.name & " event open" ' main initalisering subformObj.Form.Controls("combo") = 1 End Sub
That's it! Drop tidsstartrækkefølgekonkliktende load,open og resize på subforme og lad hovedformen udføre det. (ikke at jeg garanterer noget ;)
Både fdata og bvirk har ret mht koderne bør ligge i main. Mennn... Sådan havde jeg det før men måtte lave det om idet jeg genbruger suberne på forskellige main. Jeres løsning, som er rigtig, gav en enorm administration i main. Jeg har ca 100 main og sub'er der krydses mellem hinanden
Terry har ret. Som han skriver : Ask Microsoft to change it :-)
Alle har bidraget og har ret. Kan i lave det så i alle kan få point
Det er ganske almindelig subrutine. Du misforstår mig altid når jeg anvender, efter min overbevisning, retvisende engelske betegnelser ;) Eller med andre ord, for forståelsen skyld er, er dette det samme som i #21
form_Main
Private Sub Form_Open(Cancel As Integer) MsgBox Me.name & " event open" ' do main stuff Form_Sub.persEgenOpen End Sub
-----------
Form_sub
Public Sub persEgenOpen() MsgBox Me.name & " sub() persEgenOpen" 'do sub stuff End Sub
---------- Alle de indbyggede events er med indledende underscore som i _open Faktisk kan man vist lave sine egne, men det er antager jeg er unødvendigt med mindre man har brug for asynkroniteten.
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.