Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Posizione record dopo requery

560 views
Skip to first unread message

Badoba

unread,
Dec 14, 2006, 9:45:01 AM12/14/06
to
Prima di scrivere al NG ho provato a cercare in giro, ma non sono
riuscito a trovare la soluzione al mio problema.
Spero che si possa fare, ma comincio a dubitarlo.

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

giorgio rancati

unread,
Dec 14, 2006, 10:24:43 AM12/14/06
to
"Badoba" <bad...@libero.it> ha scritto nel messaggio
news:1166107501.7...@j72g2000cwa.googlegroups.com...

>Prima di scrivere al NG ho provato a cercare in giro, ma non sono
>riuscito a trovare la soluzione al mio problema.
>Spero che si possa fare, ma comincio a dubitarlo.

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


Bruno Campanini

unread,
Dec 14, 2006, 10:49:13 AM12/14/06
to
"giorgio rancati" <giorgio_No_Sp...@tiscali.it> wrote in message
news:uY3ixN5H...@TK2MSFTNGP03.phx.gbl...

> 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


Badoba

unread,
Dec 14, 2006, 10:54:26 AM12/14/06
to

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

Ivan

unread,
Dec 14, 2006, 11:25:58 AM12/14/06
to

"Badoba" <bad...@libero.it> ha scritto nel messaggio
news:1166111666.1...@t46g2000cwa.googlegroups.com...

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


giorgio rancati

unread,
Dec 14, 2006, 11:41:29 AM12/14/06
to
"Badoba" <bad...@libero.it> ha scritto nel messaggio
news:1166111666.1...@t46g2000cwa.googlegroups.com...

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

Karl Donaubauer

unread,
Dec 14, 2006, 1:34:00 PM12/14/06
to
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

--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it

Badoba

unread,
Dec 15, 2006, 2:29:40 AM12/15/06
to

Karl Donaubauer ha scritto:

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

Badoba

unread,
Dec 15, 2006, 3:06:59 AM12/15/06
to

Ivan ha scritto:

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

0 new messages