Query e stringhe di testo

di il
7 risposte

Query e stringhe di testo

Buongiorno a tutti, sono nuovo di questo forum, anzi sono nuovo sui forum. La premessa per dire che se dico o faccio delle castronate è per inesperienza. Detto ciò, avrei da sottoporvi questo quesito: ho una tabella che contiene il campo "cap - comune - Prov." solo spazi tra un argomrnto e l'altro. ho provato in vari modi (non sono un programmatore) ma estraggo il cap e la provincia... io vorrei il comune, che ovviamente ha lunghezze diverse. Grazie per la pazienza

7 Risposte

  • Re: Query e stringhe di testo

    Purtroppo le anomalie come quella che descrivi, capitano quando chi si avvicina ai Database non ha una base di teoria, e credo possa essere normale all'inizio.
    Quindi a mio avviso, prima di partire con azioni sbagliate o concetti che non possono stare in piedi, suggerirei di spendere un po di tempo a comprendere meglio le basi di un sistema Relazionale.

    Ad esempio una delle cose che riusciresti a comprendere è che i Campi devono essere DISTINTI e non avere solo un campo che contiene informazioni differenti.

    Sicuramente devi valutare la possibilità di DIVIDERE il contenuto.

    Per pescare la parte intermedia, così come gli estremi si usano le funzioni di MANIPOLAZIONE delle Stringhe... Left$/Right$/Mid$ ecc... ben documentate nella guida.
  • Re: Query e stringhe di testo

    Anche io ti SCONSIGLIO di usare codice (con le funzioni citate) ma DIVIDERE le informazioni in campi distinti.

    Per fare le cose semplici usa 3 campi (CAP Citta Prov) e popolali con i dati corretti.
  • Re: Query e stringhe di testo

    Dalla tabella che mi arriva, ho per esempio 10154 Torino [To]; sono riuscito a mettere 10154 nel campo cap, [To] nel campo provincia ma non riesco ad estrarre solo il comune ed inserirlo nel relativo campo. Ho provato il Mid senza $ ma mi da errore.
    Ps mi piacerebbe imparare bene VB, non nego di averci già provato, ma faccio solo semplici applicativi in access per compensare lacune del software principale che ci consente la gestione del negozio. Pultroppo siamo costretti dalla casa madre ad usare quello quindi..... cerco di arrangiarmi.
  • Re: Query e stringhe di testo

    Chiedo scusa, ma nella funzione Mid devi dare i 2 parametri di inizio (e questo lo posso fare) e fine (e questo essendo variabile non lo so). E' per questo che sono andato in crisi. Sono certo che ci siano soluzioni per la problematica espressa, ma come dite voi non ho una preparazione adatta ad affrontare questi problemi.
  • Re: Query e stringhe di testo

    Il problema che descrivi e' proprio un PROBLEMA, cioe' un problemone adeguatamente incasinato e decisamente complicato da risolvere.

    Probabilmente nel tuo caso basta solo qualche funzioncina per la manipolazione di stringhe, ma in generale e DANNATAMENTE complicato.

    Ci sono tecniche DECISAMENTE complicate che possono fare un lavoro DECENTE (NON miracoli).

    Nel tua cosa, FORSE, una soluzione SEMI/SEMPLICE potrebbe esser questa: prendi la tua colonna con l'indirizzo, la scomponi nelle sue parti e metti le singole parti in opportune colonne di una tabella di servizio.
    A questo punto, invece di usare la colonna originale, usi le colonne della tabella di servizio.

    Ti tocchera anche fare una bella analisi, record per record, del contenuto della tabella di servizio per vedere che non ci siano castronate madornali.

    Un modo alternativo, abbastanza complicato, ma ancora fattibile, e' quello di usare le API di Google Map per dare in pasto l'indirizzo e chiedere a Google di smontarlo nelle sue parti.
  • Re: Query e stringhe di testo

    Rino60 ha scritto:


    Chiedo scusa, ma nella funzione Mid devi dare i 2 parametri di inizio (e questo lo posso fare) e fine (e questo essendo variabile non lo so). E' per questo che sono andato in crisi. Sono certo che ci siano soluzioni per la problematica espressa, ma come dite voi non ho una preparazione adatta ad affrontare questi problemi.
    Non entro nel dettaglio denunciato da [Migliorabile] in quanto è già noto e correttamente esposto, anche se posso concordare che nel tuo caso si possa semplificare molto.

    Lo SPAZIO è il parametro da cercare per definire il LIMITE.... si usa la Funzione INSTR(...) quindi [-1] ed hai il fine stringa..., attenzione alla prima ed alla 2° ricorrenza, che puoi definirlo... la 3° SottoStringa invece non ha bisogno essendo l'ultima della definizione del Limite destro, ma solo dell'inizio che sarà sempre il carattere SPAZIO(+1) sempre considerando la ricorrenza...!
    
    CAP [SPAZIO ricorrenza 1] Comune [SPAZIO ricorrenza 2] Provincia
  • Re: Query e stringhe di testo

    E' possibile che ci siano altri spazi nel nome del Comune. La cosa migliore è uno Split (usando lo spazio) e prendendo il primo e l'ultimo elemento dell'array risultante come CAP e Provincia e poi unendo tutti gli eventuali elementi dopo il primo e prima dell'ultimo in modo da ricavare il nome del comune

    00060 Castelnuovo di Porto [RM]

    diventerebbe

    00060
    Castelnuovo
    di
    Porto
    [RM]

    e quindi 00060 e [RM] il primo e l'ultimo e poi unisci nuovamente con spazi

    Castelnuovo
    di
    Porto

    in

    Castelnuovo di Porto
Devi accedere o registrarti per scrivere nel forum
7 risposte