Avatar billede jobless Nybegynder
09. januar 2006 - 13:38 Der er 7 kommentarer

Bevar fokus på post.

Hej.

Jeg har en fortløbende formular, som jeg af og til bruger .requery på.

Er det muligt at bevare focus er post jeg står på, og hvis denne forsvinder ved .requery, så bevares focus på posten ovenover ?

MVH

JoBless
Avatar billede jesperfjoelner Nybegynder
09. januar 2006 - 14:44 #1
Du skal gemme formularens værdi (ID-felt) inden du requery'er og så kan du finde den igen. Noget i stil med:

VaerdiNu = forms!mainformname!subname.form!IDfelt

forms!mainformname!subname.form.Requery
Dim rs As DAO.Recordset
Set rs = forms!mainformname!subname.form.RecordsetClone
rs.FindFirst "[IDfelt]=" & VaerdiNu
forms!mainformname!subname.form.Bookmark = rs.Bookmark
Set rs = Nothing
Avatar billede jobless Nybegynder
09. januar 2006 - 15:01 #2
Men hvad sker der så hvis posten ikke længere er med på listen.... ?
Avatar billede jesperfjoelner Nybegynder
09. januar 2006 - 15:18 #3
Jeg ved det ikke helt - kommer der en fejlmeddelse?
Så kan den nok fanges, så der kan handles på det.
Avatar billede fdata Forsker
09. januar 2006 - 22:23 #4
Formodentlig vil FindFirst ikke kunne finde posten, hvorfor markøren bliver stående på første post.
Avatar billede jesperfjoelner Nybegynder
09. januar 2006 - 23:23 #5
fdata > tror du har ret. Og det er nok det han ønsker.
Avatar billede jobless Nybegynder
10. januar 2006 - 20:32 #6
Jeg har desværre ikke nået at teste endnu, men som jeg skriver ønsker jeg at focus bevares på posten ovenover, hvis den post der tidligere havde focus fjernes ved .requery.

For at skære det ud:
Hvis post nr. 4 (fra toppen) har focus, og jeg laver .requery som får post nr. 4 til at forsvinde, vil jeg gerne have at post 3 (fra toppen) har focus.

Forventer at teste sidst på ugen...
Avatar billede fdata Forsker
11. januar 2006 - 01:08 #7
Da posten mangler, vil du jo ikke få et hit med FindFirst.

Med udgangspunkt i jesperfjoelners kode:
Da det virker som om du udskifter hele datagrundlaget, kan man måske heller ikke vide, om den forrige post (post 3) er med - eller hvad? Hvis både post 4 og 3 er væk, skal du jo hoppe til post 2! I så tilfælde er der vel kun et sekventielt gennemløb, der kan give det rigtige svar. Altså løbe igennem posterne indtil du finder den første post, der er større end VaerdiNu - og så hoppe een post baglæns.

Hvis du er helt sikker på, at det kun er den aktuelle post, der er væk, kunne du måske hoppe en post baglæns og gemme dennes ID i VaerdiNu i stedet for. Så har du allerede ID på posten, du skal hoppe til efter Requery.
Så er der jo lidt knas med den allerførste post, hvor du ikke kan gå til den forrige. I så tilfælde er .BOF True, og så kan du bare droppe hele søge-showet og nøjes med Requery.
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