Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Difficiltà con combobox e con aggiornamento record tabella

Ultimo Aggiornamento: 11/07/2017 18:47
Post: 3
Registrato il: 05/07/2017
Città: L'AQUILA
Età: 59
Utente Junior
2010
OFFLINE
07/07/2017 13:44

Carissimi, premesso che sto studiando la programmazione con Excel, macro e VBA, posto un lavoro che non riesco a completare e necessito del vostro aiuto.
Ho una tabella che sul foglio Fg_Sn_Dupl.
Per gestire l'inserimento, l'aggiornamento e la cancellazione dei record sto usando il metodo Userform con della macro associate.
Pertanto ho provato a realizzare la Userform per fare queste operazioni ma non funziona. In particolare:
- Non riesco a popolare la combobox automatica per la selezione dei nominativi in tabella
- Non riesco a posizionare il contenuto della Userform al primo record della tabella.
Se qualcuno piu esperto mi puo' aiutare provo ad andare avanti per fare Inserimento record, Aggiornamento e Cancellazione.
Vi ringrazio in anticipo e aspetto con fiducia un vostro aiuto.
Posto il file compresso per farvi capire meglio.
Il pulsante che attiva la Userform si chiama RECORD ed è sulla tabella.
Grazie [SM=x423052]
[Modificato da G.Forcesi 07/07/2017 13:45]
Post: 1.457
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
08/07/2017 11:15

Ciao
ho apportato le seguenti modifiche:
- eliminata sub Activate
- aggiunta: Private Sub UserForm_Initialize()
- modificata: Private Sub ComboBox1_Change()
- aggiunta 1 colonna (la prima, non visibile - larghezza 0) alla tua comboBox1 nella quale ci va a finire il num. Prog della col. D del foglio che deve essere univoco. Tale valore è la base di ricerca sul foglio del record in elaborazione.

Una volta aperta la uForm e selezionato il nominativo, verranno riempite tutte le TextBox con i relativi valori. Tale operazione non è stato possibile effettuarla con un unico ciclo continuo per le textBox in quanto i valori da recuperare non sono in colonne contigue.

Non sono entrato nel merito di altro.

NOTA_1: ti ricordo che l'unico CF valido è quello rilasciato dalle autorità competenti. Pertanto qualsiasi formula/codice utilizzato per ricavarlo, non fornisce un CF affidabile.
Ti consiglio pertanto di non emettere documentazione con tali CF.

Domanda: usi excel 2003 ? Se si, ti ricordo che lo stesso non è più supportato dalla Microsoft.

saluti


Domenico
Win 10 - Excel 2016
Post: 4
Registrato il: 05/07/2017
Città: L'AQUILA
Età: 59
Utente Junior
2010
OFFLINE
08/07/2017 12:10

Grazie Dodo47,
provo quello che mi hai postato e ti dico l'esito.

In merito all'utilizzo di Excel lavoro con la versione 2010.

In merito al CF, la routine di ricalcolo la utilizzo solo per verificare la congruenza dei dati che mi vengono dettati.

Grazie
Gianni
Post: 1.458
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
08/07/2017 12:25

Re:
G.Forcesi, 08/07/2017 12.10:


In merito all'utilizzo di Excel lavoro con la versione 2010.



e perché l'estensione è xls e non xlsm ??




[Modificato da dodo47 08/07/2017 12:26]
Domenico
Win 10 - Excel 2016
Post: 3.340
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
08/07/2017 19:14

Probabilmente perché per errore al salvataggio del file ha scelto come tipo Excel 97-2003.

Alfredo
Post: 5
Registrato il: 05/07/2017
Città: L'AQUILA
Età: 59
Utente Junior
2010
OFFLINE
10/07/2017 23:34

SCUSATE HO PROVATO A LUNGO E QUESTI GLI ESITI DEL TEST SUL FILE CHE HO SCARICATO DOPO LE CORREZIONI DI DODO47.

FUNZIONE INSERIMENTO RECORD - FUNZIONA CORRETTAMENTE

FUNZIONE AGGIORNAMENTO RECORD - NON FUNZIONA. OVVERO SE DIGITO I PRIMI CARATTERI DEL COGNOME, LA COMBOBOX REGOLARMENTE POPOLATA MI DA UN SET DI RECORD, SELEZIONO QUELLO DESIDERATO, FACCIO LA CORREZIONE SUI TESTBOX MA QUANDO VADO A PIGIARE IL TASTO AGGIORNAMENTO MI RESTITUISCE UN VALORE DI RIGA NON CORRISPONDENTE COSI LE MODIFICHE O VANNO SU UN RECORD NON CORRISPONDENTE A QUELLO SELEZIONATO O VANNO ADDIRITTURA AD AGGIUNGERE UN RECORD IN TABELLA.

FUNZIONE CANCELLAZIONE - NON FUNZIONA. SI COMPORTA COME L'AGGIORNAMENTO. SEMBRA CHE LA SELEZIONE DEL RECORD DA COMBOBOX NON FACCIA POSIZIONARE LA RICERCA SUL RECORD CORRISPONDENTE MA A CASO.

VI SONO GRATO SE MI RISPONDETE.
NON POSTO IL FILE TANTO E' LO STESSO CHE HO SCARICATO E CHE GIA' SI TROVA SULLA RETE.
Post: 1.463
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
11/07/2017 09:31

Ciao
ti invito a non scrivere in maiuscolo sui forum perché equivale ad urlare.

Ciò premesso, ti ho accennato che io non sono entrato nel merito del resto del tuo programma.

A mio avviso è proprio la struttura della programmazione che devi cambiare.

Ti allego un file di test che fa più o meno quello che chiedi.

Provalo così com'è (nella uform c'è pure una casella con l'ora che, se leggi all'interno della macro puoi benissimo eliminare.
Studiati bene le varie macro.

In sintesi:
- la combobox ti permette la selezione di un nominativo
- lo spinbutton ti permette di scorrere avanti e dietro i record
- per modificare un dato, scegli il record con una di queste due opzioni, rettifichi quello che vuoi e premi modifica
- per eliminare un record premi elimina
- per aggiungere prima premi "Nuovo record", inserisci i dati e poi premi "Inserisci"
- l'ID è gestito da programma e non lo puoi variare in quanto chiave univoca.
- i vari pulsanti vengono abilitati/disabilitati secondo l'occasione.

Se fa al tuo caso adattalo alle tue esigenze.

saluti

Edit: nel vb c'è il modulo1 che non ha nessuna attinenza con il lavoro e può essere eliminato
[Modificato da dodo47 11/07/2017 13:34]
Domenico
Win 10 - Excel 2016
Post: 6
Registrato il: 05/07/2017
Città: L'AQUILA
Età: 59
Utente Junior
2010
OFFLINE
11/07/2017 13:50

Ciao Dodo47,
ho importato la userform che mi hai trasmesso nel nuovo file, ho adeguato i campi e, a mio avviso sistemato tutto, ma non riesco proprio a lanciare la userform.

Ho previsto di lanciarla a pressione del pulsante RECORD (quindi senza fare dentro e fuori il file) ma mi genera un errore che non riesco a risolvere.

Chiaramente non ho potuto testare le funzioni in quanto non riesco proprio ad avviare la userform.

Ti allego il nuovo file salvato peraltro in excel 10.
Ti sono grato se dai un'occhiata che con la tua esperienza e capacità è sicuramente più veloce e soprattutto più intuitiva della mia.

Grazie ancora
Gianni
[Modificato da G.Forcesi 11/07/2017 13:50]
Post: 1.464
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
11/07/2017 14:15

Ciao
perché la tua tabella non si chiama: "Fg_Sn_Dupl", ma Tabella2, quindi varia la Private Sub UserForm_Initialize.
Non ho controllato la funzionalità del resto sul tuo documento, ma non basta importare la uform, hai adattato poco e nulla delle macro, specie il caricamento della cbo ecc

Inoltre:
o cancelli come scritto nella macro le sub del timer
oppure ti devi importare anche il modulo Orario dal mio file.

Comunque (a parte stasera e domani) sono a disposizione per chiarimenti sui codici.

saluti
[Modificato da dodo47 11/07/2017 14:28]
Domenico
Win 10 - Excel 2016
Post: 1.465
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
11/07/2017 14:20

... ti ho detto che il Prog (ID) viene gestito da programma.
Fai un copia/incolla valoro della colonna D e cancella tutte le formule a partire da D63 in poi.
Le formule in A B C (come tutte le altre) non ci devono essere, vanno gestite da programma.

..la vedo dura adattare la form alle tue esigenze

saluti





[Modificato da dodo47 11/07/2017 16:36]
Domenico
Win 10 - Excel 2016
Post: 7
Registrato il: 05/07/2017
Città: L'AQUILA
Età: 59
Utente Junior
2010
OFFLINE
11/07/2017 16:45

Ciao dodo47,
ho provveduto a:
- cambiare il nome tabella - risultato la userform si apre e la combobox si carica ma va vedere solo il cognome sebbene ho scritto di fare vedere 7 colonne

- inserito i primi 62 progressivi come numero secco e non formula e tolto le formule dal 63 in poi -

- cancellato dalle colonne A,B,C, tutte le formule lasciando solo le colonne vuote.

Il risultato di tutto ciò è non fruibile perchè la combobox non funziona per alcuna delle funzioni disponibili - Inserire record, modifica, cancella e non si incrementa/decrementa neanche il record cliente cliccando sulle frecce accanto alla box ID

Ti allego nuova versione sw delle 16:40 11/11/2017
[Modificato da G.Forcesi 11/07/2017 16:46]
Post: 1.466
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
11/07/2017 18:47

Ciao
Ti scrivo da cell
Ma tu che conoscenze hai di vba?

Abbi pazienza, ma se nel mio foglio i dati iniziano da col A e nel tuo da col D, ci sarà pure qualcosa che devi cambiare nelle macro o nel tuo foglio no?

Segui in debug cosa succede e vedrai che trovi il perché sul tuo foglio la UForm non va mentre sul mio foglio si.

Infine: se decidi di gestire una tabella tramite una UserForm, devi eliminare dalla tabella tutte le formule (colonne), altrimenti non ha senso l'utilizzo della form

Saluti

[Modificato da dodo47 13/07/2017 09:00]
Domenico
Win 10 - Excel 2016
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 15:11. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com