userform

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Daniele Lucini
00venerdì 16 dicembre 2016 12:17
Salve ho fatto un userform per inserire i dati premetto che non conosco VB l'ho guardato su internet.
per quanto riguarda l'inserimento funziona e va benissimo
ma vorrei aggiungere un pulsante di ricerca e di navigazione nel foglio
con la possibilita una volta trovato il record desiderato di poterlo modificare [SM=x423051]
GiuseppeMN
00venerdì 16 dicembre 2016 12:54
Buona giornata, Daniele;
preliminarmente Ti consiglierei di inserire un File senza dati sensibili.
Contestualmente mi permetto di consgliare gli Amministratori di cancellare i File proposti in #1; i File contengono Dati sensibili come indirizzi mail e numeri di telefono.

Fatto ciò, assieme, potremo procedere per sistemare UserForm come da Te richiesto.



A disposizione.

Buon Lavoro e buona serata.

Giuseppe



Daniele Lucini
00venerdì 16 dicembre 2016 13:30
ti ringrazio per l'aiuto
il file che ho inserito è vuoto non ci sono dati solo le voci
Daniele Lucini
00venerdì 16 dicembre 2016 13:32
riesci ad aiutarmi a inserire le nuove funzioni?
Daniele Lucini
00venerdì 16 dicembre 2016 13:38
grazie ho provveduto a cancellare i dati
alfrimpa
00venerdì 16 dicembre 2016 13:59
Daniele il file ancora non c'è.

Oltre a cancellare i dati sensibili inseriscine di fittizi.

Inoltre, poichè quello che chiedi presuppone l'utilizzo anche intensivo del VBA, come faresti a gestire in futuro eventuali problematiche/modifiche visto che dichiari di non conoscerlo?

Potresti anche utilizzare il Modulo Dati che è una sorta di userform già disponibile in Excel che, seppur con operatività limitata, consente di fare quello che chiedi senza scrivere codice.

Comunque, come richiesto, allega un file di esempio.

P.S. Se vuoi saperne di più sul Modulo dati guarda qui

https://support.office.com/it-it/article/Aggiungere-modificare-trovare-ed-eliminare-righe-tramite-un-modulo-dati-9443c80d-66c6-4c17-b844-64aac5ae841d
Daniele Lucini
00venerdì 16 dicembre 2016 14:09
ma dopo riesco a capire anche questo che ho fatto ho guardato tutorial e poi me lo sono sitemato.

ecco un file di esempio
dove vorrei aggiungere la funzione cerca record magari sotto la ricerca una finestra che mi permetta di selezionare la rica in caso di doppi nella ricerca per poi cosi poter modificare il record esitente
alfrimpa
00venerdì 16 dicembre 2016 14:30
Ho visto il file.

La ricerca va fatta per codice (o altro dato univoco come PIVA o CF) in modo da non avere dati doppi.

La tabella dati non deve avere colonne vuote.

Il campo CODICE (o PIVA o CF) deve essere il primo a sinistra della tabella in modo che con del cerca.vert (lato VBA) si vada a popolare la userform dei dati relativi a quel codice per la successiva modifica.

Non so se sono stato chiaro
Daniele Lucini
00venerdì 16 dicembre 2016 14:35
si a quello avevo pensato anche io ma la ricerca va fatta per codice o/e nick che possono essere doppi anche ecco perche dicevo un cerca che ti dia poi le anternative per la modifica
alfrimpa
00venerdì 16 dicembre 2016 14:49
Si ma così facendo le cose si complicano terribilmente.
Daniele Lucini
00venerdì 16 dicembre 2016 14:52
io pensavo a una specie di tendina che se io inserisco un numero e apro la tendina vedo tutti quelli con quel numero e poi lo clicco e mi va nel form per potermo modificare
alfrimpa
00venerdì 16 dicembre 2016 14:59
Il problema non è la tendina ma il codice VBA che bisogna scrivere per gestire il tutto.

In qualunque database che si rispetti vi deve essere un id (codice) che univocamente identifica un record specifico.

Poi nella form ci sono due textbox (2 2 per attivare e 2 per casa 0 per esterno) che non ritrovo nella tabella dati; a quali campi di quest'ultima si riferiscono?

Mi sembra che tu abbia le idee un po' confuse.

GiuseppeMN
00venerdì 16 dicembre 2016 18:16
Buona sera, Daniele;
consentimi un saluto a @ alfrimpa (buona serata, Alfredo).

Fatto ciò, veniamo alla Tua richiesta.
Direi di affrontare le Tue Richieste con ordine.

Nel File in allegato, mi sono concentrato sulla ricerca.
Aprendo UserForm, troverai due opzioni:
-    ComboBox
-    ListBox
ListBox è molto intuitivo, ma, a mio parere, è consigliato per un ridotto numero di Record; oltre i 25 ÷ 30 Record, diventa più problematica la selezione.
Questa è solo una mia personale considerazione e, come tale, opinabile.

Diverso discorso per la Gestione ComboBox; l'inserimento del Record da selezionare, risulta molto flessibile.
Iniziando ad inserire un Record verrà subito proposto il Record che inizia con il carattere/i caratteri digitati; poi, aprendo il Menù dedicato (▼), è possibile definire con più precisione eventuali omonimi.

In entrambe le soluzione, sarebbe consigliabile avere il Campo di selezione ordinato in modo "Crescente"

Per il momento mi sono limitato a gestire il DataSet indentificandolo con il NomeZona "Record"; poi, nel caso dovessimo procedere su questa strada, potremo rendere dinamico il Range "Record".

All'apertura di UserForm, verranno proposti tutti i Campi del Record selezionato; poi, la selezione sarà demandata alla scelta fatta con ComboBox o con ListBox.

Sono consapevole che quello che propongo è solo una bozza, ma tant'è.




A disposizione.

Buon Lavoro e buona serata.

Giuseppe

Edit: scordavo di precisare che, in UserForm, per il momento, il Pulsante "AGGIORNA", non ha alcuna funzione specifica; poi assumerà la funzione di aggiornare il Record selezionato con i Valori del Campo/dei Campi modificati.
Daniele Lucini
00venerdì 16 dicembre 2016 18:36
Grazie mille giuseppe proprio quello che avevo in mente
Daniele Lucini
00venerdì 16 dicembre 2016 18:55
hai preso in pieno quello che cercavo, ho provato cio che mi hai mandato è tutto perfetto solo il tasto aggiorna ( me modificare eventualmente il record) non fa nessuna azione anzi ritorna al valore originale
GiuseppeMN
00venerdì 16 dicembre 2016 19:00
Buona sera, Daniele;
grazie del riscontro, non è sempre così scontato.

Se lo ritieni utile e opportuno, assieme, possiamo definire la funzione del Pulsante "AGGIORNA".

Considera che, all'apertura, UserForm aggiorna ComboBox e ListBox con il Range del DataSet "Record"; per la gestione del DataSet "Record" ci sono diverse possibilità:
-   aggiornamento manuale
-   aggiornamento tramite VBA
-   aggiornamento tramite la Funzione SCARTO

Fai apere se ritieni conclusa la Discussione o come desideri procedere.



A disposizione.

Buona serata.

Giuseppe


Edit: Leggo solo ora la Tua Risposta #15; come anticipato in Edit della mia Risposta #13, il Pulsante "AGGIORNA", attualmente, non una funzione specifica.
Vedo di proporti un suo possibile utilizzo; lasciami solo un pò di tempo, domani sarà una giornata piena di impegni.
Daniele Lucini
00venerdì 16 dicembre 2016 19:18
certo ci manchere sei gia stato gentilissimo per il lavoro che hai.
il pulsante aggiorna lo userei poco xche difficilmente si modificano i dati ma come è successo puo capitare ma se risulta piu problematico nel form lo faccio all'occorenza a mano nel foglio
GiuseppeMN
00venerdì 16 dicembre 2016 19:34
Buona sera, Daniele;
per il Pulsante "AGGIORNA", potrei azzardare la soluzione proposta nel File in allegato.
Non ho eseguito dei test approfonditi; non crocifiggermi se non funziona correttamente.

Se il Campo "DATA" potrà essere soggetto a variazioni, dovrà essere gestito il valore da inserire; TextBox, per loro natura, rendono dei Valore in Formato Stringa, quindi andrà gestito il Formato corretto.

Per l'inserimento di nuovi Record, mi sembra di capire che hai già brillantemente risolto.


A disposizione.

Buona serata.

Giuseppe
Daniele Lucini
00venerdì 23 dicembre 2016 16:27
grazie di tutto
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 05:57.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com