17. februar 2003 - 16:02Der er
21 kommentarer og 1 løsning
kriterier i en formular
hejsa
er der nogle der kan hjælpe mig med følgende...
jeg vil gerne stille nogle kriterier op i min forespørgsel og det går da også nogenlunde...hvis jeg vil have alle de personer ud der hedder peter er syntaksen hvis noget ligende like="peter"; kan man på nogen måde inde i formularen lave sådan et kriterie så når man er på hovedformularen eller en helt anden formular kan man ex. indtaste et navn og disse poster bliver vist (altså en form for søgefunktion....i stedet for at man skal ind og lave om i forespørgslen for det er da ikke særlig brugervenligt...
En anden mulighed er, at du i forespørgslen blot indtaster [], så vil du få en popup når forespørgslen køres, hvori du skal indtaste et søgeord. Inde i [] kan du indtaste et ledende ord, f.eks:
og det andet forslag hvor skal jeg skrive det ?? jeg skrev det i kriterier..uden held. Men er det ikke muligt at lave en søge funktion hvor man kan vælge hvilket felt man vil søge i og det ord man vil søge efter?
Det er noget vi helt går ved siden af. Hvis du har en formular med 117 poster, skal du kun oprette een forespørgsel til alle 117 poster. Men tøv lige 5 min, så mailer jeg et eksempel.
ok nu har jeg fået den men af sikkerheds årsager kan jeg ikke åbne den med det gør jeg ige når jeg kommer hjem....mange tak :)
men det jeg snakker om er sådan som jeg ser det nu så er jeg nød til at lave en forspørgsel for hver ting jeg vil søge på ex. en for navn og en for by osv. men sådan er det sikkert ikke...men jeg prøver at se dit ex når jeg kommer hjem
Jo - Sådan er det. Hvis du vil lave en søgefunktion på hvert felt i formularen, taler vi om en helt anden ting, som er væsentlig mere komplekst. Denne kode søger efter strengen i en inputbox, og åbner form2 med den fundne post:
DoCmd.GoToControl "Felt1" Felt1 = InputBox(Prompt:="Indtast strengen du søger:" & vbNewLine & vbNewLine, Title:="Find tekststreng") Me.RecordsetClone.FindFirst "Felt1= '" & Felt1 & "'" While Me.RecordsetClone.NoMatch = True If Me.RecordsetClone.NoMatch = True Then Svar = MsgBox(Prompt:="Den søgte tekststreng findes ikke", Title:="Søgningen lykkedes ikke") Exit Sub End If Me.RecordsetClone.FindFirst "Felt1= '" & Felt1 & "'" Wend Me.Bookmark = Me.RecordsetClone.Bookmark 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 "Form2", , , SQLstr End Sub
Afhængig af hvad du skal bruge det til, skal du tænke på Access filtreringsfunktion. Sæt markøren i det felt du ønsker at filtrere > højreklik > skriv dit kriterie > enter, og Access vil filtrere efter det ønskede.
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.