Avatar billede geertf Nybegynder
05. december 2007 - 11:44 Der er 10 kommentarer og
3 løsninger

Find samme post efter Requery i en form

Hej
Det her spørgsmål må være blevet besvaret 100 gange andre steder, men jeg kan ikke finde det, så jeg stiller det igen.

I en form opretter jeg nye poster direkte i tabellen. I samme form er der en knap til en rapport. For at jeg kan få alle de nye data med over i rapporten laver jeg en Requery før rapporten åbner. Alt det går fint, men når jeg lukker rapporten igen er vi tilbage til første post pga. Requery'en. I formen er der et unikt ID for alle poster, men det er skjult, så jeg kan ikke sætte fokus på det. Hvad kan jeg så gøre?

Kode indtil videre:

    Dim stDocName As String
    Dim stLinkCriteria As String
    Dim stDennePost As String
       
    If af_AfsendtModtagelsesbekræftelse = 0 Then
    MsgBox ("Der mangler en aktiv dato i ''Har afsendt modtagelsesbekræftelse''" & _
            Chr(10) & _
            "for at kunne udskrive et brev." & _
            Chr(10) & _
            Chr(10) & _
            "Klik OK, og udfyld dato for at forsætte."), vbExclamation, "Mangler aktiv ddato"
           
    Else
   
    stDocName = "rpt_ModtagelsesBekræftelsesBrev"
    stLinkCriteria = "[PersonID]=" & Me![PersonID]
    stDennePost = [PersonID] 'den aktuelle post
    DoCmd.Requery
       
    DoCmd.OpenReport stDocName, acViewPreview, , stLinkCriteria 'åbner brevet
    End If
Avatar billede terry Ekspert
05. december 2007 - 12:05 #1
Not sure why you need a requery, if the new record is saved then it should be in the report. Maybe you should try saving the record in place of the requery

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Avatar billede geertf Nybegynder
05. december 2007 - 12:39 #2
Du har bestemt ret. Jeg kan selvfølgelig gemme den, og det virker også. Men hvis jeg nu stadig gerne vil lave en requery hvordan tvinger jeg den så tilbage til samme post?
Avatar billede mugs Novice
05. december 2007 - 12:43 #3
Dim bookm
bookm = Me.Bookmark
Me.Requery
Me.Bookmark = bookm
Avatar billede mugs Novice
05. december 2007 - 12:44 #4
Eller:

Dim VARa As Long
DoCmd.GoToControl "id"
VARa = Me.id
Me.Requery
DoCmd.FindRecord VARa, acEntire, False, , True, acCurrent, True
Avatar billede geertf Nybegynder
05. december 2007 - 13:12 #5
-> mugs
bookmark idéen giver mig den sidst post i stedet for den nye. og GoToControl virker ikke fordi min [PersonID] ikke er synlig. Selvom jeg gør den synlig, kan jeg heller ikkeumiddelbart får den til at virke.
Avatar billede mugs Novice
05. december 2007 - 13:33 #6
Kan sende dig en testdb. Blot læg din e-mail
Avatar billede terry Ekspert
05. december 2007 - 13:44 #7
one reason for saving the record and not requerying is it takes time to requery and as you can see also has its downfalls.

Saving the record would also allow you to evaluate and cancel if necessary.
Avatar billede mugs Novice
05. december 2007 - 13:48 #8
Afprøvet og fungerer:

Dim bookm
bookm = Me.Bookmark
Me.Requery
Me.Bookmark = bookm
DoCmd.OpenReport "rpt1", acViewPreview, , "[Tabel1]![id] = " & Me!id & ""
Avatar billede mugs Novice
05. december 2007 - 15:00 #9
Jeg trækker mit sidste forsleg. Arbejder lidt videre på det senere.
Avatar billede terry Ekspert
05. december 2007 - 15:22 #10
I very much doubt that you have a bookmark on a record which doesnt exist.
Avatar billede geertf Nybegynder
05. december 2007 - 16:00 #11
Mange tak for forsøget begg to. Jeg har fundet en anden løsning som gør det for mig lige pt. Den er ikke så robust overfor ændringer, men den virker efter hensigten. I selve rapporten indsætter jeg:

Dim rs

Private Sub Report_Close()

    DoCmd.OpenForm "frm_Ansøgere"
    Forms!frm_Ansøgere.DataEntry = False
    Forms!frm_Ansøgere.Requery
   
    Set rs = Forms!frm_Ansøgere.RecordsetClone
   
    rs.FindFirst "PersonID = " & Me!PersonID
   
    Forms!frm_Ansøgere.Bookmark = rs.Bookmark
    rs.Close

End Sub

Det virker... også selvom brugen af RecordsetClone stadig er lidt af en mysterium for mig :-)
Avatar billede geertf Nybegynder
05. december 2007 - 16:03 #12
Som sagt tak for hjælpen - det gav mig et skub i den rigtige retning :-)
Avatar billede terry Ekspert
05. december 2007 - 16:55 #13
well if it works then great...

Thanks
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