16/06/2023 - Lone Wolf ha scritto:
nella sottomaschera seleziono con combo box che mi prende i dati da una query la portata prescelta e nella routine dopo aggiornamento ho inserito questa routine
Private Sub portate_AfterUpdate()
prezzo = portate.Column(1)
descrizione = portate.Column(2)
End Sub
ma mi aggiorna solo il campo prezzo e non la deschrizione del piatto
potrei sapere se la routine è giusta, o se ho commesso qualche errore o omissione di codice
Ciao,
messa così occorre avere una sfera di cristallo, ma di quelle che funzionano bene bene bene ;)
Se non esponi l'origine dei dati della combobox sarà veramente impossibile ricevere un qualsiasi aiuto e/o risposta. Diciamo che manca la parte fondamentale.
Invece se l'intento è quello di analizzare come hai scritto il codice, beh qui ci sarebbe molto da dire.
Per esempio le variabili prezzo, descrizione e portate cosa sono ?
hanno un origine dati ?
sono delle textbox o altro?
Solo nel denominare le variabili bisogna adottare delle tecniche che permettono di rendere leggibile il codice Vba, sia quando lo si scrive che quando a distanza di tempo si torna a rileggerlo.
Poi per carità, per funzionare funzionerà lo stesso, ma non è il modo corretto di scrivere un codice in un qualsiasi linguaggio.
Esempio:
Private Sub cmbPortate_AfterUpdate()
Me.txtPrezzo = Me.cmbPortate.Column(1)
Me.txtDescrizione = Me.cmbPortate.Column(2)
End Sub
Già in questo modo chiunque riuscirà a capire cosa c'è scritto in questa piccola routine.
- Me.
- indica che i controlli appartengono ad un oggetto e in questo caso ad una Form
- txt + NomeControllo
- un suffisso come txt già ci indica che tale variabile è una TextBox che si trova in oggetto e in questo caso nella Form
- cmb + NomeControllo
- un suffisso come cmb già ci indica che abbiamo a che fare con un controllo ComboBox che si trova, in questo caso, in un oggetto Form
Concludendo, se la domanda è “ho scritto bene la routine?”, la risposta è ovviamente no per i motivi appena adesso sopra riportati.
Poi ognuno è libero di fare quello che meglio crede, per carità… questo vuol essere solo un piccolo esempio e consiglio. ;))