Il problema che ho evidenziato è che usando il datagrid legato all'adodc della form in questo modo

SHAPE {select Campo1.Tab1,Campo2.Tab1,Campo3.Tab1,Campo4.Tab1,Ca mpo5.Tab1 from Tab1 Order by Campo1} AS ParentCMD APPEND ({select Campo1.Tab2,Campo2.Tab2 from Tab2 ORDER BY Campo1} AS ChildCMD RELATE Campo1.Tab1 TO Campo2.Tab2) AS ChildCMD

e utilizzando questo codice per posizionarmi sull'ultima riga del datagrid associato al record principale

codice:
Dim res As Variant
    Dim recordset As recordset
    Set recordset = datPrimaryRS.recordset("ChildCMD").UnderlyingValue
    grdDataGrid.Bookmark = recordset.RecordCount
    res = grdDataGrid.Bookmark
    grdDataGrid.SelBookmarks.Add (res)
Per esempio, sul primo record il datagrid ad esso associato mi da 5 righe, e tutti gli altri record hanno 0 righe niei loro datagrid, sul primo record la riha selezionata è l'ultima.
Se invece negli altri record, per esempio solo nel primo ho una sola riga, nel primo record la riga evidenziata sarà la penultima.

il conto delle righe del datagrid mi viene fatto sulla somma di tutte le righe dei datagrid