Query che restituisce un solo risultato

di il
10 risposte

Query che restituisce un solo risultato

Ciao a tutti, sono nuova sul forum e sto utilizzando access per la prima volta per fare un semplice programma di inserimento e ricerca dati in un database.
L'inserimento funziona in maniera corretta, la query di ricerca mi restituisce un solo risultato anche quando dovrebbe darne più di uno.
Spiego nel dettaglio.
Ho una tabella Inventario dove sono presenti i campi ID, Matricola, Data_assegnazione, Descrizione e Classifica. In una maschera ho messo il Button Cerca che prende il valore inserito dall'utente in una casella di testo e in base a quello va a cercare i record corrispondenti confrontando il valore con il campo descrizione.
La query in parte funziona, perchè il valore viene preso in maniera corretta, l'unico problema che come risultato mi viene fuori un solo record anche quando nella tabella sono presenti più record con la stessa descrizione. Per esempio se cerco Sedia, e sulla tabella ho tre record che corrispondono a questa descrizione, mi viene fuori solo il primo.
Ho sempre programmato in C#, php, javascript e HTML, conosco il linguaggio SQL e la query mi sembra giusta, ma non so muovermi bene con access. C'è qualcosa che mi sfugge? Come dovrebbe essere risolto questo problema?
Grazie mille!!

10 Risposte

  • Re: Query che restituisce un solo risultato

    Benvenuto nel forum.
    Ci dici come noi possiamo aiutarti, dato che non conosciamo nulla della tua query?
  • Re: Query che restituisce un solo risultato

    gibra ha scritto:


    Benvenuto nel forum.
    Ci dici come noi possiamo aiutarti, dato che non conosciamo nulla della tua query?
    La query è questa:
    select matricola, descrizione, data, classifica
    From inventario
    Where valore preso dalla text box = descrizione
  • Re: Query che restituisce un solo risultato

    Michela12 ha scritto:


    select matricola, descrizione, data, classifica
    From inventario
    Where valore preso dalla text box = descrizione
    1. In base al regolamento del forum, quando scrivi un codice VBA o SQL, selezionalo e clicca sul tasto Code per farlo apparire con i caratteri stile Courier New (più familiari ai programmatori).
    2. Una sintassi così in SQL è errata soprattutto nel 3° rigo.
  • Re: Query che restituisce un solo risultato

    Scusa, ma la condizione:

    Where valore preso dalla text box = descrizione

    non ha senso.
  • Re: Query che restituisce un solo risultato

    OsvaldoLaviosa ha scritto:


    Michela12 ha scritto:


    select matricola, descrizione, data, classifica
    From inventario
    Where valore preso dalla text box = descrizione
    1. In base al regolamento del forum, quando scrivi un codice VBA o SQL, selezionalo e clicca sul tasto Code per farlo apparire con i caratteri stile Courier New (più familiari ai programmatori).
    2. Una sintassi così in SQL è errata soprattutto nel 3° rigo.
    Ovviamente non ci ho scritto valore preso dalla textbox, era per far capire il ragionamento.
    La query è questa
    SELECT Matricola, Descrizione, Data_assegnazione, Classifica
    FROM Inventario
    WHERE ((([Forms]![msc_ricerca]![desc].[Text])=[Inventario]![Descrizione]));
    
    L'ho fatta dalla visualizzazione struttura della query selezionando la casella di testo che mi serviva e il campo descrizione, poi da codice ho modificato la prima riga dove c'era * perchè ovviamente il campo ID che è la chiave primaria non lo voglio far vedere.
  • Re: Query che restituisce un solo risultato

    Dal punto di vista LOGICO mi piacerebbe capire perchè compari come primo TERMINE l'oggetto ESTERNO e non quello INTERNO... è veramente ILLOGICO.
    Seconda cosa non si usa la proprietà TEXT in vba... se non in particolari casi, ma in ogni modo MAI nelle Queries.
    Nelle Tabelle poi si separa con il PUNTO e non Esclamativo...!
    
    SELECT Matricola, Descrizione, Data_assegnazione, Classifica
    FROM Inventario
    WHERE [Descrizione]=[Forms]![msc_ricerca]![desc];
    Suggerisco un buon Libro.
  • Re: Query che restituisce un solo risultato

    @Alex ha scritto:


    Dal punto di vista LOGICO mi piacerebbe capire perchè compari come primo TERMINE l'oggetto ESTERNO e non quello INTERNO... è veramente ILLOGICO.
    Seconda cosa non si usa la proprietà TEXT in vba... se non in particolari casi, ma in ogni modo MAI nelle Queries.
    Nelle Tabelle poi si separa con il PUNTO e non Esclamativo...!
    
    SELECT Matricola, Descrizione, Data_assegnazione, Classifica
    FROM Inventario
    WHERE [Descrizione]=[Forms]![msc_ricerca]![desc];
    Suggerisco un buon Libro.
    Scusami, ma ti ripeto, è la prima volta che uso Access e non conosco nemmeno il linguaggio, per questo chiedevo aiuto..
  • Re: Query che restituisce un solo risultato

    Michela12 ha scritto:


    Ovviamente non ci ho scritto valore preso dalla textbox, era per far capire il ragionamento.
    I ragionamenti li capiamo dal codice.Infatti c'è un motivo per cui te l'ho chiesto.
    Le informazioni che devi dare devono sempre essere esatte, soprattutto quando mostri il codice.

    Credo che le successive risposte che hai ricevute ti siano state chiarificatrici.
  • Re: Query che restituisce un solo risultato

    gibra ha scritto:


    ...
    Credo che le successive risposte che hai ricevute ti siano state chiarificatrici.
    Ma non "recepite", a quanto sembra: "orum.masterdrive.it/access-79/inserimento-ricerca-98250"
  • Re: Query che restituisce un solo risultato

    Chiudo per cross posting
Devi accedere o registrarti per scrivere nel forum
10 risposte