Newsgroup: it.comp.appl.access
Titolo: Problema con Bookmark

Ho un recordset di 15 record. Vado sull'11mo, lo cancello e voglio
ritrovarmi sul 12mo.
Ho quindi usato questo spicchio di codice:
Dim rst As DAO.RecordSet
Set rst = Me.RecordsetClone
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Forms!frmSchedaPrimoContatto.Requery
rst.Movenext
Me.Bookmark = rst.Bookmark
ma non funziona, nel senso che mi ritrovo sempre sul primo record.
Cosa devo togliere / aggiungere al mio codice per ritrovarmi sul record
successivo a quello cancellato?
Grazie mille a tutti e buona giornata :))


E' quel requery che ti porta all'inizio
vai su 
www.donkarl.com/it
 trovi come riposizionarti dopo il requery (immagin
tu lo faccia per non vedere "eliminato")
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa1 - I° Conferenza Italiana per Sviluppatori Access Arezzo 4+5
Giugno 2005 Sono aperte le iscrizioni  Info:  
www.donkarl.com/it

Si, infatti è quel requery.
Ma se non faccio il requery il recordset non mi viene aggiornato. Ma se
mi viene aggiornato poi il puntatore punta al primo.
Che riferimento è la FAQ di Don Karl?
Grazie mille!!!!!!


Chissa che significherà in italiano la parola austiaca "cerca"...
cmq ho provato a clickare e subito dopo ho digitato requery.
poi mi sono distratto e al ritorno ho trovato aschere 4.5 Lo stesso record
dopo Requery...
ma cusami, mi sono distratto, dicevi?


Scusami ma infatti sto incasinato perso sto facendo tutto di corsa.
Cmq ho tutte le FAQ di Don Karl salvate sul pc ed infatti l'avevo
trovata (tieni pure conto che digito da un internet point oggi, e
faccio le corse contro il tempo visto che spendo quasi 5 € al
giorno.... :P).
Ecco quello che ne ho ricavato fuori:
FAQ 4.5
Devi utilizzare il Requery per aggiornare i dati nella tua maschera. Il
Requery causa che il fuoco torni al primo record della maschera. Invece
desideri che esso rimanga dove prima si trovava.
Soluzione
Salva l'Id (un campo univoco) del record corrente. Allora puoi tornare
sul record dopo l'esecuzione di Requery:
On Error GoTo MyError
Dim lngStore As Long
lngStore = Me!Id
'riduce lo sfarfallio dello schermo
Me.Painting = False
Me.Requery
Me.RecordsetClone.FindFirst "Id = " & lngStore
Me.Bookmark = Me.RecordsetClone.Bookmark
myExit:
Me.Painting = True
Exit Sub
myError:
Select Case Err.Number
  Case 3159
    'Bookmark non valido
    Resume myExit
  Case Else
    Msgbox "Exception Nr. " & Err.Number & " " & Err.Description
    Resume myExit
End Select
FINE FAQ
Però c'è un problema. Io non voglio che il puntatore resti sul record
corrente, perchè è quello cancellato.
Voglio che vada a quello immediatamente successivo. Perciò penso che
devo aggiungere qualcosa del tipo:
lngstore = Me!Id + 1
ed il mio codice diventa:
On Error GoTo Err_cmdElimina_Click
Dim rst As DAO.Recordset
Dim lngStore As Long
Set rst = Forms!frmSchedaPrimoContatto.RecordsetClone
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
    'Se tolgo l'istruzione seguente mi dice 'Nessun record corrente
    lngStore = Forms!frmSchedaPrimoContatto!idUtente + 1
    Forms!frmSchedaPrimoContatto.Requery
    Forms!frmSchedaPrimoContatto.FindFirst "idUtente = " & lngStore
    Forms!frmSchedaPrimoContatto.Bookmark =
Forms!frmSchedaPrimoContatto.RecordsetClone.Bookmark
Exit_cmdElimina_Click:
    Exit Sub
Err_cmdElimina_Click:
    MsgBox Err.Description
    Resume Exit_cmdElimina_Click
End Sub
ma non funziona, perchè mi dice semplicemente 'Record eliminato' e
resta con la maschera grigia al record
cancellato che non esiste più.
Dove sbaglio?
Grazie mille MA :)

Scusa non avevo scritto bene il codice, ma cmq non funziona lo stesso:
On Error GoTo Err_cmdElimina_Click
Dim rst As DAO.Recordset
Dim lngStore As Long
Set rst = Forms!frmSchedaPrimoContatto.
RecordsetClone
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
    'Se tolgo l'istruzione seguente mi dice 'Nessun record corrente
    lngStore = Forms!frmSchedaPrimoContatto!i­dUtente + 1
    Forms!frmSchedaPrimoContatto.R­equery
    Forms!frmSchedaPrimoContatto.RecordsetClone.F­indFirst "idUtente =
" & lngStore
    Forms!frmSchedaPrimoContatto.B­ookmark =
Forms!frmSchedaPrimoContatto.R­ecordsetClone.Bookmark
Exit_cmdElimina_Click:
    Exit Sub
Err_cmdElimina_Click:
    MsgBox Err.Description
    Resume Exit_cmdElimina_Click
Avevo scritto
Forms!frmSchedaPrimoContatto.F­indFirst "idUtente = " & lngStore
invece di
Forms!frmSchedaPrimoContatto.RecordsetClone.F­indFirst "idUtente = " &
lngStore
ma tanto il risultato è lo stesso!!! :(
Buon lavoro spero tu possa aiutarmi :)

Nessuno può aiutarmi? :(
Ma è giusto fare
lngStore = Forms!frmSchedaPrimoContatto!i­dUtente + 1
o forse devo fare
lngStore = Forms!frmSchedaPrimoContatto!i­dUtente
e dopo
lngStore = lngStore + 1
O forse devo assegnare questi valori proprio all'inizio?
Grazie!!!

 ha scritto nel messaggio
news:1117108824.2...@o13g2000cwo.googlegroups.com...

On Error GoTo Err_cmdElimina_Click





Exit_cmdElimina_Click:
    Exit Sub

Avevo scritto

invece di



Oltre ai suggerimenti già ricevuti prova a guardare anche:
www.accessgroup.it
Sezione : Traduzioni
Cap 1 - Barre di comando --> Lavorare con le barre di comando in codice.
--
rgrds
SC

 End Sub
č inutile che salvi un clone del recordset in una variabile, se poi non usi
quella variabile. Prova cosě:
On Error GoTo Err_cmdElimina_Click
Dim rst As DAO.Recordset
Dim lngStore As Long
Set rst = Forms!frmSchedaPrimoContatto.RecordsetClone
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
    lngStore = rst!idUtente + 1
    Forms!frmSchedaPrimoContatto.Requery
    rst.FindFirst "idUtente = " & lngStore
    Forms!frmSchedaPrimoContatto.Bookmark = rst.Bookmark
Exit_cmdElimina_Click:
    Exit Sub
Err_cmdElimina_Click:
    MsgBox Err.Description
    Resume Exit_cmdElimina_Click
End Sub
Non l'ho provato, spero funzioni. Ciao e fammi sapere.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto nel messaggio
news:d74n16$e84$2...@domitilla.aioe.org...

[cut]
Mi sono imbrogliato con Outlook, non era questo il suggerimento ;-)
Allora:
www.accessgroup.it
 Sezione : Traduzioni
 Cap 6 - § Muoversi attraverso un oggetto Recordsetc
             § Trovare uno specifico record
 --
 rgrds
 SC

Grazie per il suggerimento.
Ti faccio sapere se funziona, ora sono in un internet point :)