Query per aggiornare per più campi in tbl

di Anonimizzato28329 il
10 risposte
Buonasera a tutti, spero di riuscire a spiegarmi bene senza fare troppa confusione

Ho una tabella chiamata: tblNominativi
In questa tabella ci sono due campi particolari ovvero: Comune e Indirizzo
Il campo Comune quando vengono accodati dei dati è vuoto (poichè il file che mi viene fornito è cosi e non posso farci nulla) e per compilarlo ho creato una query di aggiornamento che controlla il contenuto della box Indirizzo, se al suo interno trova ad es. la parola " Roma", scrive "ROMA" anche nella boxComune

Sono riuscito a farlo ovviamente solo per quesi record che contengono Roma nel campo Indirizzo, ma la mia necessità sarebbe quella di fargli controllare anche i restanti record che ovviamente contengono altre citta è procedere con i vari aggiornamenti(per esempio tutti i comuni della provincia di roma)
Allegati:
28329_4ad2d3d5d5f258e7f506c33cb66015d8.jpg
28329_4ad2d3d5d5f258e7f506c33cb66015d8.jpg

10 Risposte

  • Mah...qual'è la domanda.
  • Come già scritto la mia necessità sarebbe quella di fargli controllare e aggiornare anche i restanti record che ovviamente contengono altre città, altrimenti devo per ogni città modificare la query già creata manualmente e farli uno per uno.
  • Siccome da quanto si apprende il campo INDIRIZZO contiene "anche e forse" il COMUNE... servirebbe una tabella comuni per individuare se, all'interno del campo ci fosse un COMUNE...
    Detto questo va fatto da codice, non da SQL.
  • Non è che per caso il testo della "box Indirizzo" ha una "formattazione" sempre uguale...per esempio c'è un carattere separatore che potrebbe essere il trattino che divide Comune? Puoi mostrarci come appare un recordset della "box Indirizzo"?
  • Rispondo ad entrambi:
    - nel db c'è una tabella comuni "TabComuni" per individuarli;
    - il campo indirizzo, purtroppo mi viene consegnato senza spaziatori es. "Firenze via roma n. 35"
  • Ma capita che ci sia

    firenze via roma n. 35

    e

    via roma n. 35 firenze

    ?

    Questo complicherebbe il codice e comunque potresti, da codice, proporre una sostituzione per e proporla all'utente per accettarla o meno
  • Non no capita mai....il comune è sempre prima, però la proposta di variazione potrebbe essere un aiuto comunque.
    Quindi secondo voi è fattibile?
  • Per i comuni MONONOME forse qualcosa si può fare. I problemi nascono per i comuni tipo "Vibo Valentia", "Reggio Emilia", "San Lazzaro di Savena"...
  • Non riuscirai a realizzare 1 routine che fa tutto perche possono esserci varianti non contemplabili... quindi poi servirà un affinamento manuale.
    Se sei certo che il Comune sia la prima parte del contenuto... devi scrivere un codice con 2 cicli annidati... il primo esterno sul recordset basato sulla tabella Nominativi e quello interno sulla tabella Comuni...( potresti caricare un'array per velocizzare ma è un dettaglio).
    In sostanza per ogni record nominativi devi ciclare tutti i comuni e verificare se uno dei comuni è presente nel campo Indirizzo partendo da sinistra per la lunghezza del comune...
    Se presente scrivi il Comune cercato nel campo Comune della tabella Nominativi... ovvero nel recordset del.ciclo esterno...

    La cosa è semplice serviranno 10 righe di codice... ma serve scriverle...
  • Ho capito la tua spiegazione ma le mie “conoscenze” si fermano ben prima di quelle 10 righe di codice...
Devi accedere o registrarti per scrivere nel forum
10 risposte