Avatar billede Vestre23 Nybegynder
15. januar 2013 - 21:59 Der er 10 kommentarer

Kommandoknap der åbner en forespørgsel i en formular

Jeg er helt nybegynder i Access 2007 og kender ikke til SQL mv. og hvor dette indtastes. Jeg har en opstartsmenu med et par kommandoknapper. På denne opstartsmenu vil jeg gerne lave en kommandoknap, der åbner en forespørgsel i en bestemt form.

Formålet er at brugerne nemt kan finde netop de data som de har behov, på en brugervenlig måde ved at trykke på en knap.

Hvordan gør jeg det? Gerne uden at skulle kode i SQL m.v.

1000 tak for hjælpen,
Avatar billede fdata Forsker
15. januar 2013 - 22:47 #1
Tjah. Start med at oprette en udvælgelsesforespørgsel (Microsoft har fejlagtigt oversat den til Marker). Træk de tabeller, som du har brug for, ind i forespørgslen og forbind relevante felter ved at trække i feltnavnene. Træk så de felter, som du skal indgå i resultatet, ned i gitteret. Vælg evt. også sortering.

I formularen indsætter du en knap. Tast F4 for at få vist Egenskabsarket. På fanen Hændelser vælger du i VedKlik en Hændelsesprocedure og klikker på knappen med tre punkter. Så kommer du ind i VBA koden, hvor du skriver:

Private Sub DinKnap_Click()
  DoCmd.OpenQuery "DinForespørgsel"
End Sub

(ret DinKnap og DinForespørgsel til dine egne værdier)
Avatar billede fdata Forsker
15. januar 2013 - 22:49 #2
.. og hvis du vil åbne forespørgslen i en Form, opretter du bare en form, der er baseret på din forespørgsel (Egenskabsarket / Data / Postkilde), og åbner formen i stedet for:
  DoCmd.OpenForm "DinForm"
Avatar billede Vestre23 Nybegynder
16. januar 2013 - 10:49 #3
Ja, det er netop hvad jeg vil; altså at man trykker på en kommando-knap og så åbnes en Formular med en given forespørgsel.

Udfordringen med #2 er, som jeg ser det, så vil jeg få en lang række Formularer at skulle vedligeholde. Og det ønsker jeg ikke.

Det skal med andre ord være tale om en generisk formular, som jeg kan bruge til at åbne en række forespørgsler. F.eks. har jeg tre knapper med tre forskellige forespørgsler. Men ligegyldigt hvilken knap jeg trykker på, så er det den samme Formular jeg gør brug af.

Sådan som jeg forstår #2, så skal der oprettes en ny Formular for hver kommandoknap. Eller er det helt forkert.....

Mange tak for hurtigt svar...
Avatar billede fdata Forsker
16. januar 2013 - 23:42 #4
Det er ikke nødvendigt med en form pr. forespørgsel - hvis vi bare er enige om at datagrundlaget er éns for de tre knapper, altså samme felter.

Du kan i knappens OnClick/VedKlik lægge en linie, der åbner formen:
  DoCmd.OpenForm "DinForm", , , , , , 1
Den sidste parameter er OpenArgs, et argument, ,som man kan sende med igennem til formen.

Når formen åbner, kan man aflæse OpenArgs. Det kan du bruge til at styre datagrundlaget, f.eks. kan du lægge følgende i OnOpen/VedÅbning:

Select Case OpenArgs
  Case 1
    Me.RecordSource = "SELECT Forespørgsel1.* FROM Forespørgsel1 ORDER BY EtFelt"
  Case 2
    Me.RecordSource = "SELECT Forespørgsel2.* FROM Forespørgsel2 ORDER BY EtFelt"
  Case 3
    Me.RecordSource = "SELECT Forespørgsel3.* FROM Forespørgsel3 ORDER BY EtFelt"
End Select

Me.Requery
Avatar billede Vestre23 Nybegynder
14. marts 2013 - 09:26 #5
Mange tak...
Avatar billede terry Ekspert
14. marts 2013 - 18:14 #6
you need to accept one of the answers given here :o)
Avatar billede Vestre23 Nybegynder
15. marts 2013 - 10:59 #7
mange tak.
Avatar billede fdata Forsker
15. marts 2013 - 16:23 #8
Som Terry skriver: Du skal acceptere et svar (og ikke oprette et svar selv!)
Avatar billede Vestre23 Nybegynder
17. marts 2013 - 23:13 #9
tak.
Avatar billede terry Ekspert
18. marts 2013 - 18:16 #10
you have to accept one of the answers NOT place a new answer :o)
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