Sarebbe molto utile nella consultazione di database con record strutturati a
schede ove queste non siano sempre compilate.
Ciao.
Stefano
Puoi solo modificare il testo delle etichette delle schede.
Puoi anche scegliere una via alternativa, ma bisogna vedere se ne vale la
pena: puoi utilizzare una serie di maschere sovrapposte ed una relativa
serie di etichette di testo. Al click su un'etichetta visualizzi la form
corrispondente e nascondi le altre.
> Sarebbe molto utile nella consultazione di database con record
> strutturati a schede ove queste non siano sempre compilate.
Potresti anche utilizzare una serie di controlli non associati che formatti
e visualizzi a seconda del verificarsi di certe condizioni.
Ovviamente intendo dire che questi controlli dovrebbero essere visualizzati
esternamente alla struttura a schede.
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution
Il consiglio di Gabriele mi sembra ottimo nel senso di utilizzare un
controllo non associato (io userei una piccola immagine rotonda e rossa) che
visualizzi o meno a seconda dei casi.
Altro discorso è sapere se tutti i controlli sono stati valorizzati.
In questo caso devi creare un ciclo di for per verificare tale condizione.
Siccome non hai modo di sapere quali controlli appartengono ad una scheda
piuttosto che ad un'altra a meno che tu abbia inserito delle sottomaschere,
ti consiglio di utilizzare la proprietà "Tag" dei controlli, scrivendo su
ciascun tag il valore della scheda corrispondente della struttura a schede.
Così facendo nel ciclo di for potrai "capire" di quali controlli stiamo
parlando.
Riepilogando:
supponiamo che la "struttura a schede" ha 5 schede, al disopra di ciascuna
di esse metti 5 controlli (piccole immagini a cerchio rosso o quello che ti
pare) nascosti; crei un ciclo di for che "cicla" tra i controlli valutando
il tag...se un solo controllo di quel gruppo di tag è vuoto, "accendi"
(visible) il cerchietto nascosto.
Se poi ti basta modificare il testo delle etichette della struttura a
schede...allora rimane valido tutto il discorso tranne che al posto di
visualizzare il cerchietto cambi il testo dell'etichetta...magari
aggiungendo un paio di asterischi prima e dopo.
In ultimo e fermo restando tutto il discorso su tag e ciclo di
for...potresti anche cambiare l'icona associata (proprietà picture della
pagina).
Che te ne pare?
Ciao, Carlo
> > è possibile modificare l'etichetta di una scheda, ad esempio cambiando
> > il colore del testo, dello sfondo o mettendola in grassetto oppure cambiarla
> > inserendo per esempio un asterisco, insomma evidenziare in qualche modo il
> Puoi solo modificare il testo delle etichette delle schede.
In A97 ci sono una serie di proprietà e metodi validi per i controlli
a schede... vista l'uniformità di risposta tua e di Carlo, per caso li
hanno tolti nelle versioni successive? O sta sfuggendo qualcosa a me?
> Puoi anche scegliere una via alternativa, ma bisogna vedere se ne vale la
> pena: puoi utilizzare una serie di maschere sovrapposte ed una relativa
> serie di etichette di testo. Al click su un'etichetta visualizzi la form
> corrispondente e nascondi le altre.
Io per avere lo sfondo di colore diverso in ogni pagina del controllo
a schede ho fatto così:
- controllo a schede trasparente
- rettangolo DIETRO al controllo a schede; che all'apertura della
maschera assume stessa posizione e dimensioni del controllo a schede
- Associato un colore ad ogni numero di linguetta
- Ad ogni click sulle linguette, il rettangolo "di sfondo" assume il
colore stabilito al punto precedente
> > Sarebbe molto utile nella consultazione di database con record
> > strutturati a schede ove queste non siano sempre compilate.
>
> Potresti anche utilizzare una serie di controlli non associati che formatti
> e visualizzi a seconda del verificarsi di certe condizioni.
Boh, questo ciclo da me (A97) restituisce i controlli situati in ogni
page del controllo a scheda:
(schede1 = nome controllo a schede presente in una maschera)
dim i%
dim ctl as access.control
for i = 0 to me.schede1.pages.count
for each ctl in me.schede1.pages(i).controls
' per sapere quanti controlli stanno in una pagina c'è la
proprietà apposta
' me.schede1.pages(i).controls.count
if isnull(ctl.value) then
' se almeno un controllo è null, dovrebbe fare qualcosa
exit for
end if
next ctl
next i
Poi mi pare di ricordare che ci sono anche le proprietà Picture e
PictureData, per eventuali immagini presenti nella caption di ogni
pagina.
Io non le ho mai usate sui controlli a schede; ed ora non ho Access a
disposizione; ma .Picture e .PictureData dovrebbero essere
modificabili a runtime.
ciao,
Panathos
Boh, questo ciclo da me (A97) restituisce i controlli situati in ogni
page del controllo a scheda:
(schede1 = nome controllo a schede presente in una maschera)
-------------------------------------
Hai perfettamente ragione Fabrizio.
cut
ciao,
Panathos
Ciao, Carlo
> (schede1 = nome controllo a schede presente in una maschera)
> -------------------------------------
> Hai perfettamente ragione Fabrizio.
Questo è irrilevante; temevo avessero cambiato il controllo a schede!
ciao,
Panathos
cercherò di metterli in partica, ma data la mia scarsa conoscenza di VBA, se
non funzionerà vi chiederò consulenza in merito (il tutto almeno dalla
prossime settimane, adesso sono in ferie!!)
Ciao, Stefano
P.s. con che istruzione si cambia l'etichetta della scheda?
(Omississ)
>In A97 ci sono una serie di proprietą e metodi validi per i >controlli
>a schede...
Ad esempio?
>ciao,
>Panathos
Ciao.