Newsgroup: it.comp.appl.access
Titolo: Problema con maschere continue

Ciao a tutti. Ho esposto questo problema anche ieri, ma forse l' ho fatta
troppo complicata .
Ho una maschera che ha come origine una query. In tale maschera ho la
necessità di visualizzare un' immagine prelevata da una cartella esterna al
DB.
Tale immagine varia a seconda dei dati nella maschera ( risultanti dalla
query ). Premetto che per la parte dati tutto funziona a dovere. Per la
visualizzazione dell' immagine ho un controllo immagine ed il seguente
codice VBA:
Private Sub Form_AfterUpdate()
    Me!Colore.Picture = "C:\VJ srl\Colori\" & CartellaColori & CodiceColore
& ".jpg"
End Sub
Private Sub Form_Current()
    Me!Colore.Picture = "C:\VJ srl\Colori\" & CartellaColori & CodiceColore
& ".jpg"
End Sub
Se io visualizzo la maschera come maschera semplice la cosa funziona : ogni
volta che premo il selettore di record tutto viene aggiornato, immagine
compresa.
Il problema sorge perchè ho la necessità di visualizzare come maschere
continue : i dati vengono aggiornati ( perchè provenienti dalla query ) ma
l' immagine no.
Mi vengono per ogni visualizzazione la stessa immagine , quella cioè
corrispondente alla prima serie di dati. Questo perchè visualizzando come
maschere continue non ho il selettore di record. Come posso fare ?
Giuliano

 ha scritto nel messaggio
news:9brpjf$5qa$1...@lacerta.tiscalinet.it...

Nel Corpo di una maschera con visualizzazione a Maschere continue, si
possono usare solamente controlli associati a campi dell'oggetto che è
origine record della maschera (nel tuo caso la query).
Poiché i controlli immagine sono per definizione non associati, non puoi
usarli nel corpo della tua maschera, così come non potresti usare caselle di
testo non associate, caselle combinate non associate ecc.
Puoi invece inserire il controllo immagine Colore nell'intestazione della
tua maschera; in esso ti verrà visualizzata l'immagine relativa al record
corrente e spostandoti con il selettore dei record da un record all'altro
vedrai visualizzate le varie immagini; resta il fatto che vedrai una sola
immagine alla volta.
Quanti sono al massimo i record contenuti nella query? Se non sono
moltissimo forse puoi visualizzarli tutti contemporaneamente in una maschera
non associata (che non ha l'origine record) popolando i controlli non
associati della maschera aprendo un recordset sulla query, scorrendolo e
trasferendo i valori dei campi del recordset nei valori dei controlli della
maschera; naturalmente per le immagini trasferirai i path nelle proprietà
Picture dei vari controlli immagine; se non ricordo male una cosa del genere
viene realizzata nel database di esempio del Sito Comune da Silvio Savoldi
dove, visualizza contemporaneamente 4 immagini in altrettanti controlli
immagine.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 > troppo complicata .
[cut]

Premetto che non ho mai lavorato con le immagini! Forse quello che dico
non ha senso.
Non si potrebbe associare alla proprieta' Picture dell'oggetto Colore
un'espressione, in modo che non sia l'evento corrente ma la formattazione
stessa della maschera continua a cambiare l'immagine? Qualcosa tipo il
cambiamento del colore tra righe nell'esempio sul sito comune? Magari
associando una funzione :
Private Sub Form_Open()
    Me!Colore.Picture = "=Trova_Immagine(CartellaColori, CodiceColore)"
End Sub


Non mi sento di escludere a priori che esista un "marchingegno" che dia
soluzione al proplema, ma qualche dubbio ce l'ho.
Resta il fatto che un controllo immagine, non potendo mai essere associato,
non ha la proprietà origine record.
Di contro per le maschera non esiste l'evento su formattazione come per i
report.
D'altra parte i controlli non associati, per definizione, non sono associati
al campo di un preciso record ma alla maschera, e la maschera è una, anche
se la poi la visualizzi contemporaneamente nel monitor del computer più
volte; da questo si desume che, modificando le proprietà di un determinato
controllo non associato, gli effetti si riperquotono nella stessa maniera in
tutte le visualizzazioni della maschera che compaiono sullo schermo.
Questa volta mi piacerebbe tanto di non aver ragione; sia per Giuliano, ma
anche per risolvere un problema analogo in un mio database; io ho risolto
mettendo nella maschera continua un pulsante di comando che mi apre una
seconda maschera sincronizzata che mi fa vedere la foto: è un pò quello che
si ottiene, come ho suggerito a Giuliano, inserendo il controllo immagine
nell'intestazione della maschera. In ambedue i casi però si riesce a
visualizzare una sola immagine alla volta, che mi sembra di capire non è
quello che serve a Giuliano.
Resta però il fatto che, poichè Giuliano non deve visualizzare una foto
bensì una immagine con un certo colore, forse si può cercare di risolvere il
problema con la soluzione proposta sul Sito Comune da Graziano Mario Valenti
nella sua FAQ titolata "In modalità maschere continue è possibile
visualizzare un controllo colorato diversamente a seconda del suo contenuto?
(2)".


Salve a tutti. E' possibile in un sottomaschera a maschere continue
riferisrsi a un solo controllo?
Es. una casella combinata del record corrente nella sottomaschera magari per
impostare la proprietą origine della riga differente dalle altre (rec1,
rec2...?)