25. september 2002 - 20:11Der er
26 kommentarer og 1 løsning
forespørgsel i en formular
hvordan kan lave en forespørgsel i en formular jeg ville gerne have det til at virke på den måde at man i et felt skal intaste feks kundenr, også så skulle forespørgslen gerne komme med nogle data på denne kunde.
èn af de lidt mere simple måder er at lave en formular baseret på din kundetabel eller en forespørgsel, som du selv designer. Dernæst kan du lave en ubundet tekstboks (f.eks. kaldet "søgKundenr"), hvor du lægger denne kode på AfterUpdate
Private Sub søgKundenr_AfterUpdate() ME!Kundenr.Setfocus Docmd.Findrecord Me!søgKundenr End sub
Dvs at hver gang du indtaster et kundenr i tekstboksen, så spoler den frem til den aktuelle post.
Dette er ikke helt eksakt svaret på dir spørgsmål, men en procedüre der finder en post der matcher et indtastet værdi i en inputbox. Arbejder lidt på det andet.
Dim SQLstr As String Dim Felt1 As String Dim MSG As String Dim Svar As Integer Dim Ctrl As Control 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
Det var skam heller ingen bebrejdelse! Jeg har bare selv udtænkt koden, så derfor kunne jeg genkende den med det samme. Det er kun rart der er nogen, som kan drage lidt nytte af det man skriver :o)
thomas > Din kommentar er heller ikke opfattet som en bebrejdelse. Der er da heldigvis stadig kategorier her på eksperten, hvor man kan give et bidrag til debatten uden, at man bliver beskyldt for både at stjæle, snyde og bedrage.
For ikke så længe siden besvarede jeg et spørgsmål, og havde derefter en længere korrespondance med brugeren, der ansete mig for at være noget nær verdensmester i Access. Der måtte jeg skuffe ham og erkende, at for hvert spørgsmål jeg besvarer, bliver jeg "jordet" i 10 spørgsmål af nogle få "superbrugere", fra hvilke jeg med god samvittighed "stjæler" kodeeksempler med både arme og ben.
Disse eksempler som både du, terry, nih og et par andre kommer med, har gjort mit daglige arbejde væsentlig nemmere.
hej Thomas jeg har prøvet at lave det i det første eks. men jeg får en fejl kode der lyder "run time error 2137 du kan ikke bruge søg eller erstat." jeg har lavet en forespørgsel med kundenr návn adr osv som kriterie har jeg ved kundenr sagt [forms].[kundepleje]![Kundenr] og min kode ser sådan ud. Private Sub Kundenr_AfterUpdate() Me!kundenr.SetFocus DoCmd.FindRecord Me!kundenr End Sub
Jo du skal have en forespørgsel, se Thomas sidste kommentar. indrømmet min kommentar var ikke særlig klart formuleret, men du skal ikke have kriterier i både formular og forespørgsel.
jeg får stadigvæk fejlkoder. jeg laver en formular via guiden hvor jeg vælger min forespørgsel. hvor jeg har. kundenr. navn. adr. osv denne forespørgsel har jeg lavet som et dataark. derudover laver jeg et ubundet tekstfelt som hedder kundenr. hvortil jeg skriver koden. private Sub Kundenr_AfterUpdate() Me!kundenr.SetFocus DoCmd.FindRecord Me!kundenr End Sub
nu får jeg denne fejl meddelse. en makro der er angivet til en af egenskaberne for det aktuelle felt lykkes ikke pga en fejl i argumentet til handlingen SøgEfterPost.
Hvis ikke du skal bruge formularen til andet end at vise oplysninger om et bestemt kundenr. kan du nøjes med forespørgslen og gøre den til en parameterforespørgsel. Under kriterier skriver du bare [ ] og du vil blive spugt om Kundenr når du kører forespørgslen. Du kan også tilføje en tekst, f.eks. [ "Kundenr. ? " ]
hej Thomas mange tak for din hjælp og talmodighed i går. det var lige hvad jeg skulle bruge i denne omgang.
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.