Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requête avec champs vides

10 réponses
Avatar
Albert
Bonjour

Dans une vieille base de données MDB d'environ 1800 enregistremennts, je
fais des changements, un champ "Statut" 5 caractères rarement utilisé
autrefois, je le réutilise pour déterminer le sexe des membres.

Je veux faire une requête qui va lister les enregistrements ne contenant pas
"F" ou "M", donc tous les enregistrements vides ou qui contiennent autre
chose que F ou M.
J'ai essayé entre autre ( <>"F" ou <>"M" ) sans obtenir les résultats
voulus.

Voici en Mode SQL actuel:
SELECT TBLmbcc.Numéro, TBLmbcc.[ACTIF], TBLmbcc.STATUT, TBLmbcc.LASTNAME,
TBLmbcc.FIRSTNAME, Year([joindate]) AS Debut, Year([DUEDATE]) AS Fin,
Year([duedate])-Year([joindate]) AS Années_membre
FROM TBLmbcc
WHERE (((TBLmbcc.STATUT) Not Like "F"))
ORDER BY Year([joindate]);

Même cela ne liste pas les enregistrement ou Statut est vide ou nul.

Merci de votre aide.

--
albertri-at-videotron.ca.invalid

10 réponses

Avatar
Gloops
Albert a écrit, le 03/03/2012 18:23 :
Bonjour

Dans une vieille base de données MDB d'environ 1800 enregistremennts, je
fais des changements, un champ "Statut" 5 caractères rarement utilisé
autrefois, je le réutilise pour déterminer le sexe des membres.

Je veux faire une requête qui va lister les enregistrements ne conten ant
pas "F" ou "M", donc tous les enregistrements vides ou qui contiennent
autre chose que F ou M.
J'ai essayé entre autre ( <>"F" ou <>"M" ) sans obtenir les résulta ts
voulus.

Voici en Mode SQL actuel:
SELECT TBLmbcc.Numéro, TBLmbcc.[ACTIF], TBLmbcc.STATUT,
TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME, Year([joindate]) AS Debut,
Year([DUEDATE]) AS Fin, Year([duedate])-Year([joindate]) AS Années_me mbre
FROM TBLmbcc
WHERE (((TBLmbcc.STATUT) Not Like "F"))
ORDER BY Year([joindate]);

Même cela ne liste pas les enregistrement ou Statut est vide ou nul.

Merci de votre aide.




Bonjour,

Si il s'agit de lister les statuts nuls :
WHERE TBLmbcc.STATUT IS NULL
quoique, sous Access, il vaut autant vérifier si ce n'est pas
WHERE IsNull(TBLmbcc.STATUT)

Si il s'agit de lister tous les enregistrements, y compris ceux qui ont
un statut nul, dont le statut n'est ni F ni M :
WHERE Uppercase(Nz(TBLmbcc.STATUT, "")) <> "F" AND _
Uppercase(Nz(TBLmbcc.STATUT, "")) <> "M"

Vérifier le _ à la fin de la ligne : ça c'est bon en VB, en SQL j'e n
suis moins sûr.

Quelqu'un me trouvera peut-être une formule plus élégante du style
WHERE InStr(UpperCase(Nz(TBLmbcc.STATUT, "O")), "FM") = -1

Là j'ai mis "O" parce que si je mets une chaîne vide, on va toujours la
trouver au début. En fait à la place de -1 on mettrait 0, il me sembl e ?
Oui mais alors la réponse n'est pas la même que si on a un contenu
alphanumérique dans le champ.
Avatar
db
Le 03/03/2012 18:23, Albert a écrit :
Bonjour

Dans une vieille base de données MDB d'environ 1800 enregistremennts, je
fais des changements, un champ "Statut" 5 caractères rarement utilisé
autrefois, je le réutilise pour déterminer le sexe des membres.

Je veux faire une requête qui va lister les enregistrements ne contenant
pas "F" ou "M", donc tous les enregistrements vides ou qui contiennent
autre chose que F ou M.
J'ai essayé entre autre ( <>"F" ou <>"M" ) sans obtenir les résultats
voulus.

Voici en Mode SQL actuel:
SELECT TBLmbcc.Numéro, TBLmbcc.[ACTIF], TBLmbcc.STATUT,
TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME, Year([joindate]) AS Debut,
Year([DUEDATE]) AS Fin, Year([duedate])-Year([joindate]) AS Années_membre
FROM TBLmbcc
WHERE (((TBLmbcc.STATUT) Not Like "F"))
ORDER BY Year([joindate]);

Même cela ne liste pas les enregistrement ou Statut est vide ou nul.

Merci de votre aide.




Bonjour,

Essayer :

WHERE IsNull (TBLmbcc.STATUT) Or trim(TBLmbcc.STATUT)=""

db
Avatar
Albert
Bonsoir Bonjour

"Gloops" a écrit dans le message de
news:4f525d9d$0$679$
Albert a écrit, le 03/03/2012 18:23 :

Cela marche bien avec Uppercase enlevé.
WHERE (Nz(TBLmbcc.STATUT, "")) <> "F" AND _
(Nz(TBLmbcc.STATUT, "")) <> "M"
Exactement ce que je cherchais.

La fonction NZ, va-t'il falloir que je cherche dans le VBA, sans doute, je
vous reviendrai.

Pour la suggestion de DB je regarderai en soirée

Merci
Albert

Bonjour

Dans une vieille base de données MDB d'environ 1800 enregistremennts, je
fais des changements, un champ "Statut" 5 caractères rarement utilisé
autrefois, je le réutilise pour déterminer le sexe des membres.

Je veux faire une requête qui va lister les enregistrements ne contenant
pas "F" ou "M", donc tous les enregistrements vides ou qui contiennent
autre chose que F ou M.
J'ai essayé entre autre ( <>"F" ou <>"M" ) sans obtenir les résultats
voulus.

Voici en Mode SQL actuel:
SELECT TBLmbcc.Numéro, TBLmbcc.[ACTIF], TBLmbcc.STATUT,
TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME, Year([joindate]) AS Debut,
Year([DUEDATE]) AS Fin, Year([duedate])-Year([joindate]) AS Années_membre
FROM TBLmbcc
WHERE (((TBLmbcc.STATUT) Not Like "F"))
ORDER BY Year([joindate]);

Même cela ne liste pas les enregistrement ou Statut est vide ou nul.

Merci de votre aide.




Bonjour,

Si il s'agit de lister les statuts nuls :
WHERE TBLmbcc.STATUT IS NULL
quoique, sous Access, il vaut autant vérifier si ce n'est pas
WHERE IsNull(TBLmbcc.STATUT)

Si il s'agit de lister tous les enregistrements, y compris ceux qui ont
un statut nul, dont le statut n'est ni F ni M :
WHERE Uppercase(Nz(TBLmbcc.STATUT, "")) <> "F" AND _
Uppercase(Nz(TBLmbcc.STATUT, "")) <> "M"

Vérifier le _ à la fin de la ligne : ça c'est bon en VB, en SQL j'en
suis moins sûr.

Quelqu'un me trouvera peut-être une formule plus élégante du style
WHERE InStr(UpperCase(Nz(TBLmbcc.STATUT, "O")), "FM") = -1

Là j'ai mis "O" parce que si je mets une chaîne vide, on va toujours la
trouver au début. En fait à la place de -1 on mettrait 0, il me semble ?
Oui mais alors la réponse n'est pas la même que si on a un contenu
alphanumérique dans le champ.
Avatar
Albert
Bonjour /bonsoir

"db" a écrit dans le message de
news:4f525da7$0$6543$
Merci pour votre réponse, malheureusement cela ne donne pas le résultat
attendu.
La réponse deGloops OUI, voir ma réponse à Gloops.

Merci

Albert


Le 03/03/2012 18:23, Albert a écrit :
Bonjour

Dans une vieille base de données MDB d'environ 1800 enregistremennts, je
fais des changements, un champ "Statut" 5 caractères rarement utilisé
autrefois, je le réutilise pour déterminer le sexe des membres.

Je veux faire une requête qui va lister les enregistrements ne contenant
pas "F" ou "M", donc tous les enregistrements vides ou qui contiennent
autre chose que F ou M.
J'ai essayé entre autre ( <>"F" ou <>"M" ) sans obtenir les résultats
voulus.

Voici en Mode SQL actuel:
SELECT TBLmbcc.Numéro, TBLmbcc.[ACTIF], TBLmbcc.STATUT,
TBLmbcc.LASTNAME, TBLmbcc.FIRSTNAME, Year([joindate]) AS Debut,
Year([DUEDATE]) AS Fin, Year([duedate])-Year([joindate]) AS Années_membre
FROM TBLmbcc
WHERE (((TBLmbcc.STATUT) Not Like "F"))
ORDER BY Year([joindate]);

Même cela ne liste pas les enregistrement ou Statut est vide ou nul.

Merci de votre aide.




Bonjour,

Essayer :

WHERE IsNull (TBLmbcc.STATUT) Or trim(TBLmbcc.STATUT)=""

db
Avatar
Albert
Bonjour / Bonsoir
"Gloops" a écrit dans le message de
news:4f525d9d$0$679$
Albert a écrit, le 03/03/2012 18:23 :

Tel que répondu dans mon précédent message la fonction NZ donne le résultat
attendu, si ce n'est qu'ACCESS affiche le message «Fonction non définie
Uppercasse dans l'expression. » problème connu avec ACCESS 2000, et il n'y a
pas de référence MANQANTE, voir http://support.microsoft.com/kb/275110/fr

L'AIDE ACCESS 2010 ne mentionne rien sur la fonction NZ, mais sur mon autre
portable Vista avec Access 2007 et sur mon vieux XP avec Access 2000 l'aide
est là.

Un grand Merci

--
albertri-at-videotron.ca.invalid
Avatar
Gloops
"Albert" wrote in
news:jiufda$msb$:

Bonjour / Bonsoir
"Gloops" a écrit dans le message de
news:4f525d9d$0$679$
Albert a écrit, le 03/03/2012 18:23 :

Tel que répondu dans mon précédent message la fonction NZ donne le
résultat attendu, si ce n'est qu'ACCESS affiche le message «Fonction
non définie Uppercasse dans l'expression. » problème connu avec ACCESS
2000, et il n'y a pas de référence MANQANTE, voir
http://support.microsoft.com/kb/275110/fr




Uppercase s'écrit avec un seul s. Je viens de voir un site proposer
UCase.

ça fait la conversion en majuscules,

Argument : une chaîne de caractères.
Retourne : une chaîne de caractères.


L'AIDE ACCESS 2010 ne mentionne rien sur la fonction NZ, mais sur mon
autre portable Vista avec Access 2007 et sur mon vieux XP avec Access
2000 l'aide est là.



Ah, oui, Word 4 pour DOS était fourni avec un didacticiel qu'on pouvait
citer en exemple, depuis il faut bien reconnaître qu'il y a des hauts et
des bas en matière d'aide en ligne. Parfois, il faut faire attention
lors de l'installation à ce qu'on demande d'installer. On n'a pas
forcément toute l'aide par défaut.


Un grand Merci




Pas de quoi, content que ça marche ...
Avatar
Albert
Bonsoir / Bonjour
"Gloops" a écrit dans le message de
news:jjguru$tek$
"Albert" wrote in
news:jiufda$msb$:


Uppercase s'écrit avec un seul s. Je viens de voir un site proposer



Je suiis un très mauvais dactylo, je tape souvent des caratères en double ou
encore j'omets des caractères.

Aujourd'hui je me suis aperçu qu'une autre base de données de ma création
avait un problème semblable où des enregistrements vides sont apparus, mais
cette fois "Est pas NULL" a suffit pour corrigr le problème sur une copie
de la base qu'on m'a transmise. La semaine prochaine je vais supprimer les
enregistrements vides et ajouter "Est pas null" dans la requête comme
prévention, je vais essayer de faire les corrections à distance avec
TEAMVIEWER. L'utilisateur est à plus de 100km.


UCase.
ça fait la conversion en majuscules,
Argument : une chaîne de caractères.
Retourne : une chaîne de caractères.

Pas de quoi, content que ça marche ...



Et ça marche très bien

Merci


--
albertri-at-videotron.ca.invalid
Avatar
Gloops
Albert a écrit, le 11/03/2012 03:59 :
je vais essayer de faire les
corrections à distance avec TEAMVIEWER. L'utilisateur est à plus de 100km.




Oui, encore que pour une base Access, c'est peut-être aussi simple de
transmettre la base par mail ? Au besoin en la cryptant.
Sauf si on ne réussit vraiment pas à se comprendre, bien entendu ...

Pour les champs vides ça peut arriver à l'utilisateur, il suffit de
valider un peu vite. Dans certains cas d'ailleurs il peut être judicieu x
de mettre un contrôle lors de la saisie.
Avatar
Albert
Bonsoir / Bonjour
"Albert" a écrit dans le message de
news:jjh4f7$p7f$
Bonsoir / Bonjour
"Gloops" a écrit dans le message de
news:jjguru$tek$
"Albert" wrote in
news:jiufda$msb$:





. La semaine prochaine je vais supprimer les
enregistrements vides et ajouter "Est pas null" dans la requête comme
prévention, je vais essayer de faire les corrections à distance avec
TEAMVIEWER. L'utilisateur est à plus de 100km.



Aujourd'hui j'ai fait plusieurs petites corrections sur la dite base de
données en utilisant TeamViewer, au début le client était hésitant, mais
après quelques minutes il était conquis.

Dans un autre message tu mentionnes http://www.3stone.be/access/ , Je
n'ai pas vu Pierre sur aucun forum depuis plusieurs mois, est-il encore
actif ??

Salutations

--
albertri-at-videotron.ca.invalid
Avatar
Gloops
Albert a écrit, le 14/03/2012 19:59 :
Dans un autre message tu mentionnes http://www.3stone.be/access/ , Je
n'ai pas vu Pierre sur aucun forum depuis plusieurs mois, est-il encore
actif ??




Je ne l'ai pas vu non plus, je n'ai pas d'autre info.

Son site a l'air de fonctionner.