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

BASE aggiornare automaticamente sottoformulario dopo modifica dati formulario

550 views
Skip to first unread message

ivn

unread,
Jul 1, 2010, 5:43:57 AM7/1/10
to
Salve,
ci ho cercato sopra
Ho un database composto da tabelle e ricerche per i calcoli.

Tabella:
Campo1,campo2,Campo3,....Campo10

Ricerca:
Campo1+Campo2
(Campo1+Campo2)*Campo3......

ho creato un formulario con la tabella dei dati con sottoformulario
ricerca per i calcoli.

se modifico i dati della tabella la ricerca si aggiorna solo dopo aver
premuto Aggiorna nella barra di navigazione del formulario.
rumando(cercando)ho scoperto che posso aggiungere un pulsante e
associare l'operazione "aggiorna database".
Che devo fare per aggiornare automaticamente dopo la modifica di un
campo senza aggiungere un pulsante?
grazie
ib

martello

unread,
Jul 1, 2010, 7:07:42 AM7/1/10
to

> Tabella:
> Campo1,campo2,Campo3,....Campo10
>
> Ricerca:
> Campo1+Campo2
> (Campo1+Campo2)*Campo3......
>
> ho creato un formulario con la tabella dei dati con sottoformulario
> ricerca per i calcoli.
>
> se modifico i dati della tabella la ricerca si aggiorna solo dopo aver
> premuto Aggiorna nella barra di navigazione del formulario.
> rumando(cercando)ho scoperto che posso aggiungere un pulsante e
> associare l'operazione "aggiorna database".
> Che devo fare per aggiornare automaticamente dopo la modifica di un
> campo senza aggiungere un pulsante?


Ad ogni colonna della tabella associ l'avvio di una macro sull'evento
'testo modificato'.

Questa macro:

sub rinfresca
oRefre = ThisComponent.DrawPage.forms.MainForm.TuoSottoformulario
oRefre.reload ()
end sub

Dove nella riga 2 devi mettere il riferimento esatto al tuo formulario
che devi ricostruire usando il 'navigatore di formulario'

Dovrebbe funzionare (il condizionale è d'obbligo perchè non ho provato
e perchè non uso mai formulari basati su ricerche).

ivn

unread,
Jul 1, 2010, 9:31:45 AM7/1/10
to

Grazie della risposta celere.

ho associato l'avvio ad una sola colonna (quella che mi interessa
cambiare) e in effetti ad ogni insereimento di carattere si nota uno
sfarfallio del sottoformulario. ma il refresh avviene solo se passo
alla riga successiva(con frecciagiu ad esempio)

funziona quasi ma ci devo studiare sopra.
credo manchi un salva e poi rinfresca

martello

unread,
Jul 1, 2010, 9:45:07 AM7/1/10
to

> ho associato l'avvio ad una sola colonna (quella che mi interessa
> cambiare) e in effetti ad ogni insereimento di carattere si nota uno
> sfarfallio del sottoformulario. ma il refresh avviene solo se passo
> alla riga successiva(con frecciagiu ad esempio)
>
> funziona quasi ma ci devo studiare sopra.
> credo manchi un salva e poi rinfresca

Ritengo che ciò sia dovuto al fatto che la ricerca lavora sui dati della
tabella la quale però non viene aggiornata fino al cambio di record.

Non so se si può ovviare a questa cosa per altro abbastanza normale per
un data base.

Puoi tentare con un metodo commit sul campo della tabella ma non credo
proprio che funzioni (99,9999999999999999999999 % ->non funziona).
Puoi anche dare un via macro refresh alla tabella stessa ... ma questa
cosa ti fa perdere il focus sul record corrente con effetti devastanti.

Speriamo in pareri più esperti.

martello

unread,
Jul 1, 2010, 9:51:16 AM7/1/10
to

> ho associato l'avvio ad una sola colonna (quella che mi interessa
> cambiare) e in effetti ad ogni insereimento di carattere si nota uno
> sfarfallio del sottoformulario. ma il refresh avviene solo se passo
> alla riga successiva(con frecciagiu ad esempio)

Prova anche a sostituire l'evento 'testo modificato' con 'modificato'
forse eviti l'avvio della macro ad ogni carattere (anche se non ne sono
cos� sicuro).

martello

unread,
Jul 1, 2010, 10:43:43 AM7/1/10
to

Prova a leggere nelle faq:

Tramite macro modifico i controlli del formulario ma ho notato che le
tabelle del data base non vengono aggiornate con i valori inseriti. Come
posso fare?

ivn

unread,
Jul 1, 2010, 12:26:27 PM7/1/10
to
On 1 Lug, 15:51, martello <"martelozzo1(martello)"@tin.it> wrote:
> > ho associato l'avvio ad una sola colonna (quella che mi interessa
> > cambiare) e in effetti ad ogni inserimento di carattere si nota uno

> > sfarfallio del sottoformulario. ma il refresh avviene solo se passo
> > alla riga successiva(con frecciagiu ad esempio)
>
> Prova anche a sostituire l'evento 'testo modificato' con 'modificato'
> forse eviti l'avvio della macro ad ogni carattere (anche se non ne sono
> cos sicuro).

avevo letto in una tua vecchia mail sul metodo commit provato ma non
funge.
comunque lasciamo stare, provo un approccio diverso e se risolvo posto
la resoluzion.
grazie comunque

martello

unread,
Jul 1, 2010, 2:30:00 PM7/1/10
to

> comunque lasciamo stare, provo un approccio diverso e se risolvo posto
> la resoluzion.

Un metodo hard ... di sicuro funzionamento, ma decisamente più
complesso, consiste nel leggere il contenuto del campo del formulario
via macro e sempre via macro aggiornare la tabella del data base.
Dopo questo un colpo di reload e il gioco è fatto.

ivn

unread,
Jul 6, 2010, 3:09:19 AM7/6/10
to

si sarà questo il metodo
tenchiu

0 new messages