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

Rechercher si référence manquante

4 réponses
Avatar
accessetmoi
Bonjour

j'ai une table avec un champ iddossier avec un masque de saisie
0000\-00\-0999;0;

ce qui donne
2008-76-01
2008-76-02
2008-76-04

les quatre premiers chiffres correspondent =E0 l'ann=E9e, les deux autres
chiffres au d=E9partement et les quatres derniers chiffres au num=E9ro de
dossier sachant que cela commence
toujours par 01 puis 02 puis 03 ....et ainsi de suite

J'aimerai cr=E9er une requ=EAte pour v=E9rifier s'il n'y a pas un dossier
non pris en charge comme ici
le 2008-76-03

mais je ne vois pas comment faire

Merci d'avance

4 réponses

Avatar
Dragan
Bonsoir,

essaie cette requête qui renvoie entre deux iddossiers le nombre de dossiers
manquants
Pour l'exemple j'appelle ta table Dossiers

SELECT B.iddossier & " - " A.iddossier As [Position],
Val(Mid(A.iddossier,9))-Val(Mid(B.iddossier,9))-1 As [Nb dossiers manquants]
FROM Dossiers As A, Dossiers As B
WHERE Val(Mid(A.iddossier,9))-Val(Mid(B.iddossier,9))-1>0
AND B.iddossier BETWEEN (SELECT Max(iddossier) FROM Dossiers WHERE
iddossier<A.iddossier) AND A.iddossier


"" a écrit :

Bonjour

j'ai une table avec un champ iddossier avec un masque de saisie
0000-00-0999;0;

ce qui donne
2008-76-01
2008-76-02
2008-76-04

les quatre premiers chiffres correspondent à l'année, les deux autres
chiffres au département et les quatres derniers chiffres au numéro de
dossier sachant que cela commence
toujours par 01 puis 02 puis 03 ....et ainsi de suite

J'aimerai créer une requête pour vérifier s'il n'y a pas un dossier
non pris en charge comme ici
le 2008-76-03

mais je ne vois pas comment faire

Merci d'avance




Avatar
accessetmoi
Bonjour et merci

je ne comprends pas tout le code alors j'ai fait un copier coller en
remplaçant les noms du champ et table
mais j'ai une erreur
A noter mon champ s'appelle numerodossier et ma table tble_dossier

Erreur de syntaxe(opérateur absent) dans l'expression

B.numerodossier & " - " A.numerodossier


merci
Avatar
CErnst
B.numerodossier & " - " & A.numerodossier


a écrit dans le message de news:

Bonjour et merci

je ne comprends pas tout le code alors j'ai fait un copier coller en
remplaçant les noms du champ et table
mais j'ai une erreur
A noter mon champ s'appelle numerodossier et ma table tble_dossier

Erreur de syntaxe(opérateur absent) dans l'expression

B.numerodossier & " - " A.numerodossier


merci
Avatar
Dragan
Bonjour,
j'ai effectivement oublié le & précédant A.numerodossier

j'ai un peu modifié la requête :

SELECT B.numerodossier As [Entre le dossier], A.numerodossier As [et le
dossier],
Val(Mid(A.numerodossier,9))-Val(Mid(B.numerodossier,9))-1 As [Nb dossiers
manquants]
FROM tble_Dossier As A, tble_Dossier As B
WHERE Val(Mid(A.numerodossier,9))-Val(Mid(B.numerodossier,9))-1>0
AND B.numerodossier = (SELECT Max(numerodossier) FROM tble_Dossier WHERE
numerodossier<A.numerodossier AND numerodossier LIKE Left(A.numerodossier,8)
& "*")

L'idée de la requête est calculer l'écart entre deux dossiers consécutifs.

Val(Mid(numerodossier,9) => renvoie le nombre à droite du numéro de dossier
soit pour un numérodossier = 2008-76-02 => 2

B.numerodossier =(....) => récupère le numerodossier qui précède
A.numerodossier

soit
A.numerodossier B.numerodossier Ecart
2008-76-01 Null Null
2008-76-02 2008-76-01 (02-01-1)=0
2008-76-04 2008-76-02 (04-02-1)=1
2008-76-05 2008-76-04 (05-04-1)=0

la requête ne renvoie que les enregistrements pour lesquels l'écart est
supérieur à 0