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

Sottomaschere in una struttura a schede

490 views
Skip to first unread message

Kolore

unread,
Mar 4, 2005, 8:25:18 AM3/4/05
to
Ciao a tutti!

Ho una form contenente una struttura a 5 schede.
Ogni scheda ha una sottomaschera e dovrei fare in modo
che ogni sottomaschera fosse collegata con l'altra.

Es:

1 Sottomaschera Clienti
2 Sottomaschera Filiali clienti
3 Sottomaschera Contatti

ogni cliente può avere piu filiali e ogni contatto ha un
acmpo in cui specifica in che filiale si trova.

Le sottomaschere sono a maschere continue e io avrei
bisogno che se filtro la sottomaschera filiali in
automatico mi filtri anche la sottomaschera contatti in
mdoo tale che mi visualizzi solo i contatti delle filiali
filtrate.

come posso fare per leggere tutti i valori di una mschera
a righe multiple?


Roberto da casa

unread,
Mar 4, 2005, 11:15:56 AM3/4/05
to

"Kolore" <anon...@discussions.microsoft.com> ha scritto nel messaggio
news:2da601c520bd$9bc7d680$a501...@phx.gbl...

>Ciao a tutti!
>
>Ho una form contenente una struttura a 5 schede.
>Ogni scheda ha una sottomaschera e dovrei fare in modo
>che ogni sottomaschera fosse collegata con l'altra.
>
>Es:
>
>1 Sottomaschera Clienti
>2 Sottomaschera Filiali clienti
>3 Sottomaschera Contatti
>
>ogni cliente può avere piu filiali e ogni contatto ha un
>acmpo in cui specifica in che filiale si trova.
>
>Le sottomaschere sono a maschere continue e io avrei
>bisogno che se filtro la sottomaschera filiali in
>automatico mi filtri anche la sottomaschera contatti in
>mdoo tale che mi visualizzi solo i contatti delle filiali
>filtrate.
>

Il modo più semplice per sincronizzare più sottomaschere è quello di
impostare adeguatamente le proprietà Collega campi master e Collega campi
secondari dei controlli sottomaschera che le contengono; basterà poi
modificare il valore dell'oggetto impostato come Collega campi master perché
la sottomaschera venga filtrata da tale valore.
Il fatto poi che le sottomaschere siano contenute o meno all'interno di una
struttura a schede ha poca importanza.

>come posso fare per leggere tutti i valori di una mschera
>a righe multiple?

Cosa intendi con "maschera a righe multiple"?

--
Roberto

-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

kolore

unread,
Mar 7, 2005, 3:46:15 AM3/7/05
to

>-----Messaggio originale---
>.
>


Ciao scusa il ritardo!

Ho provato a impostare i campi master e secondari solo
che se clicco sul generatore mi appare un messaggio che
dice: "Impossibile creare un collegamento tra maschere
non associate". Che significa?

Per righe multiple intendo che vengono visualizzati piu
record in sequenza. La tipica struttura tipo excel.

grazie per l'aiuto!

kolore

anon...@discussions.microsoft.com

unread,
Mar 7, 2005, 4:02:35 AM3/7/05
to

>-----Messaggio originale---
>.
>

kolore

unread,
Mar 7, 2005, 4:12:40 AM3/7/05
to

>-----Messaggio originale---
>.
>

Ho capito perchè non funzionano i collegamenti tra master
e secondari. Per farlo è necessario che anche la form
contenente la struttura a schede sia associata a una
tabella, ma nel mio caso la form generale fa solamente da
contenitore alla struttura a schede e non è associata a
nessuna tabella.

in piu ogni sottomashera ha come origine del record una
diversa query. a me basterebbe riuscire a filtrare i dati
di una sottoquery per i dati presenti in un'altra.
il mio problema è che con le maschere continue non posso
trovarmi il valore da filtrare scrivendo "forms!
sottomaschera!txtvalore.value" perchè essendo a righe
multiple mi restituisce piu valori per lo stesso campo.
E come faccio a leggerli tutti?

kolore

Roberto da casa

unread,
Mar 7, 2005, 5:38:54 AM3/7/05
to

"kolore" <anon...@discussions.microsoft.com> ha scritto nel messaggio
news:524601c522f5$d00afc80$a401...@phx.gbl...

>>Ciao scusa il ritardo!
>>
>>Ho provato a impostare i campi master e secondari solo
>>che se clicco sul generatore mi appare un messaggio che
>>dice: "Impossibile creare un collegamento tra maschere
>>non associate". Che significa?
>>
>>Per righe multiple intendo che vengono visualizzati piu
>>record in sequenza. La tipica struttura tipo excel.
>>
>>grazie per l'aiuto!
>>
>>kolore
>
>

>Ho capito perchè non funzionano i collegamenti tra master
>e secondari. Per farlo è necessario che anche la form
>contenente la struttura a schede sia associata a una
>tabella, ma nel mio caso la form generale fa solamente da
>contenitore alla struttura a schede e non è associata a
>nessuna tabella.
>

Quello che non è possibile è solamente impostare le due proprietà di cui
sopra con il generatore di espressioni che in questo caso segnala un errore
a torto, infatti è sicuramente possibile impostare la proprietà Collega
campi master anche nel caso in cui la maschera principale è NON Associata:
inserisci nella maschera principale NON associata una casella di testo NON
associata, poi scrivi a "manina santa" il nome di tale casella di testo
nella proprietà Collega campi master e scrivi nella proprietà Collega campi
secondari il nome del campo della tabella o query che è origine record della
sottomaschera, campo in base al quale vuoi effettuare la sincronizzazione
tra maschera principale e sottomaschera; a questo punto ti posso garantire
che la sottomascherà risulterà filtrata dal valore inserito nella casella di
testo non associata di cui sopra, quindi ogni volta che modificherai tale
valore cambierà il contenuto della sottomaschera.

>in piu ogni sottomashera ha come origine del record una
>diversa query.

Questo non è certo un problema visto che hai una sottomaschera continua per
ogni maschera o query: insomma sarà sufficiente che nella maschera
principale non associata tu inserisca tante casella di testo non associate
(meglio non visibili, così non le vedi) quante sono le sottomaschere e
quindi i controlli sottomaschera; inserirai il nome di ognuna di questa di
queste casella non associate come Collega campi master di un determinato
controllo sottomaschera.

> a me basterebbe riuscire a filtrare i dati
>di una sottoquery per i dati presenti in un'altra.
>il mio problema è che con le maschere continue non posso
>trovarmi il valore da filtrare scrivendo "forms!
>sottomaschera!txtvalore.value" perchè essendo a righe
>multiple mi restituisce piu valori per lo stesso campo.
>E come faccio a leggerli tutti?

Se hai creato una struttura di maschera/sottomaschere come ti ho suggerito
qui sopra, a fronte dell'evento "Su corrente" di ogni sottomaschera devi
impostare il valore della casella di testo non associata che è indicato come
Collega campi master della sottomaschera gerarchicamente immediatamente
inferiore; così facendo sicuramente la prima sottomaschera sincronizzerà la
seconda sottomaschera, che a sua volta sincronizzerà la terza sottomaschera
e così via.
Ti ricordo che le proprietà Collega Campi master e Collega campi secondari
può contenere più di un nome di oggetto (campo o controllo) scanditi da una
virgola. Pr maggiori dettagli leggiti l'help.

>
>kolore

kolore

unread,
Mar 7, 2005, 9:01:07 AM3/7/05
to

>-----Messaggio originale---
>.
>

Purtroppo il sucorrente non basta perchè io ho bisogno di
leggere contemporaneamente tutti i record visualizzati in
una query e utilizzarli come filtro per l'altra.

ho pensato di utilizzare questa funzione:

totale = me.count
totale = totale - 2

for i = 1 to totale
docmd.gotorecord acformdata, nomeform, acgoto, i
filtro = filtro & "and idcliente = " & me!txtcliente
next i

che ne pensi?

Roberto da casa

unread,
Mar 7, 2005, 10:29:49 AM3/7/05
to

"kolore" <anon...@discussions.microsoft.com> ha scritto nel messaggio
news:4f9601c5231e$1bc3e060$a601...@phx.gbl...
[CUT]

>
>Purtroppo il sucorrente non basta perchè io ho bisogno di
>leggere contemporaneamente tutti i record visualizzati in
>una query e utilizzarli come filtro per l'altra.
>
>ho pensato di utilizzare questa funzione:
>
>totale = me.count
>totale = totale - 2
>
>for i = 1 to totale
> docmd.gotorecord acformdata, nomeform, acgoto, i
> filtro = filtro & "and idcliente = " & me!txtcliente
>next i
<
>che ne pensi?

Non è che abbia capito molto bene cosa faccia questo codice VBA: comunque
l'unica cosa è che tu lo provi e se funziona i miei commenti sono a dir poco
inutili.
Se nvece non funziona, fossi in te cercherei di assimilare meglio la mia
soluzione.

anon...@discussions.microsoft.com

unread,
Mar 7, 2005, 10:44:17 AM3/7/05
to

>-----Messaggio originale---
>.
>

ok! grazie per l'aiuto.


0 new messages