Avatar billede smads Nybegynder
12. maj 2003 - 10:51 Der er 33 kommentarer og
2 løsninger

ListBox som underformular

Jeg har oprettet en formular med søgekriterier og en underformular som indtil videre består af en listbox - denne listbox er baseret på en forespørgsel, hvor værdierne skal hentes fra overformularen (søgekriterierne). Når jeg sætter underformularen ind og vil åbne overformularen spørger Access om de kriterier som jo skal tages fra overformularen.

Jeg går ud fra at jeg er nødt til at sætte kriterier i forespørgslen - de kan jo ikke sættes på selve listboxen.

Hvis jeg i stedet åbner formularen med listboxen fra søgeformularen spørger Access stadigvæk om værdierne.

Håber der er nogen der kan hjælpe mig!
Avatar billede henrik13 Nybegynder
12. maj 2003 - 11:05 #1
Hvis du kun har en listebox i underformularen, så drop den underform, og lav det hele i formularen.
Vh Henrik
Avatar billede henrik13 Nybegynder
12. maj 2003 - 11:09 #2
Hej
Du kan også sende den til mig, så skal jeg kikke på den. Min email er:
oz1bua@wanadoo.dk
Vh Henrik
Avatar billede smads Nybegynder
12. maj 2003 - 12:06 #3
Hej Henrik

Jeg sov vist da jeg lavede det - henviste til den forkerte formular da jeg ville sætte data ind. Så lige nu får jeg mit resultet.

Men hvis du har helt styr på lister så kan det godt være at jeg meget snart får brug for hjælp. Ud fra mit søgeresultet som befinder sig i på liste 1 skal jeg overføre nogle af elementerne (personer) til en anden liste - og derefter sende en mail til personerne på liste 2.

Jeg har ikke kigget så meget på det, men er sikker på at de kommer til at volde mig problemer.
12. maj 2003 - 12:06 #4
Du kan også sagtens sætte kriterier direkte på listboksen.
Hvis du sætter Rækkekilden til en SQL-streng, så kan kriteriet f.eks. se således ud:
Form.Parent!Søgekriterie
Avatar billede smads Nybegynder
12. maj 2003 - 12:15 #5
Ja tak! Det havde jeg allerede gjort, men kom desværre til at skrive den forkerte formular på :)
12. maj 2003 - 12:17 #6
Det er dette, som du ikke behøver at tænke på, hvis du bruger Form.Parent!

Det referere automatisk til din hovedformular.
Avatar billede smads Nybegynder
12. maj 2003 - 12:28 #7
Jeg havde glemt at skrive 'form' først - og så virker det jo ikke :)

Hvis jeg sætter underformularen ind og ændre i data på hovedformularen så opdateres mit data i underformularen ikke. Jeg kunne vel lave genforspørgselsmakro som afspilles ved tryk på en knap... Er det ikke det nemmeste?
Avatar billede henrik13 Nybegynder
12. maj 2003 - 12:33 #8
Nej.
Der skal du bruge.
Me.Din Underform.Reqvery
Avatar billede henrik13 Nybegynder
12. maj 2003 - 12:38 #9
Stavefejl:
Me!Min underformular.requery

Vh Henrik
Avatar billede henrik13 Nybegynder
12. maj 2003 - 12:40 #10
Det kan du indsætte i hovedformularen i hændelsen: Efter opdatering.
Avatar billede smads Nybegynder
12. maj 2003 - 12:44 #11
Skal det være på knappen?
Avatar billede henrik13 Nybegynder
12. maj 2003 - 12:46 #12
Det kan du også. men så skal det indsættes i sidste linje, på knappen.
Vh Henrik
12. maj 2003 - 12:50 #13
Jeg ville evt lægge opdateringen på EfterOpdatering på søge-tekstboksen (evt hvis der er flere)
Avatar billede smads Nybegynder
12. maj 2003 - 13:03 #14
Den formular jeg arbejder med lige i øjeblikket har ikke søgeknapper (det var en anden formular jeg legede med tidligere), men en underformular hvor der er supplerende oplysninger om en kunde. Når man så 'bladrer' i kunderne skulle underformularen gerne opdateres i henhold til overformularen. Jeg har prøvet at sætte requery på i EfterOpdatering-hændelsen for både hovedformularen og underformularen, men intet af det virker.

Det ville være upassende hvis jeg havde en knap her, så hvis det kunne fungere ved at sætte det på formularen ville det være super!
12. maj 2003 - 13:06 #15
Så læg den på OnCurrent (Ved Akturel) på hovedformularen. Derved bliver den aktiveret for hver post (når du bladre)
Avatar billede smads Nybegynder
12. maj 2003 - 13:15 #16
Hmmm - det vil den heller ikke. Skal der stå andet end:

Private Sub Form_Current()

Me!Underformular.Requery

End Sub

??
12. maj 2003 - 13:18 #17
Øhh, nu har jeg lidt mistet orienteringen da vi er flere, som har svaret.

Er det hele subformen, som du ønsker at opdatere eller er det stadig listboksen på subformen?

I så fald, skal koden se således ud:

Private Sub Form_Current()

  Me![Navn på Underformular]![Navn på listboks].Requery

End Sub
Avatar billede henrik13 Nybegynder
12. maj 2003 - 13:18 #18
Me!Underformular.Requery
Underformular = din underformulars navn
Avatar billede henrik13 Nybegynder
12. maj 2003 - 13:19 #19
Din underformular hedder vel ikke UNDERFORMULAR.
Avatar billede henrik13 Nybegynder
12. maj 2003 - 13:23 #20
Hej
Du kan også sende den til mig, så skal jeg sætte det ind for dig. Min email er:
oz1bua@wanadoo.dk
Vh Henrik
Avatar billede smads Nybegynder
12. maj 2003 - 13:26 #21
Thomas og Henrik: Om jeg opdaterer underformularen eller bare listboksen er ligegyldigt, for det er det eneste som er på formularen. Jeg har skrevet:

Me![fsubCustList].[lstPref].Requery

fsubCustList = min underformular
lstPref = min listeboks

Men jeg får en fejl:

"Object doesn't support this property og method"...
Avatar billede smads Nybegynder
12. maj 2003 - 13:27 #22
Nej min underformular hedder ikke 'underformular' :)
Avatar billede henrik13 Nybegynder
12. maj 2003 - 13:31 #23
Hvad heder den så. Så skal jeg lave koden til dig.
Vh Henrik
Avatar billede smads Nybegynder
12. maj 2003 - 13:32 #24
Underformularen hedder fsubCustList og er på formularen frmCust
Avatar billede henrik13 Nybegynder
12. maj 2003 - 13:38 #25
Koden ser sådan ud:
Me!fsubCustList.Requery
Den lægges i din formular, (frmCust) Ved aktuelt
Vh Henrik
Avatar billede smads Nybegynder
12. maj 2003 - 13:45 #26
Henrik: Det har jeg allerede prøvet, men den opdaterer ikke min liste i underformularen alligevel (??)
Avatar billede henrik13 Nybegynder
12. maj 2003 - 13:50 #27
Har du prøvet, efter du har indsat min code at kører en post frem/tilbage for det skal du for at få opdateringen.
Eller tryk på F9 så får du opdateret med det samme.
12. maj 2003 - 13:57 #28
Jeg har lidt en mistanke om, at det ikke er listboksen som hedder lstPref! Det er ikke din label, som du har fået navngivet lstPref??

Det tyder fejlmeddelelesen på.
Avatar billede smads Nybegynder
12. maj 2003 - 13:58 #29
Jeps - der sker ikke noget i mine lister :(
Avatar billede smads Nybegynder
12. maj 2003 - 14:00 #30
Vent lidt - det virker vist nu :)
12. maj 2003 - 14:01 #31
Hvis det ikke er listboksen, som er navngivet forkert, så er det subformen.
Prøv med syntaksen:
Me![fsubCustList]![lstPref].Requery (som er den korrekt syntaks)
Avatar billede smads Nybegynder
12. maj 2003 - 14:02 #32
Jeg ændrede lidt i min rækkekilde, men opdateringen sker ikke 'automatisk'!
Avatar billede henrik13 Nybegynder
12. maj 2003 - 14:05 #33
Så prøv, Koden ser sådan ud:
Me!fsubCustList.Refresh

Den lægges i din formular, (frmCust) Ved aktuelt
Vh Henrik
Avatar billede smads Nybegynder
12. maj 2003 - 14:06 #34
Super - når jeg specificerer listerne så opdateres den med det samme - 1000 tak.

Jeg vender meget snart tilbage :)
Avatar billede smads Nybegynder
12. maj 2003 - 14:07 #35
Jeg har ikke helt helt styr på point systemet med I skal da begge to have point - det fikser jeg lige :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester