Avatar billede rane Nybegynder
29. december 2003 - 18:28 Der er 8 kommentarer og
1 løsning

Formular, SQL & Kombi-boks

Hejsa,

vi sidder og har følgende problem:

Vi har lavet en formular med 1 kombinationsboks. Denne boks indtager værdier fra en forespørgsmål (Kursusleder). I formularen skal man så vælge en kursusleder, hvorefter den skal finde relevante data om denne kursusleder (Adresse, Postnr, By osv. taget fra en anden forespørgsmål vi har lavet).

Lige nu har vi lavet en makro der åbner den nye formular men hvordan får man (Via SQL) fundet de rette data, der hører sammen med den kursusleder man vælger i kombi-boksen?

Nogen forslag?
Avatar billede mugs Novice
29. december 2003 - 23:20 #1
Er du sikker på, at du mener "Via SQL".

Når du åbner den nye formular med data til den valgte kursusleder, benyttes normalt en VBA-kode:

Private Sub Kommandoknap8_Click()
DoCmd.OpenForm "Form2"
Forms!Form2!KURSUSLEDER.SetFocus
DoCmd.FindRecord Me!COMBO
End Sub

Hvor COMBO er navnert på den kombinationsboks hvor du vælger en kursusleder, og KURSUSLEDER er navnet på det felt i den nye formular, der indeholder den tilsvarende værdi for kursuslederen.

Den nye formular kan du også indsætte som en underformular og sætte overordnede og underordnede felter til din combo i hovedformularen (parentform)og kursusleder i underformularen (childform)
Avatar billede jensen363 Forsker
30. december 2003 - 09:56 #2
Jeg er ikke sikker på hvad I vil have som resultat, man hvis I allerede har samtlige selectioner i en forespørgsel tilknyttet en Comboboks, skal I have en procedure tilknyttet hændelsen AfterUpdate() ... Denne procedure skrives enten som en sql-sætning eller en VBA-kode.

Eksempelvis hvis jeres comboboks laver et opslag, med reference til den første kolonne i forespørgslen, skal der efterfølgende returnerneres de resterende oplysninger i et antal kontrolelementer ( ikke bundne )

Disse ubundne kontrolelementer navngives ( Navn1, Navn2 ... )

Herefter indsættes værdierne ( hændelse AfterUpdate() ) med følgende VBA-Kode :
 
  Navn1.value = Combiboksxx.column(1)
  Navn1.value = Combiboksxx.column(2)
  .....
Avatar billede rane Nybegynder
30. december 2003 - 13:50 #3
Hold da op, hvor er det nogen avancerede svar :)

Det er slet ikke meningen at der skal "kodes" noget på den måde. Men nærmere at man vha. nogen klik (når makroen kører) + SQL-sætninger skal kunne få formularerne til at snakke sammen.

Vi har prøvet at sætte den ene ind som underformular, men der kom den med en fejl da kombinationsboksen var "ubundet". Hvad end det så betyder?
Avatar billede rane Nybegynder
30. december 2003 - 13:52 #4
Tror nok det har noget at gøre med Forms!Form2!Kursusleder etc. som mugs skriver i første svar - men alt det udenomkring kender vi slet ikke noget til. :/
Avatar billede jensen363 Forsker
30. december 2003 - 13:58 #5
Det er netop derfor I kan anvende det foreslåede, idet I aktiverer hændelsen direkte i kombinationsboksen, og hændelsesproceduren returnerer de resterende oplysninger direkte i formularen
Avatar billede rane Nybegynder
30. december 2003 - 14:37 #6
Nu er vi så bare slet ikke inde i VBA-kode. Men vi prøver lige at kigge på det - og vender tilbage senere.
Avatar billede rane Nybegynder
01. januar 2004 - 19:57 #7
Jeg må indrømme at vi ikke er kommet meget længere med problemet. Indrømmet at vi ikke ved vildt meget om emnet, men er der ikke nogen der kan henvise os til et par links, der omhandler dette problem. Evt. et par tutorials der guider os igennem lignende problemstillinger som den vi er i?
Avatar billede mugs Novice
01. januar 2004 - 20:01 #8
Jeg kan sende en fil i henhold til mit tidligere svar.
Avatar billede rane Nybegynder
03. januar 2004 - 14:22 #9
Fandt en løsning på problemet ud fra mugs' svar - så taak for det :)
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