Newsgroup: it.comp.lang.visual-basic
Titolo: [VBA] suggerimento sull'uso delle matrici

Salve a tutti,
ho un form con n textbox e due cmdbutton
vorrei che su pressione di cmdbutton1 tutti i textbox visibili diventassero 
invisibili  e  su pressione cmdbutton2 accadesse il contrario (l'esempio č 
stupido ma mi serve per capire come lavorare su un insieme di controlli di 
cui non conosco il numero)
avevo pensato di utilizzare le matrici (a una dimensione  o a due (penso 
due)?) dove all'interno di un ciclo for - next vado a scrivere il nome del 
controlo e il valore della proprietą visible.
ho fatto alcune prove ma mi incastro sulle matrici (l'F1 "Utilizzo delle 
matrici" riporta questi 2 esempi ma non riesco ad adattarli al mio caso)
Dim varData(3) As Variant
varData(0) = "Claudia Leocata"
varData(1) = "Via Lione 8"
varData(2) = 38
varData(3) = Format("06/09/1952", "General Date")
Dim varData As Variant
varData = Array("Massimo Guerra", "Via San Potito 35", 38, _
Format("06/09/1952", "General Date"))
mi potete dare qualche dritta su come usare le matrici?
Grazie
Carla

 Carla
Spero di averti chierito meglio.
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio 
news:efea13af0368563589...@mygate.mailgate.org...

grazie @Alex
il mio post era per generalizzare la cosa:
es1) se volessi all'apertura di un file .xls o .mdb nascondere le tutte 
barre al momento visibili  per poi rimetterle nella condizione in cui le ho 
trovate all'uscita del file come posso fare? al momento mi scrivo il nome di 
ogni barra presente in un foglio di excel, poi faccio un ciclo sui nomi e le 
metto in enabled = false.
al contrario su uscita ripesco il nome delle barre che erano attive e le 
rimetto tali.
.
In excel mi sono arrangiato ma in access o in word dove li memorizzo i nomi 
delle barre che l'utente ha abilitato nel suo programma?, è per questo che 
avevo in mente un array.
ciao
Carla 

 Carla
Cosa sarebbero le Barre....?
Se parliamo dell'Oggetto CommandBar, nonostante non cambi poi molto,
nel senso che hai sempre la Collection CommandBars credo che un semplice
Array non sarebbe la cosa migliore, ma potresti gestire una Private
Type di questo tipo:
Private Type cmbType
   cmbName  as string
   cmbState as boolean
End Type
Private arrCmb()
Ora cicli l'insieme Commandbar e salvi il Nome(che userai 
come indice per la riassegnazione dalla collection) e lo stato.
Quindi per riassegnare cicli l'array  
For x=0 to Ubound(arrcmb())
CommandBars(cmbName(x)).Enabled/Visible=cmbState(x)
Next
Qualcosa del genere....!
Cerca di chiarire sempre bene con termini adeguati quando
parli di oggetti o riferimenti in quanto chi è abituato a
trattare con la terminologia corrente potrebbe interpretare
in modo non corretto la tua richiesta.


 ha scritto nel messaggio 
news:d249b816bdf3fe3fbd...@mygate.mailgate.org...

Grazie, ora ci provo e poi ti faccio sapere. 


CUT
non è un incasinarsi ed un appesantire inutilmente?????
in un modulo
Public sub VisualizzaCTRL(optional VisualizzaComandi as boolean=true)
If VisualizzaComandi=true then
'mostra i comandi
 'complicato come vuoi
'il vantaggio è che puoi centralizzare il tutto
else
'nascondi comandi
endif
end function
Usare con
Command1 (mostra)
VisualizzaComandi
Command2 (nascondi)
VisualizzaComandi False
Però se non sai che form carichi ne che controlli vuoi abilitare...c'è un
trucchetto che (provato io) va velocissimo ed è abbastanza versatile!!!
fatti un config.mdb
dentro una tabella con chiave il nome del form
e fields...tutto quello che vuoi controllare
NomeControllo
Visibile
Colore
DataBinding
etc etc
Con una funzione pubblica a cui passi il nome del form
basta fare un
SELECT * From MyForms WHERE NomeForm='mionome'
e recuperare le info
è comodissimo quando l'utonto ancora non ha deciso l'assetto finale
dell'applicazione perchè non ha le idee chiare nemmeno lui!
e se lavori con ricercatori universitari o con chi fa ricerca in genere...è
frequentissimo che accada!