Avatar billede florint Nybegynder
11. januar 2004 - 12:29 Der er 8 kommentarer og
1 løsning

Find post i formular

Hej,
Er der en der kan hjælpe mig med lidt kode til en knap på en formular der kan "spole" mig frem til en bestemt post ?
Jeg har en formular til indtastning af kunder - frmKunder.
Lige for øjeblikket er der kun indtastet 10 stk, så det er overskueligt at finde kundeID 9 frem. MEN når der er 3-400 forskellige poster vil det være besværligt at bruge postvælgeren eller scrolle sig frem.
Jeg vil gerne have en lille box hvor jeg kan indtaste "KundeNummer" og så findes posten frem.
På forhånd tak
11. januar 2004 - 12:39 #1
Lav en tekstboks som du kalder "FindKundenummer".
På tekstboksens "Efter Opdatering"-hændelse skriver du denne kode (i VBA):
Me.Filter = "Kundenummer = " & Me!FindKundeNummer
Me.Filteron = True
Avatar billede clausgold Nybegynder
11. januar 2004 - 12:40 #2
Indsæt en ubundet tekstbox i formularen.
Herefter sætter du kriterier på det eller de felter i forespørgslen du vil gøre det muligt at søge på. Kriteriet er LIKE "*" & forms!DinFormular!tekstfeltet & "*"
Avatar billede mugs Novice
11. januar 2004 - 13:21 #3
En lidt anden mulighed:

Dim a As Long
a = InputBox(Prompt:="Indtast kundenr.", Title:="Find kunde.", Default:="")
DoCmd.GoToControl "kundenr"
DoCmd.FindRecord a, acEntire, False, , True, acCurrent, True
Avatar billede mugs Novice
11. januar 2004 - 13:30 #4
Så vidt jeg kan se, er der et par ulemper ved de 2 øvrige forslag. Bruges filterløsningen skal der være en funktion, der kobler filteret fra igen. Bruges forslaget med en forespørgsel, skal der være en yderligere en formular med forespørgsel.
11. januar 2004 - 13:36 #5
Du har ret i, at mit forslag kræver at man slår filteret fra igen. Men det er der allerede en knap til på værktøjslinien (tilføj/fjern flter)

Fordelen ved min Filter-funktion er at den kan udbygges til at fungere på flere felter, ligesom man kun bruge Like i stedet for "=" og dermed få flere resultater end blot én post.
Avatar billede mugs Novice
11. januar 2004 - 13:39 #6
Enig Thomas - Men når feltet hedder "kundeID", forestiller jeg mig at der ikke findes dubletter.
Avatar billede florint Nybegynder
11. januar 2004 - 13:53 #7
Hej - Lidt frustrerende....eller ?
>>Thomasjepsen - din løsning giver mig en feler - "Du har annuleret den forrige handling.
>>Clausgold - din løsning "spoler" frem til næste post.
>>mugs - din løsning med en msgbox hvor man kan indtaste et kundenummer er faktisk den løsning jeg gerne vil bruge, men lige nu "gør den ingenting"

I kundetabellen har jeg et autonummerfelt som bruges mange steder i DB´en til ID. Jeg har også et felt der indeholder kundenummer, eks. 000160. Det er kundenummeret jeg gerne vil bruge for at finde posten frem i formularen.
Avatar billede mugs Novice
11. januar 2004 - 14:01 #8
Når du har foranstillede 0 i kundenr, er det så et tekstfelt (String)
Avatar billede florint Nybegynder
11. januar 2004 - 14:13 #9
Yepper og det burde jeg have nævnt - og set....Dim as Long er rettet til Dim as String, og så kører den - Perfekt !
Tak for hjælpen - alle 3.
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