27. maj 2002 - 13:57Der er
14 kommentarer og 2 løsninger
oprette søgeformular
Er der nogle der kan hjælpe en nybegynder i Access? Jeg skal oprette en søgeformular med seks kontrolelementer, hvor man skulle kunne taste alt det information man har til rådighed- det kan være fra en til alle seks at søge efter. Jeg har forestillet mig en slags af forespørgsel i formulardisign hvor kriterier afhængende af det indtastede værdier,men kan ikke få det til at virke - får formular med parameter eller kræves det at alle felterne er udfyldt. Kan det overhovedigt lade sig gør på den måde eller er det helt noget andet skal til?
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.
Her er en funktion, som kan bruges til at lægge et vilkårligt antal søgefelter på en formular. Dine søgefelter skal hedde "søg" efterfulgt af det samme som det felt du søger efter. Eks: søgTelefon hvis feltet skal søge på telefon.
Endvidere skal hvert søgefelt have egenskaben "Mærke" (Tag) sat til enten Tal eller Tekst for at angive om feltet er nummerisk eller tekst.
Public Function GetFilter() As String
Dim SQLStr As String Dim ctrl As Control
For Each ctrl In Screen.ActiveForm If ctrl.Tag = "Tekst" Then If ctrl <> "" Then SQLStr = SQLStr & "[" & Mid(ctrl.Name, 4) & "] = '" & ctrl & "' And " End If ElseIf ctrl.Tag = "Tal" Then If ctrl <> "" Or Not IsNull(ctrl) Then SQLStr = SQLStr & "[" & Mid(ctrl.Name, 4) & "] = " & ctrl & " And " End If End If Next ctrl If SQLStr <> "" Then SQLStr = Left(SQLStr, Len(SQLStr) - 5) End If GetFilter = SQLStr End Function
Herefter kan man lave en søgknap, som har denne kode: Me.Filter = GetFilter Me.Filteron = true
Den underliggende foresp skal have et søgefelt sammenlagt af alle dem du vil søge i:
SELECT *, (felt1 & felt2 & felt3 & felt4 & felt5 & felt6) as soegefelt FROM Tabel
i et tekstbox på formen lægges flg kode ind i AfterupdateEvent
Private Sub TxtSoeg_AfterUpdate() Dim strFilter As String strFilter = "[Soegefelt] Like '*" & TxtSoeg & "*'" Me.FilterOn = false Me.Filter = strFilter Me.FilterOn = True End Sub
Jeg har kigget, men det vil tage lidt tid endnu, til thomasjepsen: den vil ikke exeptere & " And ", det kommer med compile error og vil have afslutning på gerning, og nå du snakker om søgeknap,-mener du almin.kommandoknap hvor jeg skal vælger formular->anvend formularfilter->Ved Click-...?
Du skal bare lave en alm kommandoknap uden at bruge guiden. I stedet hæjreklikker du på knappen og vælger "Generer hændelsesprocedure" (og vælger derefter "kodegenerator")
Herefter skriver du så: Me.Filter = GetFilter Me.Filteron = true
Men jeg kan ikke forstå at du skulle få en compile-error! Det ville være fint, hvis du kunne sende den til mig!?
Det lykkedes endeligt! Tusind tak til Terry og ThomasJepsen, Terry var med den rigtige svar først, så håber det er OK hvis deler pointerne 100 til Terry og 50 til Thomas og thanks en gang til for not given op on me!
Til faroe, der ville være med på kigget, hvis du er interess. stadigvæk i resultaterne, skriv til elena@rsip.com
Hi lenka25, thats fine by me but I think something has happend to the sharing out! 75/75
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.