Requête avec champs vides

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gloops
Le #24295061
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.
db
Le #24295051
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
Albert
Le #24295741
Bonsoir Bonjour

"Gloops" 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.
Albert
Le #24295831
Bonjour /bonsoir

"db" 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
Albert
Le #24295851
Bonjour / Bonsoir
"Gloops" 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
Gloops
Le #24313151
"Albert" news:jiufda$msb$:

Bonjour / Bonsoir
"Gloops" 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 ...
Albert
Le #24313201
Bonsoir / Bonjour
"Gloops" news:jjguru$tek$
"Albert" 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
Gloops
Le #24316461
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.
Albert
Le #24323551
Bonsoir / Bonjour
"Albert" news:jjh4f7$p7f$
Bonsoir / Bonjour
"Gloops" news:jjguru$tek$
"Albert" 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
Gloops
Le #24323711
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.
Publicité
Poster une réponse
Anonyme