Newsgroup: it.comp.appl.access
Titolo: Come creare array di controlli ???

Ma con Access non e' possibile usare gli array di command button, combo box, 
textbox ???
Ho cercato sull'help ma non c'e' traccia della parolina magica 'array'
E pure sulle proprieta' dei controlli non trovo il classico Index o qualcosa 
di similare
Possibile che non si possa fare ?
E quando bisogna mantenere molti controlli dello stesso tipo su una maschera 
come si fa ???
Ciao e grazie
RobertoA

 RobertoA
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 l'indicizzazione.
Grazie, ho provato e funziona per quanto riguarda metodi e proprieta'
Pero' per gli eventi, ogni controllo risponde ancora ai propri e quindi se 
devi intercettare la pressione di 50 command button, devi scrivere su 50 
keydown lo stesso codice
E' possibile anche creare degli eventi comuni a tutti i 50 command button ?
Forse mi sfugge qualcosa
Ciao
RobertoA

 RobertoA
Per questo si usano le classi le Collection e le interfaccie ma sono
concetti più da Vb che da VBA....
Vedi questo:
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=271
@Alex

 Forse mi sfugge qualcosa
E' possibile risolvere in vari modi: il più semplice è invocare una funzione
(locale o globale) inserita nell'evento che ti serve degli N controlli.
Saluti.


Si, ma cosi devi metterci la righina di richiamo della funzione sui 50 (per 
esempio) controlli
Oltre al codice necessario per trappare gli errori e quindi diverso per ogni 
controllo
Troppo, troppo
Ciao e grazie
RobertoA



Vedi questo:
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=271
@Alex
-----------------------------------
Ecco, questo era il codice di cui avevo bisogno
Grazie
RobertoA

 Troppo, troppo
Spero tu stia scherzando, o abbia iniziato l'altro ieri ad utilizzare il
prodotto...
Ti basta selezionare i 50 controlli e in struttura, su evento che
t'interessa, richiamare la funzione!
In rapporto al trapping degli errori, hai idee confuse, parliamo di cose
diverse, o hai capito male sul come indexare i nomi dei controlli per
simulare l'array.
Se questa soluzione non ti va bene, per tue masturbazioni celebrali,
utilizza WithEvents come ti suggerisce Alessandro.
Ma per favore cerca di tenere nel ng. un atteggiamento più tranquillo.
Saluti.


Non sto scherzando.
Conosco la possibilita' di inserire su evento di tanti controlli il fatto e' 
che non e' possibile farlo se non li hai tutti visibili contemporaneamente 
nella stessa form
E se sono in un controllo 'struttura a schede' non sono visibili 
contemporaneamente
Ma a parte il problema contingente da risolvere, volevo capire come si 
procede per avere un array di controlli dello stesso tipo
Mi spiace se ho usato parole o un tono incongrupo col ng.
Mi fai capire DOVE non avrei tenuto un atteggiamento piu' che tranquillo ?
Grazie
RobertoA

 Mi fai capire DOVE non avrei tenuto un atteggiamento piu' che tranquillo ?
Ma no, lascia perdere: in fin dei conti potendo solo leggere il testo, si fa
presto a travisare le intenzioni.
Saluti: Simone

 Mah: non ti seguo.
Nel senso, se hai 50 command button, dentro un controllo 'struttura a 
schede', divisi 5 per scheda, 10 schede in tutto
Il lavoro di selezione controlli ed inserimento funzione nell'evento 
opportuno lo devi fare per 10 volte
In questo senso 'visibili', volevo dire selezionabili in un certo istante
Ciao
RobertoA

 In questo senso 'visibili', volevo dire selezionabili in un certo istante
Ah, in quel senso...
Cosa vuoi che ti dica: dato che il lavoro va fatto una volta sola, non
vedevo il problema.
Saluti.


Si, va bene, pero' romperebbe le balle non riuscire a fare una cosa che in 
futuro ti potrebbe servire
Anzi, servira' sicuramente
Comunque la soluzione del problema sta nel link indicato da Baraldi poco 
sopra
Ciao
RobertoA

 sopra
O meglio, l'altra classica soluzione del problema con WithEvents...
Saluti.

 ha scritto nel messaggio
news:465000b0$0$36442$4faf...@reader5.news.tin.it...

MMmmm beh se la guardi bene non è proprio così classica...


 MMmmm beh se la guardi bene non č proprio cosě classica...
Sě, l'ho guardato: non č classico, ma č troppo complesso per risolvere una
casistica sostanzialmente banale.
Il problema della simulazione di un array di controlli si puň risolvere in
maniera semplice o col suggerimento che fornivo, o con un utilizzo
elementare di WithEvents.
Anche la variante pubblicata su tua area:
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=85
č ottima...
Saluti.

 Saluti.
Certo Simone ci sono un sacco di metodi per fare tutto...
Personalmente mi oriento sempre verso OOP anche per affinità di
ragionamenti con altri linguaggi.
@Alex







ragionamenti con altri linguaggi.
Basta una risposta!    ;-)
Nella fattispecie, comunque, sono perplesso per una semplice ragione: il
problema in oggetto è così frequente e importante che si *deve* cercare la
soluzione più semplice e lineare possibile.
Quella che hai implementato è poco pratica, anche in considerazione del
fatto che esistono soluzioni "OOP" (nel senso relativo che la definizione ha
in Access) molto più semplici.
Sul sito di karl Don., se non ricordo male, è disponibile nel download CISA1
un classico, facile esempio di Marco Pizzamiglio basato su WithEvents.
Perchè complicare una cosa tanto facile?    :-)
Saluti.


No Simone stai facendo confusione, nel senso specifico i 2 esempi si
prefiggono 2 cose diverse.
Se vuoi ribaltare l'evento sulla Form Chiamante dopo aver istanziato
una classe per ogni oggetto e messe in una Collection non hai molte
possibilità e gestire sempre l'evento specifico nella classe non
sempre è possibile, o meglio ti costringe a sviluppare una logica
generica nella classe, ma questo metodo è decisamente contrario alla
programmazione OOP.
Allora se l'uso della Classe si limita ad azioni che sono STANDARD per
tutti i controlli convengo che la singola Classe+Collection sia la
soluzione, contrariamente qual'ora si debba sviluppare un codice che
gestisca le varianti quindi condizionare Azioni in base all'evento
dello specifico Controllo, questo non può essere inserito nella
Classe(poi ognuno vede OOP come crede) che non prevede relazioni con
le altre istanze, ma deve essere gestito lato Form o lato
ClasseParent....
Se fai attenzione le collection di tutti i linguaggi di programmazione
funzionano come ti ho detto, in particolare in VB giusto per affinità
e similitudine ci sono gli Eventi di ControlArray indicizzati che
ribaltano nella Form gli eventi dell'array, e li effettui la gestione
di condizionamento.
Fai attenzione che non stò smentendo quello che dici, ma ritengo tu
abbia sottovalutato le differenze delle 2 metodologie in relazione
allo scopo ritenendo complessa una soluzione rispetto all'altra quando
in realtà sono 2 cose estremamente diverse....
@Alex

in realtà sono 2 cose estremamente diverse....
Mi sono espresso male e la discussione (giustamente) prende un'altra piega
:-)
Quello che intendo esprimere è un'altra cosa: se un problema assai
ricorrente ammette una soluzione semplice, questa *dev'essere* privilegiata.
In una grossa procedura che già "di suo" prevede vagonate di codice, puoi
permetterti di cercare soluzioni arzigogolate a problemi semplici?
Direi di no...
Del resto se analizzo il codice di alcuni notevoli lavori (ma
intrinsecamente complessi) pubblicati su tuo sito, noto che hai saggiamente
rinunciato a soluzioni più o meno OOP, che avrebbero richiesto la
dispersione del codice su più moduli.
Ad esempio l'editor di personalizzazioni o lo strumento di filtro pubblicato
recentemente.
Saluti.


Certo Simone, e concordo con quanto dici, ritengo infatti che la
scelta debba essere fatta solo a fronte della consapevolezza non solo
dell'esigenza, ma soprattutto dei metodi di approccio.
Il demo che ho suggerito, nel caso di gestione di Event(ControlArray)
è il metodo più comodo, a mio avviso, per questo l'ho suggerito, ciò
non è in contraso con quanto dici, e se l'esigenza di "RobertoA" in
questo caso, fosse limitata a quanto prima espresso il tuo
suggerimento è sicuramente più indicato.
Insomma vedrà lui come approfittare dei 2 esempi ed in che modo.
L'uso di Classi in modo massiccio è principalmente un metodo di
approccio che spesso poco si sposa con Access, ma forse sarebbe meglio
dire con Accessisiti, per vari motivi.... e credo motivati nella
maggiorparte dei casi(come quanto dici tu ora).
Penso che il modo di sviluppare possa dipendere molto dal bagaglio
personale nonchè dalla tipologia di quuello che ognuno di noi
sviluppa... nel mio caso, forse ha inciso molto il VB applicato ad
applicativi non commerciali...(intendo non volti al gestionale) ed ora
mi trascino un pò questo modo di sviluppare.
Stà di fatto che Net(cito Net perchè credo sia un passaggio obbligato
per chi sviluppa gestionali... ma anche altri linguaggi) ti obbliga ad
avere un'approccio
a OOP molto spinto.
Ciao
@Alex

a OOP molto spinto.
Beh, basta smacchinare con esempietti tipo "Hello World" per vedere
l'approccio di .NET ... ma in questo ng. si parla di Access!    :-)
Ovvero un prodotto "basato su oggetti" ma non "a oggetti".
Il che, all'atto pratico, non implica nulla di disdicevole...        :)
Saluti.

per chi sviluppa gestionali... ma anche altri linguaggi)
Pardon: questa non m'era sfuggita.
Alessandro: .NET sarà un passaggio "obbligato" per chi sviluppa gestionali
con Access, solo quando Access non esisterà più o avrà una struttura
compatibile con linguaggi NET.
Il che, al di là di qualunque considerazione teorica, non è imminente (e ne
puoi avere conferma frequentando il blog di Covington).
Saluti.


Queste sono, ritengo, opinioni troppo personali, e condizionate dalle
esperienze personali e professionali lavorative, pertanto non mi sento
nè di smentire nè di avvallare.... il mio punto di vista è che nel
breve ci si impone di non fare passi così drastici, perchè ovviamente
il cambiamento è un danno... ma non sò quanto questo realmente possa
essere sostenibile.
Il mercato è in piena concorrenza e tu "Simone Calligaris"(per
esempio) non puoi certo imporre al mercato l'uso di uno strumento
piuttosto che un'altro(se vuoi lavorare...) ma sarà il mercato
dell'informatica(che spesso si chiama Microsoft) che ti obbligherà ad
adeguarti...  e tu lo farai con i tuoi tempi.
Magari A2007 è già il futuro e tu sei allineato... come giustamente
pare dire Convington... la mia infatti è una considerazione generale.
L'esempio più ecclatante è il Referendum proposto da moltissimi dei
più famosi Sviluppatori VB6.... sai quante illustri adesioni ha
avuto.... bene quelli però si sono messi già da subito a sviluppare in
NET... (dici che sia solo per curiosità...?)
;-)
Diamo tempo al tempo... e tutte queste considerazioni prenderanno la
giusta piega.
@Alex

NET... (dici che sia solo per curiosità...?)
Eh, eh: il fatto è che, a differenza di quanto scrivi, la maggioranza
continua a utilizzare il vecchio Visual Basic.
Non farti fuorviare dai cazzeggi su iclvb, la stragrande maggioranza dei
pacchetti commerciali sviluppati negli anni 90 in VB, continuano a essere
distribuiti con quella tecnologia.
Provare per credere...
Saluti.

 Saluti.
Quello che ho riportato non esce dalla frequentazione di ICLVB ma da
un paio di conversazioni avute con sviluppatori di VB... e leggendo
pure NG Yankyes.... ti accorgerai che non è così come molti la
dipingono... anche se c'è molta riluttanza.
In ogni caso io mi adatto, o meglio per alcune delle mie esigenze
Access va bene, dove non va bene access uso VB6 e quando sarò
obbligato mi metterò ad usare quello che serve...
@Alex

dipingono... anche se c'č molta riluttanza.
... io mi baso semplicemente su quello che vedo installato sui computers
aziendali.
Cinque anni fa non avrei mai pensato che nel 2007 si sarebbe trovato ancora
tanto software in Vb6.
Saluti.

 Saluti.
@Alex

ha provato ad entrare ma è uscito prima di entrare...
E' così ma ... considera che almeno l'80% degli sviluppatori professionisti
lavorano in ambito gestionale...
Saluti

Come dicevo le opinioni in merito sono troppo dipendenti dal proprio
mondo... potrei portarti altrettanti esempi nel mondo industriale(non
gestionale) in cui VB6
ha provato ad entrare ma è uscito prima di entrare...
---------------------------------------------------
A che prodotti / sistemi ti stai riferendo ?
Ciao
rtoA

 ha scritto nel messaggio
news:4655...@newsgate.x-privat.org...

C/C++



Non conosco le percentuali ma posso credere sia come dici....
