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
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