Date incorrecte dans requête Access

Résolu/Fermé
Plomy - 5 mai 2009 à 09:31
nicdev Messages postés 233 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 13 décembre 2010 - 5 mai 2009 à 12:42
Bonjour,

J'ai créé une base de donnée sous Access 2000 et je rencontre un problème que je n'arrive pas à résoudre.

En effet, lorsque je rentre des données dans le formulaire, les données se retrouvent dans la table sans problème (j'ai un formulaire avec un sous-formulaire et donc 2 tables différentes).
Par contre, j'ai créé une requête pour avoir la date de réception (table 1) et la date de traitement (table 2) et à chaque fois les données sont fausses.
Je ne comprends pas, dans la table et le formulaire, les informations sont exactes mais dans le résultat de la requête, toutes les dates deviennent identiques (alors qu'elles ne le sont pas dans la table et le formulaire).

Merci de m'aider à comprendre (précision : je n'utilise pas le mode SQL)

15 réponses

qmike Messages postés 1506 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 18 juin 2012 594
5 mai 2009 à 11:25
IL faut effectuer la relation avec deux champs dits "Communs"

Exemple :
Table Articles
CodeArticle --> Relation avec le champ RefArticle
Libellé
Date Achat

Table Mouvements
RefArticle ---> Relation avec le champs CodeArticle de la table Articles
DateMvt
etc.....
2
nicdev Messages postés 233 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 13 décembre 2010 87
5 mai 2009 à 09:33
Bonjour,

Pour t'aider il faudrai nous donner soit la requete sql soit le parametrage de ta recherche.
0
J'ai utilisé l'assistant pour créer ma requête en utilisant les deux tables et j'ai utilisé les champs date de réception (table 1) et date de traitement (table 2). J'ai relié ces deux champs étant donné qu'ils ne sont pas de la même table.
J'aimerai que le résultat me donne (ce qui serait les bonnes données) :

Date de réception |Date de traitement
04/05/2009 | 05/05/2009
04/05/2009 | 05/05/2009

Et non pas (ce qui est donné actuellement comme résultat) :

Date de réception |Date de traitement
04/05/2009 | 04/05/2009
04/05/2009 | 04/05/2009
0
J'ai oublié :

La date de réception est par défaut celle du jour Date()
Et la date de traitement ne peut pas être inférieur à la date de réception >=Date()
Et dans le formulaire et la table, ça marche.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nicdev Messages postés 233 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 13 décembre 2010 87
5 mai 2009 à 10:59
Il ne faut pas lier des dates ensemble directement il n'arrivera jamais à lier correctement les infos.

Pour retrouver des infos tu dois passer par une clef primaire ou par plusieurs champs.

Tu devrai pouvoir afficher la requete sql généré par l'assistant peux tu la fournir?

Je travaille exclusivement en requete SQL ce qui permet d'etre sûr de ce que l'on veut avoir et une requete est plus lisible pour trouver une erreur de parametrage de l'assistant.
0
Je ne savais pas que l'on ne pouvais pas relier des dates.

Voici le SQL :

SELECT [Table-prototype-demande].N°, [Table-prototype-demande].[Réception le], [Table-secondaire-traitement].[Traitement le]
FROM [Table-secondaire-traitement] INNER JOIN [Table-prototype-demande] ON [Table-secondaire-traitement].[Traitement le] = [Table-prototype-demande].[Réception le]
WHERE ((([Table-prototype-demande].[Réception le]) Between [Date de début] And [Date de fin]) AND (([Table-secondaire-traitement].[Traitement le]) Between [Date de début] And [Date de fin]));

Merci en tout cas !
0
qmike Messages postés 1506 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 18 juin 2012 594
5 mai 2009 à 11:09
bonjour
Oui il faut en premier vérifier les relations entre les deux tables

bonne journée
0
qmike : mais si je ne peux pas les relier ensemble alors que ces deux champs sont dans des tables différentes, je ne vois pas comment faire ?
Sachant que dans ma table 1, j'ai une clé primaire qui est le numéro automatique.
Dans la seconde, je n'en ai pas défini.
0
qmike Messages postés 1506 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 18 juin 2012 594
5 mai 2009 à 11:15
Si tu ne veux pas effectuer des relations entre cex deux tables
Tes résultats seront toujours faussés

Access est une base de données relationnelle
0
Pour l'instant les deux tables sont reliés par ces deux champs (date de réception dans la table 1 et date de traitement dans la table 2).
Mais comme il s'agit de dates et que je ne peux, si j'ai bien compris, pas les relier, je ne vois pas comment je peux faire.
0
nicdev Messages postés 233 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 13 décembre 2010 87
5 mai 2009 à 11:29
Il faut un lien entre tes 2 tables.

Je prends un exemple concret : Une Facture ( en gras la clef unique de la table qui permet d'identifier une information cela peut etre 1 ou 2 champ)

Table Facture :
N° Facture
Date
Montant Total

Table Ligne de Facture:
N° Facture
N°Ligne

Libellé de l'objet
Montant de l'objet
Nombre d'Objet

Si je veux traiter les montants je ne fait pas de liens sur les montants mais le N° Facture.

Tu dois faire un truc du même style pour retrouver tes dates.
0
qmike Messages postés 1506 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 18 juin 2012 594
5 mai 2009 à 11:36
pas du tout
Ta dexième table doit etre dotée un champ RefFacture en relation avec le champ Nuémro de facture de la première table
0
nicdev Messages postés 233 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 13 décembre 2010 87
5 mai 2009 à 12:04
Ce RefFacture peut avoir le même nom et accessoirement faire partie de la clef primaire.

La relation n'est pas forcément obligatoire.

Je code du SQL à longueur d'année sur différentes bases de données (Oracle, Sql Server, DB2, MySql, PostgreSql pour ne citer que celles là) je ne me base pas sur Access pour l'exemple.

Il est là uniquement pour expliquer la relation entre 2 tables. de manière simple
0
Merci beaucoup, ça marche :)
0
nicdev Messages postés 233 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 13 décembre 2010 87
5 mai 2009 à 12:42
de rien
0