06. august 2007 - 12:30Der er
11 kommentarer og 3 løsninger
Forskellig subforms skal vises efter valg i combo
Hej!
Jeg har en hovedformular med diverse subforms. I hovedformularen er der en combo-boks med 5 valgmuligheder, efter hvilken type anlæg kunden har.
Det jeg så gerne vil, er at der vises den subform der passer til valget i combo'en. Subformen skal ligge på samme "plads" i hovedformen. Da det er meget forskellige data, der skal vises, kan jeg ikke bruge samme subform. Er der en løsning på dette?? Og helst ikke for langhåret :-D
(Og sig til, hvis jeg skal prøve at skære det mere ud i pap)
jensen363's forslag burde fungere. Men i stedet for alle disse If--Then foretræker jeg en Select Case struktur. Den er meget nemmere at fejlfinde i og mere simpel:
Select Case NAVN PÅ COMBO Case Is = "valg1" Me.underformular1.Visible = False Me.underformular2.Visible = True
Case Is = "valg2" Me.underformular1.Visible = True Me.underformular2.Visible = False
Der er forresten flere ting, der spiller ind, når du skal sætte din formular op.
Er hovedformularen baseret på en tabel/forespørgsel, er det f.eks dine kunder. Hvis det er så skal du have dit valg gemt og en OnCurrent event til også at køre koden..
Er det den samme binding på alle formularer, for så kan du bruge den normale måde at binde hoved- og underformular sammen på. Hvis ikke så kan du f.eks. styre underformularen vha. kriterier i den forespørgsel, som underformularen bygger på..
Husk at forespørgsler med kriterier, som henviser til en af disse underformularer vil hedde: forms!hovedformularsNavn!NavnPåDenIndsatteUnderformular!FeltNavn Dvs. at det er ikke navnet på den enkelte underformular, man refererer til, men navnet på den indsatte (evt. tomme) underformular!~)
Jeg har desværre ikke haft tid til at kigge ret meget på jeres forslag, men jeg synes selv at Mugs' ser mest fornuftig ud. Jeg skal bare have den "oversat" til mine egne navne.
Mugs--> Hvor skal koden lægges: På hovedformen eller på combo'ens VedAktuel??
Har nu prøvet at kigge lidt på det. Har brugt mugs' forslag, men det virker ikke rigtig :-(
Min kode ser således ud: ------------------ Private Sub Central_AfterUpdate()
Select Case Central Case Is = "Philips" Me.TBLCentralPhilipsSubform.Visible = True Me.TBLCentralSiemensSubform.Visible = False
Case Is = "Siemens" Me.TBLCentralPhilipsSubform.Visible = False Me.TBLCentralSiemensSubform.Visible = True
End Select
End Sub -------------------- Jeg har så oprettet de 2 subforms på hovedformen, og lagt dem oven i hinanden. Men det er kun Siemens (den jeg har lagt på sidst) der vises uanset, men uden data i, uanset valget i Comboen!?
Hvad gør jeg forkert?
PS: Den rigtige subform skal vises både ved nyoprettelser, og når jeg "bladrer" gennem posterne i hovedformen.
Er der virkelig ingen der kan hjælpe?? Jeg synes ellers altid at mugs og spg kæmper om at komme først med et svar. Nå pyt, nu tager jeg på ferie i en uge, og så ser jeg om der er kommet et forslag, når jeg kommer tilbage.
Jeg har afprøvet denne og den fungerer idet subforms bliver synlige afhængig af valget i combo:
Private Sub central_BeforeUpdate(Cancel As Integer) Select Case central Case Is = "philips" Me.frm2.Visible = True Me.frm3.Visible = False Case Is = "siemens" Me.frm2.Visible = False Me.frm3.Visible = True End Select End Sub
Jeg havde jo helt glemt, at jeg havde dette spørgsmål til at ligge :-(
Jeg besluttede mig for at droppe det med Subforms, da det gav nogle uhensigtsmæssigheder i systemet.
Så alle data ligger nu i 1 subform.
Men tak for indsatsen, begge 2
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.