controlli su form



  • controlli su form
    di accordix (utente non iscritto) data: 02/09/2014 10:48:17

    Mi chiedevo, avendo un elenco di nominativi non sempre uguali di numero, come fare per farli visualizzare su un form, tipo un elenco dinamico. Ma per fare questo dovrei aggiungere o togliere label, e, forse, excel da solo non lo fa. O sbaglio?



  • di lepat (utente non iscritto) data: 02/09/2014 10:59:06

    si può fare, allega un file di esempio e spiega bene cosa vuoi ottenere dopo la visualizzazione



  • di accordix (utente non iscritto) data: 02/09/2014 11:21:44

    Allegato il file

    ci sono 3 fogli con dei nominativi che cambiano di numero.
    Quello che vorrei fare e che a seconda della scelta del mese mi esce un form con i nominativi del foglio e relative caselle di testo dove metto lo status del nominativo per quel giorno. P per presente, A per assente, R per riunione, D per distaccato.
    Spero di essere stato chiaro




  • di Lucas87 data: 02/09/2014 12:03:09

    Ciao
    A me era capitata una cosa simile.
    Ho risolto creando un form con più elementi (dovresti conoscere il numero massimo)
    A seconda del caso poi si va a rendere visibili solo quelli che interessano:
    Es.
    si legge il foglio e si compila un array con i nominativi
    si rendono visibili solo gli elementi necessari (10 nomi=10 elementi) e invisibili gli altri
    si cambia il nome dell'etichetta andando a leggere l'array scritto prima.
    è leggermente diverso dalla situazione che avevo io ma credo si possibile.

    In alternativa si può, per ogni nominativo, mostrare il form con una sola casella e con una sola etichetta che cambia a seconda del nominativo



  • di Lucas87 data: 02/09/2014 12:04:50

    Visto poi che le scelte possibili sono limitate, invece di una casella di testo si potrebbero usare i pulsanti opzionali (i pallini che permettono una sola selezione per volta)



  • di accordix (utente non iscritto) data: 03/09/2014 14:42:57

    allora il discorso e' un po piu complesso ho allegato quel file d'esempio cercando di ridurre il tutto ma forse ho ridotto troppo.
    Ho un form su cui ci sono un controllo calendario un lista di nomi e 2 option button associati a ognuno di questi (presente / assente)
    ogni giorno ci sta il salvataggio della situazione dei presenti su un foglio.
    Di solito sono sempre gli stessi individui ma capita come in tutte le aziende che del personale viene spostato in altro ufficio per cui viene cancellato da ufficio A e viene caricato dall'ufficio B. a me servirebbe che sul form andassero solo i nominativi che ho in elenco nell'ufficio.
    ho messo in allegato un immagine del form se puo servire



  • di Zer0Kelvin data: 03/09/2014 18:33:49

    Ciao.
    Solo un suggerimento: io in questi casi, piuttosto che creare una serie di controllli tutti uguali preferisco utilizzare una listbox collegata ad una sola serie di controlli.
    Nel form avremmo, a questo punto, una listbox con i nominativi, più una textbox e due optionbutton(oppure solo gli optionbutton) che vengono valorizzati in base al nominativo selezionato nella listbox e viceversa.



  • di Zer0Kelvin data: 03/09/2014 18:36:02

    PS: un controllo calendario lo puoi trovare qui:
    ://sites.google.com/site/e90e50/calendar-control-class



  • di Lucas87 data: 04/09/2014 09:13:06

    Ciao
    Ho creato un file come esempio. "Form in base a elenco - Lucas87.xls"
    Può gestire 10 nomi.



  • di accordix (utente non iscritto) data: 04/09/2014 09:14:56

    Sicuramente con un listbox potrei risolvere ma puo succedere che si salti qualcuno per cui quel giorno viene riportato assente quando in realta e' presente.

    Ma proprio non si riesce a aggiungere o togliere controlli su un form da codice????

    x Zer0Kelvin : grazie per il controllo e per il sito molto interessante



  • di Lucas87 data: 04/09/2014 09:49:08

    Ciao
    Per creare i controlli esiste Controls.Add
    Ho fatto un paio di prove e mi sembra di capire che la difficoltà maggiore sia definire la posizione degli elementi.
    Inoltre i pulsanti opzionali devono essere messi in un Frame per ciascun nominativo e non ho idea di come si faccia con quel sistema



  • di accordix (utente non iscritto) data: 05/09/2014 07:25:10

    x Lucas
    Non avevo notato il tuo intervento appena un attimo prima del mio.
    Cmq ho dato uno sguardo al file e penso che potrei risolvere in questo modo
    appena torno al lavoro faro un po di prove

    Ciao e grazie



  • di Lucas87 data: 05/09/2014 09:10:54

    Il problema principale del mio foglio è la costruzione del form.
    Deve essere rispettato un certo ordine.
    Il concetto di base è che l'indice di riferimento degli elementi del form dipende dall'ordine con cui vengono creati.
    Nel mio caso ho creato prima le intestazioni e i pulsanti; poi il frame con l'etichetta per il nome e i due pulsanti opzionali e alla fine, selezionando il frame e tenendo premuto Ctrl ho fatto la copia.
    Nel mio foglio c'è una routine che permette di vedere l'ordine degli elementi. È utile per capire come cambiare i riferimenti del codice in modo da agire sui giusti componenti.
    Sembra un casino ma una volta capito il concetto il resto è abbastanza semplice.



  • di Lucas87 data: 08/09/2014 16:34:20

    Ciao
    Dato che l'idea di aggiungere controlli in automatico mi ha incuriosito, ho fatto delle prove e sono arrivato a ottenere quello che chiedevi.
    Non so se hai già risolto...io comunque allego il risultato.
    Aggiungere controlli form - Lucas87.xls