Query che restituisce un solo risultato

Forum dedicato interamente a Microsoft Access

Moderatore: Toki

Regole del forum
Leggi: IProgrammatori.it - Regolamento Forum
Michela12
New Entry
Messaggi: 4
Iscritto il: 20 apr 2017, 07:50

Query che restituisce un solo risultato

Messaggioda Michela12 » 20 apr 2017, 13:04

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!! :)
Avatar utente
gibra
Utente Senior
Messaggi: 1079
Iscritto il: 14 gen 2013, 12:14
Contatta:

Re: Query che restituisce un solo risultato

Messaggioda gibra » 20 apr 2017, 14:01

Benvenuto nel forum.
Ci dici come noi possiamo aiutarti, dato che non conosciamo nulla della tua query?
HTH
gibra

Windows 7 Ultimate SP1 64 bit
Office Automation in NET: VS2010 - Early-Late Binding: con Excel - con Word
Office Automation in VB6: Early-Late Binding: con Excel - con Outlook
NEW! VS6 Installer 4.5 02/26/2016: install VS6/VB6 (Ent/Pro) on Windows 2000/XP/Vista/7/8/10 (32/64) any version & Service pack
see YouTube Complete video tutorial
Michela12
New Entry
Messaggi: 4
Iscritto il: 20 apr 2017, 07:50

Re: Query che restituisce un solo risultato

Messaggioda Michela12 » 20 apr 2017, 15:40

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
OsvaldoLaviosa
Utente Senior
Messaggi: 4099
Iscritto il: 06 apr 2012, 16:17
Località: Conversano

Re: Query che restituisce un solo risultato

Messaggioda OsvaldoLaviosa » 20 apr 2017, 16:25

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.
Avatar utente
gibra
Utente Senior
Messaggi: 1079
Iscritto il: 14 gen 2013, 12:14
Contatta:

Re: Query che restituisce un solo risultato

Messaggioda gibra » 20 apr 2017, 16:27

Scusa, ma la condizione:

Where valore preso dalla text box = descrizione

non ha senso.
HTH
gibra

Windows 7 Ultimate SP1 64 bit
Office Automation in NET: VS2010 - Early-Late Binding: con Excel - con Word
Office Automation in VB6: Early-Late Binding: con Excel - con Outlook
NEW! VS6 Installer 4.5 02/26/2016: install VS6/VB6 (Ent/Pro) on Windows 2000/XP/Vista/7/8/10 (32/64) any version & Service pack
see YouTube Complete video tutorial
Michela12
New Entry
Messaggi: 4
Iscritto il: 20 apr 2017, 07:50

Re: Query che restituisce un solo risultato

Messaggioda Michela12 » 21 apr 2017, 07:17

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

Codice: Seleziona tutto

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.
Avatar utente
@Alex
Utente Senior
Messaggi: 3318
Iscritto il: 29 feb 2012, 17:59
Contatta:

Re: Query che restituisce un solo risultato

Messaggioda @Alex » 21 apr 2017, 07:30

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...!

Codice: Seleziona tutto

SELECT Matricola, Descrizione, Data_assegnazione, Classifica
FROM Inventario
WHERE [Descrizione]=[Forms]![msc_ricerca]![desc];


Suggerisco un buon Libro.
Sono contrario al CROSSPOST
@Alex
Michela12
New Entry
Messaggi: 4
Iscritto il: 20 apr 2017, 07:50

Re: Query che restituisce un solo risultato

Messaggioda Michela12 » 21 apr 2017, 07:42

@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...!

Codice: Seleziona tutto

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..
Avatar utente
gibra
Utente Senior
Messaggi: 1079
Iscritto il: 14 gen 2013, 12:14
Contatta:

Re: Query che restituisce un solo risultato

Messaggioda gibra » 21 apr 2017, 08:51

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. f1
f18
HTH
gibra

Windows 7 Ultimate SP1 64 bit
Office Automation in NET: VS2010 - Early-Late Binding: con Excel - con Word
Office Automation in VB6: Early-Late Binding: con Excel - con Outlook
NEW! VS6 Installer 4.5 02/26/2016: install VS6/VB6 (Ent/Pro) on Windows 2000/XP/Vista/7/8/10 (32/64) any version & Service pack
see YouTube Complete video tutorial
Philcattivocarattere
Utente Senior
Messaggi: 908
Iscritto il: 06 giu 2014, 10:35
Località: Verona-Mantova

Re: Query che restituisce un solo risultato

Messaggioda Philcattivocarattere » 21 apr 2017, 09:00

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"
Avatar utente
Toki
Amministratore
Messaggi: 2994
Iscritto il: 28 gen 2001, 14:35
Contatta:

Re: Query che restituisce un solo risultato

Messaggioda Toki » 21 apr 2017, 18:18

Chiudo per cross posting

Torna a “Microsoft Access”

Chi c’è in linea

Visitano il forum: Google [Bot] e 16 ospiti