Avatar billede disher Nybegynder
06. marts 2001 - 14:08 Der er 5 kommentarer og
1 løsning

Søgning

Jeg har x antal elever med personlige oplysninger i min database. Dét jeg vil lave en søgning, hvor man skal kunne søge på bestemte kriterier, og så skal alle elever med de kriterier opfyldt, blive vist i en formular. Da jeg er grøn til database, må dette meget gerne skæres ud i pap for mig :)
Avatar billede ldanielsen Nybegynder
06. marts 2001 - 14:14 #1
Vis os lige hvordan din database er opbygget.

Det vil sige: Hvilke tabeller har du (der er relevante), og hvilke kolonner er der i dem,

Eksempel:

Tabel: Elever
Kolonner:
ID (Heltal)
Navn (Tekst)
Fodselsdag (Dato)
osv...

Har du nogen forstand på forespørgsler?
06. marts 2001 - 14:15 #2
Hej Disher,

Det er ret kompliceret at lave en formular, hvor man kan indtaste diverse søgekriterier, da man så skal opbygge en SQL-sætning styk for styk.

Derimod findes der allerede en indbygget funktion i formularen til at gøre det samme.

Når du står i formularen, klikker du på knappen [Filtrer efter formular] på værktøjslinien (alternativt i menuen Poster->Filter->Filtrer efter formular.

Derved tømmes alle felter på formularen hvorefter du kan indtaste kriterier. Når du er færdig med at taste kriterier, klikker du på knappen [Anvend filter] (den der ligner en tragt) og derefter er det kun de filtrerede poster, som vises.

Det er nemt!

/Thomas
Avatar billede disher Nybegynder
07. marts 2001 - 08:22 #3
Jeg vil helst ha\' en knap, som jeg selv har lavet til at søge med. Knappen skal somsagt bare åbne formularen, hvor man kan søge på kriterierne som beskrevet nedenunder.

I tabellen Elever har jeg følgende kolonner:

CPRnr (primærnøgle) (tekst)
Fornavn    (tekst)
Efternavn  (tekst)
adresse    (tekst)
Postnr    (tekst)
By        (tekst)
... og andre oplysninger om hvor langt de er nået i deres uddanndelsesforløb.

Alle forslag er velkommne!!
Avatar billede disher Nybegynder
07. marts 2001 - 08:27 #4
...glemte at skrive, at alle elever som opfylder de kriterier som beskrevet, skal listes i en underformular.
07. marts 2001 - 08:58 #5
Hej Disher,


Du kan lave en søgeformular, hvor du anbringer alle de felter, som du vil søge i, og navngiver dem præcis som i tabellen og derefter anbringer en kommandoknap, som du skal starte søgningen.
Derefter skal alle tekstbokse have egenskaben \'Mærke\' sat lig enten Tekst eller tal afhængig af om datatypen i tabellen er tekst eller tal!

Nedenstående kode anbringes så på knappens click-hændelse.

\'**** Kode start ****
    Dim SQLStr As String
    Dim Ctrl As Control
   
    For Each Ctrl In Me
        If Ctrl.Tag = \"Tekst\" Then
            If Ctrl <> \"\" Then
                SQLStr = SQLStr & \"[\" & Ctrl.Name & \"] = \'\" & Ctrl & \"\' And \"
            End If
        ElseIf Ctrl.Tag = \"Tal\" Then
            If Ctrl <> \"\" Or Not IsNull(Ctrl) Then
                SQLStr = SQLStr & \"[\" & Ctrl.Name & \"] = \" & Ctrl & \" And \"
            End If
        End If
    Next Ctrl
    SQLStr = Left(SQLStr, Len(SQLStr) - 5)
    DoCmd.OpenForm \"Elever\", , , SQLStr \'(\"Elever\" ændres til navnet på den formular, som skal åbnes)
\'**** Kode slut ****

Avatar billede disher Nybegynder
07. marts 2001 - 09:38 #6
Det er bare for hardcore! Det er anden gang du hjælper mig. You\'re the man :)
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