06. marts 2001 - 14:08Der 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 :)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.
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.
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 ****
Det er bare for hardcore! Det er anden gang du hjælper mig. You\'re the man :)
Synes godt om
Ny brugerNybegynder
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.