Problemi di ricerca tramite query

di
Anonimizzato10097
il
6 risposte

Problemi di ricerca tramite query

Ciao a rieccomi....allora ho un problema di ricerca... Ho 2 tabelle la prima chiamata automezzi e la seconda Leasing... ho fatto una query di ricerca inserendo alcuni campi di una e dell'altra tabella... ora se inserisco un numero di targa ed il mezzo ha un contratto di leasing allora la query funziona, ma se il numero di targa non e' associato a nessun leasing allora la ricerca non avviene, mentre invece vorrei uscissero lo stesso alcuni dati di quella targa.... nel mio caso "filiale di appartenenza, nome autista ecc... premetto che questi campi nella query ci sono e le due tabelle sono relazionate tra loro con "Targa" uno a molti.
Nei criteri di ricerca ho messo [Inserisci targa] che corrisponde alla tabella "Automezzi".
Grazie per l'aiuto.

6 Risposte

  • Re: Problemi di ricerca tramite query

    Detta cosi non è sufficiente per capire l'arcano...!
    Le 2 Tabelle sono relazionate in qualche modo... quindi quello che dici potrebbe essere vero solo se un Criterio definito non soddisfa nessuna occorrenza.

    Quello che non capisco è quanti criteri hai inserito e come, potrebbe essere utile la Stringa SQL.
  • Re: Problemi di ricerca tramite query

    Ok allora
    tabella "Automezzi" i campi sono:
    Id Automezzi - Chiave primaria
    Targa - Testo
    Leasing - Si/No
    Modello - Testo
    Tipologia - TEsto

    Tabella "Leasing" i campi sono:
    id leasing - chiave primaria
    Compagnia leasing - Testo
    Numero Contratto - Testo
    Canone locazione - Valuta
    Targa - Testo
    id Automezzi - numerico

    La targa della tabella automezzi e' relazionata al campo targa della tabella leasing come uno a molti

    Nella query sotto il criterio del CAmpo targa tabella Automezzi ho messo [Inserisci targa]
  • Re: Problemi di ricerca tramite query

    Prova con questa

    SELECT Automezzi.idAutomezzi, Automezzi.targa, Leasing.a
    FROM Automezzi LEFT JOIN Leasing ON Automezzi.targa = Leasing.targa
    WHERE (((Automezzi.targa)=[mettere la targa]));
  • Re: Problemi di ricerca tramite query

    Le tue tabelle hanno un'errore di base, vale a dire la DISPERSIONE DEI DATI, in contrasto con le regole di normalizzazione.
    TI accorgi che hai un campo TARGA nella tabella "Leasing" che invece non deve assolutamente esserci, basta la Chiave Esterna [Id Automezzi] che ti consentirà con una Query in JOIN come ti ha suggerito [pfmarro] di attivare l'AutoLookUp dei dati.
  • Re: Problemi di ricerca tramite query

    Grazie a tutti provo a fare le correzioni! quindi mi consigli di togliere ilo campo targa? mi spieghi il perche'? scusa ma sto imparando... anzi un'altro quesito... non posso togliere il campo targa, ogni volta che devo inserire un nuovo leasing per un automezzo se non ho il numero di targa come faccio a sapere a chi si riferisce quel leasing se non lo associo alla targa?
    Grazie
  • Re: Problemi di ricerca tramite query

    Luciopooh ha scritto:


    grazie a tutti provo a fare le correzioni! quindi mi consigli di togliere ilo campo targa? mi spieghi il perche'?
    Perchè non stai usando Excel, ed il Legame tra le 2 tabelle è dato dalla relazione tra le CHIAVI che è quel campo [idAutomezzi], la targa relativa all'idAutomezzi è recuperabile nella Tabella Automezzi sapendo che quell'ID ha una ed una sola Targa correlata.
    Parliamo di NORMALIZZAZIONE e di evitare la dispersione dei dati.
    Questo concetto fa parte dello sviluppo NORMALE dei Database,
    in particolare si appoggia alle prime 3 forme NORMALI che racchiudono i concetti basilari per la corretta strutturazione.
    Questi concetti sono da studiare in quanto non automatici da apprendere e dati sempre per scontati ma mai in modo corretto.
    Quì trovi qualche spunto:
    http://office.microsoft.com/it-it/access-help/nozioni-fondamentali-della-progettazione-di-database-HA001224247.aspx

    Luciopooh ha scritto:


    scusa ma sto imparando... anzi un'altro quesito... non posso togliere il campo targa, ogni volta che devo inserire un nuovo leasing per un automezzo se non ho il numero di targa come faccio a sapere a chi si riferisce quel leasing se non lo associo alla targa?
    Grazie
    Credo che ti sfugga proprio il concetto di DB relazionale, prova a leggere(studiare) l'articolo che ti ho suggerito
Devi accedere o registrarti per scrivere nel forum
6 risposte