In una maschera continua:
E' possibile, dopo un requery, visualizzare il record corrente
(utilizzo il bookmark) nella stessa posizione in cui trovava prima del
requery?
E' cioè possibile determinare il numero di record visualizzati e la
posizione di un determinato record?
Grazie in anticipo
Alberto
>In una maschera continua:
>E' possibile, dopo un requery, visualizzare il record corrente
>(utilizzo il bookmark) nella stessa posizione in cui trovava prima del
>requery?
>E' cioč possibile determinare il numero di record visualizzati e la
>posizione di un determinato record?
>Grazie in anticipo
>Alberto
Ciao Alberto,
la posizione del record corrente la trovi nella proprietą CurrentRecord, i
record visualizzati li puoi determinare dalla proprietą
RecordsetClone.RecordCount della sottomaschera.
Poniamo che la tua sottomaschera si chiami Figlio0 e che con un pulsante
della maschera principale ne esegui la requery...
----
Dim nrec As Long 'Posizione record
nrec = Me.Figlio0.Form.CurrentRecord
Me.Figlio0.Requery
Me.Figlio0.SetFocus
DoCmd.GoToRecord , , acFirst
If nrec > 1 Then
DoCmd.GoToRecord , , acNext, nrec - 1
End If
----
Ciao
--
Giorgio Rancati
[Office Access MVP]
> Ciao Alberto,
> la posizione del record corrente la trovi nella proprietà CurrentRecord, i
> record visualizzati li puoi determinare dalla proprietà
> RecordsetClone.RecordCount della sottomaschera.
>
> Poniamo che la tua sottomaschera si chiami Figlio0 e che con un pulsante
> della maschera principale ne esegui la requery...
> ----
> Dim nrec As Long 'Posizione record
> nrec = Me.Figlio0.Form.CurrentRecord
> Me.Figlio0.Requery
> Me.Figlio0.SetFocus
> DoCmd.GoToRecord , , acFirst
> If nrec > 1 Then
> DoCmd.GoToRecord , , acNext, nrec - 1
> End If
> ----
Credo che Albergo intendesse l'esatta precedente posizione
relativa sulla parte di recordset visibile sulla scheda.
Es:
CurrentRecord = AbsolutePosition = 106 ubicato
al 4° posto di una scheda che visualizza 10 record.
Dopo Requery il 106 deve trovarsi ancora al 4° posto
(e non al primo o all'ultimo).
Io ci ho provato ma non ho cavato un ragno da un buco.
Bruno
> >In una maschera continua:
> >E' possibile, dopo un requery, visualizzare il record corrente
> >(utilizzo il bookmark) nella stessa posizione in cui trovava prima del
> >requery?
> >E' cioè possibile determinare il numero di record visualizzati e la
> >posizione di un determinato record?
> >Grazie in anticipo
> >Alberto
>
> Ciao Alberto,
> la posizione del record corrente la trovi nella proprietà CurrentRecord, i
> record visualizzati li puoi determinare dalla proprietà
> RecordsetClone.RecordCount della sottomaschera.
>
> Poniamo che la tua sottomaschera si chiami Figlio0 e che con un pulsante
> della maschera principale ne esegui la requery...
> ----
> Dim nrec As Long 'Posizione record
> nrec = Me.Figlio0.Form.CurrentRecord
> Me.Figlio0.Requery
> Me.Figlio0.SetFocus
> DoCmd.GoToRecord , , acFirst
> If nrec > 1 Then
> DoCmd.GoToRecord , , acNext, nrec - 1
> End If
> ----
>
> Ciao
> --
> Giorgio Rancati
> [Office Access MVP]
Ti ringrazio per la risposta, ma forse non mi sono spiegato bene.
Supponiamo di avere una maschera che visualizza 10 record alla volta.
Ho un totale di 100 record e mi trovo sul record 55, che però è
visualizzato nella terza riga (in pratica visualizzo dal record 53 al
record 62).
Quando faccio il requery riesco a tornare al record 55, ma mi viene
visualizzato come primo della lista. In pratica vengono visualizzati i
record dal 55 al 64. E' possibile ritornare alla situazione iniziale?.
Alberto
giorgio rancati ha scritto:
> >In una maschera continua:
> >E' possibile, dopo un requery, visualizzare il record corrente
> >(utilizzo il bookmark) nella stessa posizione in cui trovava prima del
> >requery?
> >E' cioč possibile determinare il numero di record visualizzati e la
> >posizione di un determinato record?
> >Grazie in anticipo
> >Alberto
>
> Ciao Alberto,
> la posizione del record corrente la trovi nella proprietą CurrentRecord, i
> record visualizzati li puoi determinare dalla proprietą
> RecordsetClone.RecordCount della sottomaschera.
>
> Poniamo che la tua sottomaschera si chiami Figlio0 e che con un pulsante
> della maschera principale ne esegui la requery...
> ----
> Dim nrec As Long 'Posizione record
> nrec = Me.Figlio0.Form.CurrentRecord
> Me.Figlio0.Requery
> Me.Figlio0.SetFocus
> DoCmd.GoToRecord , , acFirst
> If nrec > 1 Then
> DoCmd.GoToRecord , , acNext, nrec - 1
> End If
> ----
>
> Ciao
> --
> Giorgio Rancati
> [Office Access MVP]
Ti ringrazio per la risposta, ma forse non mi sono spiegato bene.
Supponiamo di avere una maschera che visualizza 10 record alla volta.
Ho un totale di 100 record e mi trovo sul record 55, che perņ č
visualizzato nella terza riga (in pratica visualizzo dal record 53 al
record 62).
Quando faccio il requery riesco a tornare al record 55, ma mi viene
visualizzato come primo della lista. In pratica vengono visualizzati i
record dal 55 al 64. E' possibile ritornare alla situazione iniziale?.
Alberto
scusate se mi intrometto, ma mi pare che il requery possa alterare 'molto'
le posizioni dei records all'interno della tabella.
Per assurdo il tuo 'terzo' record relativo potrevve diventare il 'primo' in
assoluto della tabella, quali de records potresti mettere prima del primo ??
Se invece la situazione rimane davvero la stessa anche dopo il requery,
potresti 'calcolarti' il record che apre la maschera, contandoli a 10 alla
volta e visualizzando solo alla fine. A quel punto hai in prima riga quello
esatto e settando il focus sul tuo dovresti ricalcare la situazione
precedente.
IvanDaBologna
>Ti ringrazio per la risposta, ma forse non mi sono spiegato bene.
>Supponiamo di avere una maschera che visualizza 10 record alla volta.
>Ho un totale di 100 record e mi trovo sul record 55, che perт и
>visualizzato nella terza riga (in pratica visualizzo dal record 53 al
>record 62).
>Quando faccio il requery riesco a tornare al record 55, ma mi viene
>visualizzato come primo della lista. In pratica vengono visualizzati i
>record dal 55 al 64. E' possibile ritornare alla situazione iniziale?.
> Alberto
come intuito da Bruno :-)
spiacente, non mi viene in mente niente :(
Vedi l'esempio di Stephen "frmSetScrollBarUsingSelTop" nel
http://www.lebans.com/DownloadFiles/SetGetScrollbars.zip
--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it
> Badoba wrote:
> > ...
> > Supponiamo di avere una maschera che visualizza 10 record alla volta.
> > Ho un totale di 100 record e mi trovo sul record 55, che però è
> > visualizzato nella terza riga (in pratica visualizzo dal record 53 al
> > record 62).
> > Quando faccio il requery riesco a tornare al record 55, ma mi viene
> > visualizzato come primo della lista. In pratica vengono visualizzati i
> > record dal 55 al 64. E' possibile ritornare alla situazione iniziale?.
>
> Vedi l'esempio di Stephen "frmSetScrollBarUsingSelTop" nel
> http://www.lebans.com/DownloadFiles/SetGetScrollbars.zip
>
Grazie, molto interessante.
>
> scusate se mi intrometto, ma mi pare che il requery possa alterare 'molto'
> le posizioni dei records all'interno della tabella.
> Per assurdo il tuo 'terzo' record relativo potrevve diventare il 'primo' in
> assoluto della tabella, quali de records potresti mettere prima del primo ??
>
> Se invece la situazione rimane davvero la stessa anche dopo il requery,
> potresti 'calcolarti' il record che apre la maschera, contandoli a 10 alla
> volta e visualizzando solo alla fine. A quel punto hai in prima riga quello
> esatto e settando il focus sul tuo dovresti ricalcare la situazione
> precedente.
>
> IvanDaBologna
In effetti le tue considerazioni sono giuste. Nel mio caso io sono
costretto a fare il requery perchè nel frattempo potrebbero essere
stati aggiunti dei record.
Comunque ora guarderò l'esempio di Stephen che mi ha suggerito Karl