|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2001
Città: quella dei Papi, Viterbo! Nome: Gabriele
Messaggi: 3063
|
[MSACCESS]Filtro selezione su caselle combinate riguardanti lo stesso record
Ciao a tutti.
Ringrazio anticipatamente chi vorrà darmi una mano. ![]() Ho un problema con una maschera MS ACCESS (2007). Ho una tabella chiamata ELENCO SOCI nella quale ci sono dei classici campi di anagrafica (NOMINATIVO, INDIRIZZO, CITTA ecc). Ho creato una maschera e al suo interno ho piazzato tante caselle combinate quanti sono i campi della tabella ELENCO SOCI; poi ho impostato la query SQL su ciascuna casella combinata in modo da avere un elenco a discesa con tutti i valori su ognuna di esse. Fin qui tutto bene. Il problema - sul quale a dire il vero sto sbattendo la testa da un po! ![]() In sostanza una volta scelto un determinato NOMINATIVO dalla prima casella combinata (ad es. quello relativo al record n.3) vorrei che anche nelle altre mi selezionasse automaticamente il valore per quel determinato campo ma sempre relativo allo stesso record n.3. Quindi l'effetto finale sarebbe avere tutti i campi del singolo record distribuiti sulle varie caselle combinate. Spero di essere stato chiaro ![]() Grazie a tutti. Ultima modifica di gabriweb : 31-03-2008 alle 11:26. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2001
Città: quella dei Papi, Viterbo! Nome: Gabriele
Messaggi: 3063
|
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Beh, se ho ben capito quello che chiedi è in pratica una semplice operazione di sincronizzazione tra più ComboBox, ossia se cambio il valore in una ComboBox "pilota", le altre dovranno visualizzare in automatico i valori corrispondenti...
Dal momento che che tutte le caselle contengono già tutti i valori dei record, e che la casella-pilota è "nominativo", dovresti cavartela con questo codice, da mettere nell'editor VBA associato alla maschera : Codice:
Private Sub nominativo_Change() Dim cmbx As ComboBox For Each cmbx In Form_ELENCO_SOCI.Controls If cmbx.Name <> "nominativo" Then cmbx = cmbx.Column(0, nominativo.ListIndex) End If Next End Sub Prova... ![]() |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Sep 2001
Città: quella dei Papi, Viterbo! Nome: Gabriele
Messaggi: 3063
|
Quote:
![]() Domattina in ufficio apro subito Access e provo la tua soluzione ![]() Grazie tante! |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Sep 2001
Città: quella dei Papi, Viterbo! Nome: Gabriele
Messaggi: 3063
|
Quote:
Ho provato la tua soluzione però c'è una riga che non gli piace Codice:
Private Sub cc_Nominativo_Change() Dim cmbox As ComboBox For Each cmbox In Form_QuoteAss2008.Controls If cmbox.Name <> "cc_Nominativo" Then cmbox = cmbox.Column(0, cc_Nominativo.ListIndex) End If Next End Sub ![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Sep 2001
Città: quella dei Papi, Viterbo! Nome: Gabriele
Messaggi: 3063
|
Dimenticavo l'errore...
Errore di run-time '13' Tipo non corrispondente |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Non capisco perchè invece su Excel quello stesso identico codice ( su UserForm ) non dia alcun problema... ![]() Dammi un po' di tempo e vedo di trovarti un'alternativa... |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Sep 2001
Città: quella dei Papi, Viterbo! Nome: Gabriele
Messaggi: 3063
|
Sei troppo gentile, grazie!
Intanto faccio qualche prova anche io ![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Fatto.
![]() Prova questo : Codice:
Private Sub nominativo_Change() Dim cmbx As Control For Each cmbx In Form_ELENCO_SOCI.Controls If cmbx.Name <> "nominativo" Then If TypeName(cmbx) = "ComboBox" Then cmbx.Value = cmbx.ItemData(nominativo.ListIndex) End If End If Next End Sub Fai Attenzione che, se la tua tabella contiene una PKey tipo "id", questa NON deve essere associata ad una combobox, pena il malfunzionamento della routine. Per ora è il massimo che riesco a fare, anche se onestamente non ho capito perchè ti serva una funzione del genere... Non sarebbe meglio una Gridview ?? |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Sep 2001
Città: quella dei Papi, Viterbo! Nome: Gabriele
Messaggi: 3063
|
Fuuuuuuuuuuuuuuuuuuunzionaaaa!
![]() ![]() Non so come ringraziarti non ce l'avrei mai fatta senza il tuo aiuto ![]() Grazie!!! |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:14.