Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2011, 20h58   #1
Invité de passage
 
Homme Francis
Inscription : mai 2011
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme Francis
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : mai 2011
Messages : 9
Points : 4
Points : 4
Par défaut Requete impossible ?

Bonjour

J'ai une table 'Valeur' qui enregistre des valeurs de plusieurs sondes au fil de l'eau.

Le champ qui enregistre la date du relevé est au format texte et les valeurs de date peuvent être à l'un des formats suivants :


D20110503 Valeur du jour du 03/05/2011
D20110504
W201112 Valeur de la semaine 12 de l'année 2011
W201113
M201101 Valeur du mois de janvier 2011
M201102
Y2011 Valeur de l'année 2011
Y2010


J'aimerai pouvoir faire des requêtes pour extraire les enregistrements par semaine de l'année et par mois de l'année, mais impossible de trouver la syntaxe correcte ...
cvfe13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 22h45   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 463
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 463
Points : 7 540
Points : 7 540
Je te conseil de faire une fonction qui va mettre tout cela au format date dans ta table puis ensuite de faire une requête. Ce sera plus facile à gérer.

Ci dessous une esquisse de fonction de conversion.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public function DecoderDate(prmDateSonde as string) as date
   dim result as date
 
   select case left(prmDateSonde, 1)
      case "D"
         result=dateserial(val(mid(prmDateSonde,2,4)), val(mid(prmDateSonde,6,2)), val(mid(prmDateSonde,8,2))
 
      case "W"
          'Calcul à partir de la semaine ... là j'ai pas d'idée
 
      case "M"
          result=dateserial(val(mid(prmDateSonde,2,4)), val(mid(prmDateSonde,6,2)), 1) 'J'ai pris 1 parce que c'est facile mais il faudrait peut-être prendre la fin du mois
 
      case "Y"
          result=dateserial(val(mid(prmDateSonde,2,4)), 12, 31)  'J'ai pris le 31 Dec de l'année mais il faudrait peut-être prendre autre chose
 
      case else
         'Cas impossible
         error 5
   end select
 
   DecoderDate=result
end function
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est actuellement connecté   Envoyer un message privé Réponse avec citation 30
Vieux 27/05/2011, 20h14   #3
Invité de passage
 
Homme Francis
Inscription : mai 2011
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme Francis
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : mai 2011
Messages : 9
Points : 4
Points : 4
Merci pour cette réponse rapide ...
Le problème, c'est que les données sont stockées de manière irrégulière.
Donc le 31 décembre ou le 30 juin, je n'aurai pas forcément une donnée valide, puisque pas d'enregistrement à ce jour...

Je crois avoir trouvé une esquisse de solution en passant par une requête sql
like 'M2010*' qui me permet de trouver tous les mois de l'année 2010.

Merci pour ta contribution.
cvfe13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 21h14   #4
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 463
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 463
Points : 7 540
Points : 7 540
Je suis d'accord avec toi, si tu n'a pas l'information tu ne peux pas être certain de la date mais tu peux décider, par exemple, que "Si je n'ai pas la date exacte alors les données sont supposées avoir été captées le 31 Dec de l'année."

J'ai eu un cas ou mon système EXGIGEAIT que j'entre une date de naissance, nous avons donc convenu que toute personne dont nous n'avions pas la date de naissance était née le 01/01/1901 et que toute personne dont nous n'avions que l'année de naissance était née le 01/01 de l'année.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h59.


 
 
 
 
Partenaires

Hébergement Web