Avatar billede Jan Vittrup Nybegynder
10. april 2005 - 01:07 Der er 19 kommentarer og
2 løsninger

Kriterie fra comboboks i én form, til aktuelle data i anden form

Jeg har lavet en formular ”FrmAnlægsvalg”, i den er der en ubundet comboboks med rækkekilde til ”tblAnlæg”. I denne ubundne comboboks’ _AfterUpdate() angiver jeg :

lngCurrentAnlID = AnlægsID
   
Denne lngCurrentAnlID, kommer fra et public modul.:
Option Explicit
Public lngCurrentAnlID As Long

End Sub

Jeg har fundet ud af at lngCurrentAnlID er af fast værdi, indtil andet vælges.

Hvordan får jeg en fortløbende formular ”DispAnlæg” til kun at vise de poster som kommer fra ”FrmAnlægsvalg”?
Denne formular er bundet af en hovedtabel og combobokse fra andre tabeller, i en forespørgsel liggende i formularen.
Formularen indeholder en tekstboks AnlægsID

Dvs. når jeg vælger noget i comboboksen i FrmAnlægsvalg, og evt siger OK på en knap, skal FrmAnlægsvalg forsvinde, men åbne formularen ”DispAnlæg” kun indeholdende det valgte ID
Der skal efterfølgende indtastes data og vælges udfra comboboksene i formularen ”DispAnlæg”

Hvordan gøres det i VBA,?

På forhånd tak

Jan
Avatar billede mugs Novice
10. april 2005 - 06:26 #1
"en fortløbende formular ”DispAnlæg” til kun at vise de poster som kommer fra ”FrmAnlægsvalg"
Du kan ikke lade en formular få data fra en anden formular. Formularen er dit interface til databasen, og i dette interface "betjener" du databasen. Men som sagt, kan en formular ikke levere data til en anden formular, ej heller til en rapport. Du skal bruge en tabel eller en forespørgsel.

At åbne formularen "DispAnlæg"  kun visende den post du ser i formularen "FrmAnlægsvalg" kan du gøre på flere måder. Her er blot een mulighed:

DoCmd.OpenForm "DispAnlæg"
Forms!DispAnlæg!ID.SetFocus
DoCmd.FindRecord Me!ID

Du kna indsætte koden i en kommandoknap i VedKlik. Formularen FrmAnlægsvalg forsvinder dog ikke, du kan bare ikke se den. Når du lukker DispAnlæg vil du vende tilbage til FrmAnlægsvalg. Formularen DispAnlæg vil også vise alle poster, men du vil se den post indeholdende det ID, som du så i FrmAnlægsvalg.
Avatar billede terry Ekspert
10. april 2005 - 10:00 #2
If I understand the question correctly you have a form which is used to change the value of lngCurrentAnlID and you want to use the value of lngCurrentAnlID to filter the form DispAnlæg

In the form FrmAnlægsvalg in the combo's AFTER UPDATE event and AFTER you have called the function which sets lngCurrentAnlID

Forms!DispAnlæg.filter = "AnlægsID = " & lngCurrentAnlID
Forms!DispAnlæg.filterOn = True
Avatar billede Jan Vittrup Nybegynder
10. april 2005 - 11:55 #3
Det var meget sent da jeg skrev spørgsmålet :-)sorry.
”FrmAnlægsvalg" skal være en opstarts formular når databasen startes op, her vælger man det anlæg man står ved, og har så kun de poster for det pågældende anlæg.
Og så skal  ”FrmAnlægsvalg”, ikke bruges igen før databasen startes op igen, efter weekend, nedbrud eller lign.
mugs: jeg prøvede dit forslag og den viser første post med den rigtige ID, men den viser også andre anlægsID efterfølgende, og den skal kun vise ét anlægsID, det valgte i FrmAnlægsvalg, men alle dens poster...
terry: den kode du har lavet hvor lægger jeg den?
Avatar billede mugs Novice
10. april 2005 - 11:57 #4
Så kan du blot filtrere formularen som viat af terry.
Avatar billede mugs Novice
10. april 2005 - 12:01 #5
Prøv denne:

DoCmd.OpenForm "DispAnlæg"
Forms!DispAnlæg!ID.SetFocus
DoCmd.FindRecord Me!ID
DoCmd.Close acForm, "FrmAnlægsvalg"
Me.filter = "ID = " & Me!ID & ""
Me.Filteron = True
Avatar billede terry Ekspert
10. april 2005 - 12:23 #6
So what you are saying is that when the application starts then lngCurrentAnlID will be set, after this DispAnlæg is started.

In the form DispAnlæg on load event

Me.filter = "AnlægsID = " & lngCurrentAnlID
Me.filterOn = True
Avatar billede terry Ekspert
10. april 2005 - 12:25 #7
I am assuming that AnlægsID is a numerical field, if it isnt then why is lngCurrentAnlID?
Avatar billede Jan Vittrup Nybegynder
10. april 2005 - 13:17 #8
Det er sørme ikke nemt at forklare :-)
Da jeg som sagt er grøn, er "login" formularen "FrmAnlægsvalg"
"lånt" fra en helt anden DB.

Nu har jeg lavet koden således:

DoCmd.OpenForm "FrmDispAnlæg"
Forms!FrmDispAnlæg!AnlægsID.SetFocus
DoCmd.FindRecord Me!AnlægsID
DoCmd.Close acForm, "FrmAnlægsvalg"
Me.Filter = "AnlægsID = " & Me!AnlægsID & ""
Me.FilterOn = True

Det valgte AnlægsID bliver vist først, men dens poster bliver ikke vist sammenhængende, men imellem alle andre AnlægsID poster, og det er ikke meningen
Kun for det valgte anlæg.

Hvis det er tilladt, uden krænkelse af ophavsret, vil jeg gerne paste den originale kode som er fra Access 97 Visual Basic, skrevet af Evan Callahan
Må man det?
Avatar billede terry Ekspert
10. april 2005 - 13:22 #9
I dont think Evan's code is going to help, but if its possible to send the dB to me then I can take a look. Thats if knowone has any objections?

eksperten@NOSPAMsanthell.dk
remove NOSPAM
Avatar billede Jan Vittrup Nybegynder
10. april 2005 - 15:03 #10
Ok tak terry. DB sendt.
Jeg lader lige spg så åbent lidt endnu
mugs: indtil da, tak for input
Avatar billede terry Ekspert
10. april 2005 - 15:08 #11
OK, remember to remove NOSPAM
Avatar billede terry Ekspert
10. april 2005 - 16:11 #12
Hi jan
I have NOT received your database yet! check the email address please?
Avatar billede mugs Novice
10. april 2005 - 16:14 #13
"Thats if knowone has any objections?"

Det er helt OK med mig.
Avatar billede Jan Vittrup Nybegynder
10. april 2005 - 17:07 #14
Hej terry
Den blev sendt 14.43 og med removed NOSPAM.

Nu har jeg sendt den igen, hvis du stadig ikke får den, må den sendes fra privatmail.
Avatar billede terry Ekspert
10. april 2005 - 17:24 #15
maybe you have a firewall or something which is stopping it.
Try sending an empty mail. You can also sent it to sandy@NOSPAMstofanet.dk again remove NOSPAM
Avatar billede terry Ekspert
11. april 2005 - 11:05 #16
I've replied to your mail!
Avatar billede Jan Vittrup Nybegynder
11. april 2005 - 11:58 #17
Hej terry

Tak.
Jeg er på arbejde, tjekker mail efter 16.00
Avatar billede terry Ekspert
11. april 2005 - 12:00 #18
OK :o)
Avatar billede terry Ekspert
19. april 2005 - 18:21 #19
status?
Avatar billede Jan Vittrup Nybegynder
25. april 2005 - 08:53 #20
terry og mugs
Jeg sidder lidt fast i DB, men vender snart tilbage ;-)
Så jeg lukker lige denne tråd, så den ikke bare står og står.
Tak for tålmodigheden. :-)
Avatar billede mugs Novice
25. april 2005 - 08:55 #21
Kan du lave en lille testdb der illustrerer dit problem, kan du zippe og sende den til:

mugs@mail.dk

så vil jeg se på den senere.
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