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

aggiornare campi query sottostante a combobox

49 views
Skip to first unread message

Stefano Vanoli

unread,
Feb 24, 2014, 6:07:29 AM2/24/14
to
Ciao a tutti.

Access 2003.

Ho Maschera1, basata su Tabella1.
Maschera1, oltre ad altri controlli, contiene Combobox1 la cui origine è Query1, basata su Tabella2.
In Maschera1 ho inoltre un pulsante che apre Maschera2 per immettere/modificare dati di Tabella2.

Dall'interno di Maschera1 richiamo Maschera2 effettuo delle aggiunte/modifiche/cancellazioni sui record di Tabella2, effettuo il Requery del Recordset di Maschera2, poi chiudo Maschera2.

Se ora clicco su Combobox in Maschera1, non trovo aggiornati i dati di Query1.

Posto che il Requery di Maschera2 funziona perfettamente, tant'è che posso immediatamente modificare i dati di un nuovo record immesso oppure cancellarlo,
come faccio a rieseguire Query1, in maniera che Combobox1 presenti i dati aggiornati?

Grazie per l'aiuto.
Stefano

ribet...@gmail.com

unread,
Feb 24, 2014, 6:16:32 AM2/24/14
to
Il giorno lunedì 24 febbraio 2014 12:07:29 UTC+1, Stefano Vanoli ha scritto:
> Ciao a tutti. Access 2003. Ho Maschera1, basata su Tabella1. Maschera1, oltre ad altri controlli, contiene Combobox1 la cui origine è Query1, basata su Tabella2. In Maschera1 ho inoltre un pulsante che apre Maschera2 per immettere/modificare dati di Tabella2. Dall'interno di Maschera1 richiamo Maschera2 effettuo delle aggiunte/modifiche/cancellazioni sui record di Tabella2, effettuo il Requery del Recordset di Maschera2, poi chiudo Maschera2. Se ora clicco su Combobox in Maschera1, non trovo aggiornati i dati di Query1. Posto che il Requery di Maschera2 funziona perfettamente, tant'è che posso immediatamente modificare i dati di un nuovo record immesso oppure cancellarlo, come faccio a rieseguire Query1, in maniera che Combobox1 presenti i dati aggiornati? Grazie per l'aiuto. Stefano



Scusa, non capisco: non devi fare Maschera1.requery? Cosa intendi per "Requery del Recordset di Maschera2", dal momento che i valori di Query1 sono riportati in Maschera1?
Riccardo Baldinotti

Stefano Vanoli

unread,
Feb 24, 2014, 7:10:38 AM2/24/14
to
No.
I valori di Query1 sono riportati solo in Combobox1, dove viene memorizzato l'indice di Tabella2.
E' nella tendina a discesa di Combobox1 che non riesco a vedere l'aggiornamento dei dati.

Stefano Vanoli

unread,
Feb 24, 2014, 8:30:15 AM2/24/14
to


Si contiene Combobox1, ma Combobox1 attinge i dati da Query1, che è basata su Tabella2.
Ora se io modifica Tabella2, ma non rieseguo Query1, i dati di Query1 non risultano aggiornati e quindi anche i dati che popolano Combobox1 non risultano aggiornati.
In pratica devo poter rieseguire Query1 dall'interno di Maschera1

BFS

unread,
Feb 24, 2014, 9:03:47 AM2/24/14
to
Il 24/02/2014 12:07, Stefano Vanoli ha scritto:
> Ciao a tutti.
>
> Access 2003.
>
> Ho Maschera1, basata su Tabella1.
> Maschera1, oltre ad altri controlli, contiene Combobox1 la cui origine è Query1,


>
> Grazie per l'aiuto.
> Stefano
>

devi fare il requery della combo
con me.combobox1.requery e vedrai che si aggiornerà con il nuovo
contenuto della tabella2
lo devi fare dopo aver chiuso la maschera che inseriva i dati nella
tabella2.


oppure...io di solito le combo le popolo quando ci clicco sopra
sono della corrente di pensiero che è inutile chiedere dati per nulla al
database
..quindi sull'evento "su attivata" della combobox1 metto:
me.combobox1.rowsorce="select ... from tabella2"

ciao
BFS








Stefano Vanoli

unread,
Feb 24, 2014, 11:11:23 AM2/24/14
to
Ciao BFS.

In effetti la Combo1.Requery funziona, ma mi capita una cosa oltremodo curiosa.

Prima però alcuni chiarimenti:

la mia Maschera1 è la distinta base per gli articoli in magazzino.
Nella Maschera1 ho perciò una serie di informazioni tipo:

-ARTICOLO PRODOTTO DA
-ARTICOLO DECORATO DA
-ARTICOLO MONTATO/FINITO DA
-ARTICOLO RIPARATO DA
etc. etc.

Ora queste informazioni sono tutte relative alla categoria Fornitori e quindi la mia Tabella2 è la tabella fornitori.
Per ciascuna operazione svolta sugli articoli ho un combobox distinto ([Prodotto_da],[Decorato_da],[Riparato_da] etc.), ma tutti hanno come origine riga la medesima QueryFornitori.

Sulla base di ciò, dovrei aspettarmi che tutti i combo si comportino in maniera esattamente uguale.

Al contrario Combo1 non si aggiorna assolutamente, mentre Combo2, Combo3, ComboN si aggiornano perfettamente, mostrandomi nella tendina a discesa il nuovo fornitore inserito.
Ho provato anche a cancellare il fornitore inserito:
in Combo1 mi compare la riga "# eliminato", mentre in tutti gli altri combo, l'elenco fornitori è perfettamente aggiornato.

Come ti spieghi questa stranezza?

BFS

unread,
Feb 24, 2014, 12:34:44 PM2/24/14
to
Il 24/02/2014 17:11, Stefano Vanoli ha scritto:
> Ciao BFS.
>
> In effetti la Combo1.Requery funziona, ma mi capita una cosa oltremodo curiosa.
>
> Prima però alcuni chiarimenti:
>

> Come ti spieghi questa stranezza?
>

il campo associato a combo1 sicuro sia un id del fornitore come gli
altri cambi?

ciao
BFS

Stefano Vanoli

unread,
Feb 24, 2014, 12:41:11 PM2/24/14
to
Assolutamente si. Li ho generati tutti dal primo con Copia/incolla.
Ho però risolto con la tua istruzione SELECT associata all'evento su attivazione, ma ho anche dovuto aggiungere la stessa istruzione su apertura maschera, altrimenti non mi visualizzava alcun valore nei combo.

Perciò grazie mille!! Ho risolto.

Ciauz
Stefano
0 new messages