Avatar billede per2edb Praktikant
09. november 2015 - 22:23 Der er 2 kommentarer og
2 løsninger

DoCmd.GoToRecord Virker ikke

Kan i hjælpe

Jeg har et dataark hvor jeg i en celle finder:
Record:  Me.Form.CurrentRecord
Row:    Me.Form.RecordsetClone.RecordCount

Hvordan kommer jeg til næste celle (F.eks 2)
DoCmd.GoToRecord , , acGoTo, 2  <= Virker ikke
Avatar billede bvirk Guru
10. november 2015 - 09:25 #1
Måske kan vi hælpe - hvis vi forstår dit spørgsmål

Celler er noget man har i regneark - hvad mener du med 'næste celle' - er det felt eller post du tænker på?

'hvor jeg i en celle finder' er svært at forstå i sammenhæng med egenskaberne currentrecord og recordsetclone (i vba) ved det formobject som eksisterer når en forms poster vises  i dataark

Recordsetclone er et recordset lige som det recordsæt der vises borset fra at det alene eksisterer som værdi - et recordsetclone objekt er ikke er koblet til GUI  - eller det der vises på skærmen med andre ord. Man kan sige at reocrdsetclone er noget tilgængeligt funktionalitet og man bruger det kun for at anvende resultatet, i form af recordset værdier, til noget.
Nogle har spurgt sig: Hvad skal vi med det recordsetclone?
http://www.utteraccess.com/forum/lofiversion/index.php/t1927469.html

Tror bare skal lade det recordsertclone 'blive i hatten' - Der er jo heller ingen parametre til docmd.gotorecord der angiver hvilken løsgående kanin - ellers må du vise os noget mere kode.

Men uddyb lige - per2edb - hvad du mener med "næste celle" om det er markøren i dataarkvisningen elller hvad.
Avatar billede per2edb Praktikant
10. november 2015 - 09:50 #2
Jeg har koderne i et modul
Efter Form.RecordSource = "SELECT ....
udfylder jeg et dataark på Formen

Herefter , Stadig i modulet, skal jeg afslutningsvis have markøren placeret f.eks i Række 3 kolonne 2

(Ved godt det ikke heder celle men det beskriver det bedre i excel)
Avatar billede bvirk Guru
10. november 2015 - 11:50 #3
Jeg forstår ikke din recordsource, men vil illustrer et eksempel på hvordan man kan placerer markøren i en forms datavisning.

tilføj til formens kodemodul - bemærk at jeg bruger 'my' for at tydeliggøre når ord er selvvalgte.

Public Sub myGoto(myRow, myColumn)
    DoCmd.GoToRecord , , acGoTo, myRow
    Controls(Form.RecordsetClone.Fields.Item(myColumn - 1).Name).SetFocus
End Sub

åben formen og skriv i vba editorens immediate vindue, idet formen hedder F0:

Form_F0.myGoto 3,2

----

Så det er docmd.gotoRecord, som du ikke syntes virkede, der anvendes til post selektering. Formen skal være den aktive ellers skal de 2 første parametre angives og formen skal være åben. Drejer det sig om underformular hvis kontrolelement på hovedformularen hedder U0:
    U0.SetFocus
    DoCmd.GoToRecord , , acGoTo, 3
    Controls("U0").Controls(U0.Form.RecordsetClone.Fields.Item(1).Name).SetFocus
Avatar billede fdata Forsker
10. november 2015 - 18:52 #4
DoCmd.GoToRecord , , acNext
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

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