Newsgroup: it.comp.appl.access
Titolo: Caselle combinate "dipendenti"...

dovrei introdurre delle caselle combinate dipendenti l'una dall'altra....
mi spiego meglio:
consideriamo i seguenti campi: Provincia; CAP; Località.
dal sito delle poste ho reperito una tabella con i report di tutti e tre i
campi.
ho la necessità (in una maschera) di intodurre i tali informazioni in modo
dipendente e sequenziale.... cioè: selezionando la provincia dovrebbero
"caricarsi" solo i cap corrispondenti e così anche per le località (in caso
di più località per cap...)
è fattibile???? come??????
grazie 1000 a tutti ;-)
Ivan
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 di più località per cap...)
La cosa è fattibile, ma devi lavorarci un pò perchè richiede modifiche al db 
(forse) e un pò di vba.
Il db come è fatto? Limitatamente a cap, città e provincia.
Ciao
Marco 

"Marco" <na...@NOPRIVATEMESSAGE.com> ha scritto nel messaggio 
news:dlfkep$9a4$1...@news.tiscali.fr...

Non faresti prima a scaricarci dal web o dal siti comune la tabella di tutti 
i comuni d'italia completa di cap e provincie? Quindi poi basterà una sola 
combo!
Ciao
Napoleone 


se è solo una questione di modifica del DB, visto che sono ancora in fase di
progettazione, il problema non sussiste ;-)
ma come e cosa dovrei cambiare?????
ora ho una tabella anagrafica clienti a cui dovrei associare l'indirizzo...
e quaindi vorrei automatizzare la provinci, il cap e la località....
ora ho una sola tabella contenete i seguenti campi:
ID_CAP (Contatore)
Provincia (Testo)
CAP (Numero)
Località (Testo)
come devo organizzare i campi in oggetto (provincia, cap e località)??????
thanks :-)



ciao, cosa intenti per "una sola combo"?????
grazie 1000


 Località (Testo)
La tabella può anche rimanere così, ma bisogna tenere presente quello che 
comporta.
Questa potrebbe essere una possibile istanza della tabella (non metto ID_CAP 
per semplificare le cose, ma nella realtà c'è):
Provincia |  CAP  | Località
----------+-------+---------
BO        | 40100 | Bologna
BO        | 40131 | Bologna
BO        | 40132 | Bologna
BO        | 40068 | S. Lazzaro
BO        | 40059 | Medicina
TO        | 12100 | Torino
Per i comuni limitrofi non si pongono problemi perchè il CAP è unico.
Ma per la città il cap cambia a seconda della zona e quindi ti trovi ad 
avere la stessa località ripetuta più volte, ma con cap diversi.
Discorso maschera.
Supponiamo di essere nella maschera del cliente di cui vuoi memorizzare la 
città. Il cliente avrà un campo idcitta che sarà legato a ID_CAP. (Sto 
supponendo che ogni cliente abbia UN SOLO indirizzo).
Devi mettere 3 caselle combinate che prelevano i dati dalla tabella. In 
ciascuna tabella dai priorità alla visualizzazione di un campo: una casella 
avrà le provincie, un'altra i cap e l'ultima le località.
Per comodità visualizza sempre tutte e 3 le colonne ma in ordine diverso.
Ad esempio:
BO | 40100 | Bologna  per la casella delle provincie
40100 | BO | Bologna  per la casella dei cap
Bologna | 40100 | BO  per la casella delle località
Una della tre la scegli poi come prioritaria e la colleghi al campo idcitta, 
così memorizzi il valore per il cliente. Puoi anche fare tutto con 
l'autocomposizione e poi tu a mano inserisci le 2 caselle che mancano.
Infine realizzi una bella routine del tipo:
    Private Sub AggiornaCAP(casella AS String)
    End Sub
Il parametro rappresenta il nome della casella combinata su cui hai 
cliccato.
La routine non fa altro che prelevare il valore di ID_CAP dalla casella 
combinata che gli hai passato e con quel valore va a selezionare la voce 
relativa nelle altre 2 caselle.
Infine richiami la routine dall'evento OnChange (direi) delle 3 caselle 
combinate, in questo modo:
Private Sub cbProvincia_Change()
    AggiornaCAP "provincia"
End Sub
Private Sub cbCAP_Change()
    AggiornaCAP "cap"
End Sub
Private Sub cbLocalita_Change()
    AggiornaCAP "localita"
End Sub
Spero di essere stato abbastanza chiaro.
Ciao
Marco 

 relativa nelle altre 2 caselle.
In questo modo:
Me.cbProvincia.Requery
Me.cbCAP.Requery
Me.cbLocalita.Requery
Ciao
Marco 

 Marco
Ciao Marco,
creati la tua CmbCitta
dove metterai a fronte dell'evento dopo aggiornamento questo codice:
------------------------------
Private Sub CmbCitta_AfterUpdate()
Me.cap = CmbCitta.Column(0)
Me.Localita = CmbCitta.Column(1)
Me.Provincia = CmbCitta.Column(2)
End Sub
----------------------
naturalmente se i tuoi controlli hanno atre denominazioni, aggiustali.
Napoleone 

 ----------------------
Ma così facendo hai una sola combo.
Lui ne vuole 3 per poter selezionare a piacere il cap, o la provincia, o la 
località.
Ciao
Marco 

"Marco" <na...@NOPRIVATEMESSAGE.com> ha scritto nel messaggio 
news:dli790$k8$1...@news.tiscali.fr...

allora te ne crei tre usando lo stesso metodo.
Napoleone 


Se sostanziamente a te serve salvare solo il cap che è univoco
nella tabella lasciati solo quello e metti tre combo che hanno origine sul
cap
ma origine dai una volta il cap, una il comune, l'altra la prov
va da se che se aggiorni una immediatamente, senza scirivere altro vengono
aggiornate le alre due
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it


Ok, grazie a tutti, vedrò di mettere in pratia i vostri consigli ;-)
