Newsgroup: it.comp.appl.access
Titolo: riproposizione problema cambio pagina in maschera continua

Mi scuso per  il nuovo post, ma a distanza di tempo ho riprovato ma
non funziona.
In una maschera continua ho messo due pulsanti "PgSu"  e "PgGiu" per
andare avanti o indietro con le pagine.
Il codice, con il suggerimento di Massimiliano Amendola, è:
Option Compare Database
 Option Explicit
 Dim iPage As Byte
 
--------------------------------------------------------------------------------------
 Private Sub Pulsante_Next_Click()
 iPage = iPage + 1
 DoCmd.GoToPage iPage
 End Sub
 
-------------------------------------------------------------------------------------
 Private Sub pulsante_Previous_Click()
 If iPage > 0 Then
 iPage = iPage - 1
 DoCmd.GoToPage iPage
 Else
 MsgBox "We Ciccio ma 'ndo vai???"
 End If
 End Sub
Perchè non funziona?

 Perch� non funziona?
Seguendo la vecchia discussione non hai pagine nella tua maschera
ovvero una sola pagina come tutti che non usano il controllo
"Interruzione di pagina".
Confondi le pagine nel concetto di Access (--> GoToPage) con "pagine"
dello schermo (--> Tasti <PaginaSu> e <PaginaGi�>).
Cio� GoToPage non serve.
Se ancora vedi 5 record sullo schermo e vuoi fare con i pulsanti
cosa fanno i tasti, prova con
On Error Resume Next
DoCmd.GoToRecord , , acGoTo, CurrentRecord - 5
e
On Error Resume Next
DoCmd.GoToRecord , , acGoTo, CurrentRecord + 5
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 DoCmd.GoToRecord , , acGoTo, CurrentRecord + 5
me.paginasu.setfocus
ma non è cambiato niente.
I due pulsanti si trovano nel piè di pagina maschera. Attendo una tua
preziosa risposta.
Grazie ancora. Ciao.
Giuseppe.


Non volendo entrare nel merito del codice suggeritoti, che vista la
provenienza sicuramente funzionerà, ti linko un demo che ho messo on-
line tempo fa, e che al suo interno contiene anche quel che chiedi...
la paginazione.
http://www.accessgroup.it/HomeArgomenti.asp?ID=56&Oggetto2=Personalizza%20maschera%20da%20codice%20VBA
Credo ti possa esser utile.

 ...
Difficile a dire senza vedere la tua maschera.
Forse non ci sono esattamente 5 record sullo schermo ma p.e. 5,25.
Prova se aiuta spostare il focus al primo controllo posizionato in alto
nella sezione dettaglio, cio�:
On Error Resume Next
Me!TuoControlloPiuInAlto.SetFocus
DoCmd.GoToRecord , , acGoTo, CurrentRecord - 5
O spostare il focus al ultimo controllo ed usare -6 invece di -5.
Dipende dal disegno della tua maschera.


 Access FAQ:
www.donkarl.com/it
La maschera continua ha origine su una query che mostra i record solo
dopo aver selezionato nella maschera in cui vorrei spostarmi con i
pulsanti, l'idAzienda e la data da cui mostrare i record.
Nel corpo, in base all'altezza della maschera mi visualizza 8 record.
Ho messo su evento click del pulsante PaginaSu :
Me.ID.SetFocus
On Error Resume Next
DoCmd.GoToRecord , , acGoTo, CurrentRecord + 8
Appena inseriti l'idazienda e la data mi mostra i record da 1 a 8.
Dopo aver cliccato la prima volta su PaginaSu mi mostra i record da 2
a 9. Quando clicco la seconda volta va avanti di 8 record ma
aumentandoli non dal 1 record visualizzato ma dall'ultimo per cui mi
mostra i record da 17 a 24. Poi ancora avanza di uno solo (18-25) e
poi di 8 sempre partendo dall'ultimo (33-40).
Sicuramente non va bene il codice
me.id.setfocus perchè non si posiziona sul primo record di quelli
visualizzati.
Il pulsante PaginaGiu invece con lo stesso codice ma con -8 alla fine
funziona.
Cosa dovrei correggere?
Grazie Karl.
Giuseppe.


Ho adottato l'esempio propostomi da Pablitomf e finalmente dopo vari
tentativi da solo ci sono riuscito.
Ora il problema è:
se clicco sui pulsanti su e giù tutto ok.
Se premo i pulsanti della tastiera PGSU e PGGIù nonostante abbia messo
su evento keydown:
If KeyCode = 34 Then
il codice uguale a quello di pagina giu
End If
If KeyCode = 33 Then
il codice uguale a quello di pagina su
End If
Il tasto PGGIù probabilmente si posiziona su un record vuoto. Il tasto
PGSU va indietro di un record (l'ultimo) e se lo pigio ancora va
sull'ultimo record della prima pagina, se lo pigio ancora al primo
della prima pagina.
Perchè il codice non funziona?
Grazie. Ciao.


Mi correggo. La maschera aveva anteprima tasti impostato su no e
quindi non funzionava.
Ora il tasto PGGIù si sposta sull'ultimo record della prima pagina e
mi fa vedere solo quello, mentre il pulsante PGSU funziona benissimo.
Scusate ma ero convinto che tutte le mie maschere avessero l'anteprima
tasti su si.
Ciao.