View Full Version : [ACCESS] Problema con una query
marco1474
17-05-2006, 12:03
Ragazzi, non riesco a far digerire ad una query il valore IS NULL.
Se lo imposto mettendo IS NULL sotto la colonna TITOLO, tutto funziona a meraviglia:
SELECT Costanti.ID, Costanti.[Titolo Primario], Variabili.Titolo, Variabili.Autori, Variabili.SIAE, Variabili.Consegna, Variabili.Data
FROM Costanti LEFT JOIN Variabili ON Costanti.ID = Variabili.[Riferimento ID]
WHERE (((Variabili.Titolo) Is Null))
ORDER BY Variabili.Consegna;
Se imposto una richiesta scrivendo [inserisci il valore] sotto la colonna TITOLO, lui mi chiede il valore, ma inserendo IS NULL alla richiesta, lui non mi trova nulla:
SELECT Costanti.ID, Costanti.[Titolo Primario], Variabili.Titolo, Variabili.Autori, Variabili.SIAE, Variabili.Consegna, Variabili.Data
FROM Costanti LEFT JOIN Variabili ON Costanti.ID = Variabili.[Riferimento ID]
WHERE (((Variabili.Titolo)=[inserisci il valore]))
ORDER BY Variabili.Consegna;
Dove sbaglio? :stordita:
marco1474
17-05-2006, 13:56
Possibile che nessuno possa togliermi da questo vicolo cieco? :cry:
cioè tu gli scrivi "Is null" sulla finestra?
beh...se fai così è logico che non funziona: così gli passi la stringa "is null" è non il valore null. Così lui confronta il campo con la stringa "is null", e tale confronto da sempre risultato falso...
ho chiarito?
marco1474
17-05-2006, 15:02
cioè tu gli scrivi "Is null" sulla finestra?
beh...se fai così è logico che non funziona: così gli passi la stringa "is null" è non il valore null. Così lui confronta il campo con la stringa "is null", e tale confronto da sempre risultato falso...
ho chiarito?
Si, perfetto :) Ma come faccio a dargli un valore IS NULL non come stringa?
marco1474
17-05-2006, 15:46
cioè tu gli scrivi "Is null" sulla finestra?
beh...se fai così è logico che non funziona: così gli passi la stringa "is null" è non il valore null. Così lui confronta il campo con la stringa "is null", e tale confronto da sempre risultato falso...
ho chiarito?
Oppure, posso fare in modo che legga da una casella combinata di una maschera, i valori IS NULL e NOT IS NULL?
il più semplice dei modi che mi viene in mente è questo:
dalla query in visualizzazione SQL, inserisci nella clausola "WHERE" (magari come prima clausola) questa espressione condizionale:
IIf(forms![nomedellaMascheraDesiderata].nomeCasella = "is Null";([Variabili].[Titolo]) Is Null;Not ([Variabili].[Titolo]) Is Null)
oppure dalla query in visualizzazione struttura, sulla riga CAMPO inserisci la stessa espressione condizionale, soltanto che sulla riga "criteri", riferita a questo campo creato, metti "<> Falso" (senza le virgolette).
Naturalmente la casella nella maschera che conterrà il valore deve contenere esattamente la stringa "is null", altrimenti il test da sempre valore falso e viene sempre eseguito
not (([Variabili].[Titolo]) Is Null)
tutto kiaro?
marco1474
17-05-2006, 17:54
il più semplice dei modi che mi viene in mente è questo:
dalla query in visualizzazione SQL, inserisci nella clausola "WHERE" (magari come prima clausola) questa espressione condizionale:
IIf(forms![nomedellaMascheraDesiderata].nomeCasella = "is Null";([Variabili].[Titolo]) Is Null;Not ([Variabili].[Titolo]) Is Null)
oppure dalla query in visualizzazione struttura, sulla riga CAMPO inserisci la stessa espressione condizionale, soltanto che sulla riga "criteri", riferita a questo campo creato, metti "<> Falso" (senza le virgolette).
Naturalmente la casella nella maschera che conterrà il valore deve contenere esattamente la stringa "is null", altrimenti il test da sempre valore falso e viene sempre eseguito
not (([Variabili].[Titolo]) Is Null)
tutto kiaro?
Akyra, grazie infinite per avermi risolto il problema. Il file corretto che mi hai spedito funziona a meraviglia. Ho cambiato le variabili e sto utilizzando quella stringa anche per il campo SIAE e tutto funziona a meraviglia. :ave:
Spero di poterti disturbare in futuro se dovessi bloccarmi di nuovo. :stordita:
Grazie ancora :)
Akyra, grazie infinite per avermi risolto il problema. Il file corretto che mi hai spedito funziona a meraviglia. Ho cambiato le variabili e sto utilizzando quella stringa anche per il campo SIAE e tutto funziona a meraviglia. :ave:
Spero di poterti disturbare in futuro se dovessi bloccarmi di nuovo. :stordita:
Grazie ancora :)
non c'è di che! "disturba" pure quanto vuoi!
ci sentiamo!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.