Seleziona Città dopo Nazione

Anonimo
2019-11-22T14:51:54+00:00

Salve a tutti

ho una tabella contenente più di 106000 record, in pratica le città/comuni di tutto il mondo suddivisa in:

SIGLA = Sigla della Nazione

STATO_NAZIONE = nome dello stato o della nazione

REGIONE = Solo per l'ITALIA

CITTA' = Nome della Città, paese, comune, frazione

PROV = solo per l'ITALIA

CAP = Solo per l'ITALIA

ZONA = ITALIA per l'Italia; CEE per l'unione europea; EXTRACEE per il resto del mondo.

Il campo CITTA' è la chiave principale ed è relazionato al campo CITTA della tabella CLIENTE.

Ora, in una maschera devo assegnare al cliente, selezionando la città, la Nazione, l'eventuale Regione, provincia ecc.

Chiaro che risulta impossibile eseguire una ricerca della Città attraverso una casella combinata, primo perché non va oltre le ca. 65000 voci, secondo perché sarebbe veramente dura scorrere la casella alla ricerca della città che si vuole selezionare.

A questo punto ho pensato di selezionare dapprima la Nazione e, da questa filtrare le Città inerenti la nazione selezionata.

Cosa che ho fatto con una semplice query e funziona egregiamente.

Il problema nasce quando, una volta selezionata la Nazione e scelta una città e se, a seguito di un errore sono costretto a scegliere una nuova Nazione, la casella combinata cboCITTA continua a filtrare le città relative alla prima nazione scelta.

Non riesco in pratica a far ripartire tutto daccapo.

Per spiegare meglio il tutto allego un estratto del programma dove ho creato una maschera con soli i due campi incriminati, spero sia sufficiente.

https://www.dropbox.com/s/7tlcn7gpncfy52k/PLUTO.accdb?dl=0

Grazie a tutti per l'aiuto

Ciro

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2019-11-22T16:19:55+00:00

Una delle prime cose che devi fare quando crei un database è quella di andare in File -> Opzioni -> Database corrente e spuntare la proprietà Compatta alla chiusura per poter ridurre sempre al minimo la dimensione dello stesso.

Per quanto riguarda il tuo quesito:

  • rinomini il controllo CITTA in cboCitta
  • selezioni il controllo cboNazione
  • apri la finestra delle Propietà, se non è già visualizzata premi il tasto F4
  • selezioni la scheda Eventi
  • sull'evento Dopo aggiornamento selezioni [Routine evento]
  • fai click sul pulsante, a destra, con i tre puntini
  • ti apparirà la finestra per gestire il VBA e ti troverai all'interno della routine che gestisce l'evento
  • qui scrivi Me.cboCITTA.Requery

nel momento in cui selezioni un valore nel controllo cboNazione si aggiornerà l'elenco nel controllo cboCitta.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

10 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2019-11-28T10:20:51+00:00

    Ciao Sandro,

    avevo 10 minuti di pausa e ho voluto subito sperimentare la tua soluzione ma... come fai ad ottenere una autoExpand della textBoxes?

    Ciao, Ciro

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-11-28T09:54:52+00:00

    Ciao Sandro,

    si molto bello, lo testerò appena avrò la possibilità di rientrare in ufficio e ti farò sapere

    grazie come sempre per l'aiuto

    Ciro

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-11-28T09:03:31+00:00

    ciao Ciro,

    avevo implementato una soluzione che permette di simulare una autoExpand sulle textBoxes, testandola sul tuo DB anche con 100K righe ed oltre, la risposta e' efficace, una cosa del tipo :

    ho cancellato grossolanamente codice e destinazione e ragione sociale nell'immagine qui sopra.

    Nota che quando digiti il vedi la parte mancante delle 4 possibili scelte in grassetto. Bello no?

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2019-11-22T17:37:34+00:00

    Ciao Carlo

    grazie per la risposta, suggerimento validissimo, funziona proprio come volevo

    Grazie ancora per l'aiuto

    alla prossima

    Ciro

    La risposta è stata utile?

    0 commenti Nessun commento