Avatar billede janbach Nybegynder
22. maj 2006 - 20:04 Der er 11 kommentarer og
2 løsninger

Find Record

Hej Eksperter!

Problem:
Jeg har en menu(Form) hvor der skal være et tekstfelt. Når dette felt er udfyldt og der trykke på [Enter], så skal den søge en tabel igennem og vise den korrekte record i en form.

Hvordan kan jeg gøre dette bedst?

Mvh

JanBach
Avatar billede mugs Novice
22. maj 2006 - 20:07 #1
Dim VARa As String
VARa = Me.DIT FELT
DoCmd.FindRecord VARa, acEntire, False, , True, acCurrent, True
Avatar billede janbach Nybegynder
22. maj 2006 - 20:12 #2
Hej Mugs

Jeg er ikke særlig dygtig til VB. Kan du skærer det lidt mere ud i pap?

Hvad sker der i linje 2?
Avatar billede mugs Novice
22. maj 2006 - 20:14 #3
Variablen VARa sættes = formularens felt. Du skal blot ændre ordene DIT FELT til navnet på dit eget felt i formularen.
Avatar billede janbach Nybegynder
22. maj 2006 - 20:18 #4
Men hvor i koden beder vi den om at åbne resultatet i en form?
Avatar billede janbach Nybegynder
22. maj 2006 - 20:19 #5
Har dette nu:
Option Compare Database

Private Sub Text25_Enter()

Dim searchString As String
searchString = Form_DatMenu.Text25

DoCmd.FindRecord searchString, acEntire, False, , True, acCurrent, True

End Sub
Avatar billede mugs Novice
22. maj 2006 - 20:23 #6
Vil du åbne en form2 og søge efter den post du står har i form1?
så skal den se således ud:

DoCmd.OpenForm "Form2"
Forms!Form2!Felt1.SetFocus
DoCmd.FindRecord Me!Felt1

Hvod Felt1 er navnet på det felt der indeholder en unik værdi for din post.
Avatar billede janbach Nybegynder
22. maj 2006 - 20:44 #7
Jeg har det her nu:
Option Compare Database

Private Sub Text25_Enter()

Dim searchString As String
searchString = Form_DatMenu.Text25

DoCmd.OpenForm "DatFindPC"
Forms!DatFindPC!Serial.SetFocus
DoCmd.FindRecord Me!searchString

End Sub

Det virker ikke helt - den kan ikke finde searchString. Det er det variable som indeholder værdien fra felt1 på form1.
Avatar billede mugs Novice
22. maj 2006 - 20:56 #8
Me!searchString

Refererer til et feltnavn i formularen. Prøv:

DoCmd.OpenForm "DatFindPC"
Forms!DatFindPC!Serial.SetFocus
DoCmd.FindRecord Me!Text25
Avatar billede janbach Nybegynder
22. maj 2006 - 21:03 #9
Det var bedre:)

Må jeg lige stille et par spørgsmål mere?
- Kan jeg sætte den til at close form1 hvis den finder noget
- Kan jeg lave en tilpasset besked hvis den ikke finder noget
Avatar billede janbach Nybegynder
22. maj 2006 - 21:08 #10
Hvis den ikke finder noget så åbner den nemlig bare form2:)
Avatar billede mugs Novice
23. maj 2006 - 05:44 #11
Prøv denne:

If DCount("*", "Forespørgsel2", "[Felt1]= " & Me.Felt1 & "") = 0 Then
MsgBox "der er ingen poster."
Exit Sub
Else:
DoCmd.OpenForm "Form2"
Forms!Form2!Felt1.SetFocus
DoCmd.FindRecord Me!Felt1
End If

Forespørgsel2 leverer data til Form2, og Felt1 er dit numeriske kriterie.
Avatar billede janbach Nybegynder
25. maj 2006 - 13:16 #12
Super hjælp!! Mange tak mugs
Avatar billede mugs Novice
25. maj 2006 - 14:25 #13
Selv tak.
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