Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[Requete SQL] requete sql entr des dates/heur

ZOUZOU, le mercredi 6 décembre 2006 à 10:53:06
bonjour,
je programme en vba sous access.
Je dispose d'une table nommée TOUT avec des champs DATEAPPEL et HEUREAPPEL.
Je souhaite generér une requete qui selectionne toutes les fiches d'appels ,par ex ,comprise entre le 04/09 09:00 et le 05/09 12:00.
Mon souci c'est que je dispose de 2 champs separés DATE et HEURE.

Voici ma requete

req1 = "SELECT TOUT.MARCHE, TOUT.CODEMARCHE, TOUT.TELEACT, TOUT.DATEAPPEL, TOUT.RESULTAT "
req1 = req1 + " INTO [STATS CC]FROM TOUT "
req1 = req1 + " WHERE (((TOUT.DATEAPPEL) between DATEDEBUT AND DATEFIN) "
req1 = req1 + " AND ((TOUT.HEUREAPPEL)between HEUREDEBUT AND HEUREFIN)"
req1 = req1 + " AND RESULTAT<>'RAPPEL' AND RESULTAT<>'NRP' AND RESULTAT<>'STOPC' "
req1 = req1 + " AND RESULTAT<>'STOPCA'AND RESULTAT<>'');"
'**
DoCmd.RunSQL (req1)

Elle fonctionne mais elle me prend que les appels du 04/09 de 09h à 12h et du 05/09 de 09h a 12h.
Ce qu'il me faut c'est c'est les appels du 04/09 09h au 05/09 12h
Merci pour votre aide
Répondre à ZOUZOU  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le mercredi 6 décembre 2006 à 11:18:35
Salut,

il faut mettre des parenthèses et enlever le between, ça doit donner un truc comme ça :
WHERE ((DATEAPPEL > DATEDEBUT AND HEUREAPPEL > HEURE DEBUT) AND (DATEAPPEL < DATEFIN AND HEUREAPPEL > HEUREFIN))
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
zouzou, le mercredi 6 décembre 2006 à 12:04:29
J'ai executer comme tu me l'as dit mais CA NE FONCTIONNE TOUJOURS PAS
AS-TU UNE AUTRE SOLUTION ????

req1 = "SELECT TOUT.MARCHE, TOUT.CODEMARCHE, TOUT.TELEACT, TOUT.DATEAPPEL, TOUT.RESULTAT "
req1 = req1 + " INTO [STATS CC]FROM TOUT "
req1 = req1 + " WHERE ((((TOUT.DATEAPPEL)>=DATEDEBUT AND (TOUT.HEUREAPPEL)>=HEUREDEBUT )"
req1 = req1 + " AND ((TOUT.DATEAPPEL)<=DATEFIN AND(TOUT.HEUREAPPEL)<= HEUREFIN))"
req1 = req1 + " AND RESULTAT<>'RAPPEL' AND RESULTAT<>'NRP' AND RESULTAT<>'STOPC' "
req1 = req1 + " AND RESULTAT<>'STOPCA'AND RESULTAT<>'');"
Répondre à zouzou

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le mercredi 6 décembre 2006 à 12:35:25
Ca ne marche pas : tu as les même résultats qu'avant ou pas les résultats attendus ?

Tes champs DATEAPPEL et HEUREAPPEL sont déclarés comment ?
Ont-ils le même format que DATEDEBUT HEUREDEBUT DATEFIN HEUREFIN ?
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
zouzou, le mercredi 6 décembre 2006 à 14:12:52
J'ai les mêmes resultats qu'avant.
Mes champs DATEAPPEL et HEUREAPPEL (dans ma table TOUT) sont de type date et je les redeclare une deuxieme fois au cas ou.



Private Sub AJOUT_Click()

Dim DATEDEBUT As Date
Dim DATEFIN As Date
Dim HEUREDEBUT As Date
Dim HEUREFIN As Date

Set db = CurrentDb()

DATEDEBUT = Me.DATEDEBUT.Value
DATEFIN = Me.DATEFIN.Value
HEUREDEBUT = Left(Me.HEUREDEBUT.Value, 5)
HEUREFIN = Left(Me.HEUREFIN.Value, 5)

DoCmd.SetWarnings False

'REQUETE tri DATE ET CA+CNA
req1 = "SELECT TOUT.MARCHE, TOUT.CODEMARCHE, TOUT.TELEACT, TOUT.DATEAPPEL, TOUT.RESULTAT "
req1 = req1 + " INTO [STATS CC]FROM TOUT "
req1 = req1 + " WHERE ((((TOUT.DATEAPPEL)>=DATEDEBUT AND (TOUT.HEUREAPPEL)>=HEUREDEBUT )"
req1 = req1 + " AND ((TOUT.DATEAPPEL)<=DATEFIN AND(TOUT.HEUREAPPEL)<= HEUREFIN))"
req1 = req1 + " AND RESULTAT<>'RAPPEL' AND RESULTAT<>'NRP' AND RESULTAT<>'STOPC' "
req1 = req1 + " AND RESULTAT<>'STOPCA'AND RESULTAT<>'');"
Répondre à zouzou

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le mercredi 6 décembre 2006 à 14:33:49
Je ne sais pas ce que peut donner un champ date auquel tu gardes les 5 premiers caractères...

Comment fais-tu pour les déclarer une deuxième fois en date ?

Peut-être que tu devrais changer le format d'affichage des champs HEURE dans la description de la table pour que les tests soient faits sur des données "identiques"...
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
zouzou, le mercredi 6 décembre 2006 à 15:10:54
On saisi dans un formulaire les heures de debut et fin mais quand je recupere ma valeur ca me donne 09:00:00 en fait ca compte les secondes, c'est pour ca que je prend que les 5 premiers chiffres.
Et dans ma table le champ heureappel est defini en date (car sur access on peur choisir que le format date/heure) et il est note ainsi 09:00.
quand j'execute ma requete je peux donc avoir les mêmes données a comparer 09:00 >=09:00 et non 09:00 >= 09:00:00

La requete fonctionne mais ca me prend par ex que les fiches du 04/09 de 09:00 à 12:00 et du 05/09 de 09:00 a 12:00 au lieu du 04/09 09:00 au 05/09 12:00.

A l'aide svp...

extrait code

Dim HEUREDEBUT As Date
Dim HEUREFIN As Date


Set db = CurrentDb()

DATEDEBUT = Me.DATEDEBUT.Value
DATEFIN = Me.DATEFIN.Value
HEUREDEBUT = Left(Me.HEUREDEBUT.Value, 5)
HEUREFIN = Left(Me.HEUREFIN.Value, 5)


DoCmd.SetWarnings False

req1 = "SELECT TOUT.MARCHE, TOUT.TYPE_MARCHE, TOUT.CODEMARCHE, TOUT.TELEACT, TOUT.DATEAPPEL, TOUT.RESULTAT "
req1 = req1 + " INTO [STATS CC]FROM TOUT "
req1 = req1 + " WHERE ((((TOUT.DATEAPPEL)>=DATEDEBUT AND (TOUT.HEUREAPPEL)>=HEUREDEBUT )"
req1 = req1 + " AND ((TOUT.DATEAPPEL)<=DATEFIN AND(TOUT.HEUREAPPEL)<= HEUREFIN))"
req1 = req1 + " AND RESULTAT<>'RAPPEL' AND RESULTAT<>'NRP' AND RESULTAT<>'STOPC' "
req1 = req1 + " AND RESULTAT<>'STOPCA'AND RESULTAT<>'');"
Répondre à zouzou

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le mercredi 6 décembre 2006 à 15:13:22
T'as essayé de mettre des #, c'est le séparateur officiel des champs de type date/heure ?
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
zouzou, le mercredi 6 décembre 2006 à 15:16:47
non ca ne marche pas avec les #
je pense pas que ce soit une histoire de format car je reussi quand meme a avoir des enregistrements.
Je pense que c'est la tournure de ma requete et je n'arrive pas a trouver comment la modifier
Répondre à zouzou

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
blux, le jeudi 7 décembre 2006 à 11:21:08
Pourtant elle ne me choque pas, je sèche...
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ZOUZOU, le jeudi 7 décembre 2006 à 11:33:59
Moi aussi je seche.
je me demande pas si c'est une histoire de OR
WHERE ((((TOUT.DATEAPPEL)>=DATEDEBUT AND (TOUT.HEUREAPPEL)>=HEUREDEBUT ) OR ((TOUT.DATEAPPEL)<=DATEFIN AND(TOUT.HEUREAPPEL)<= HEUREFIN))

Mais ca marche pas aussi

ce qu'il faudrait c'est
WHERE ((((TOUT.DATEAPPEL)>=DATEDEBUT AND (TOUT.HEUREAPPEL)>=HEUREDEBUT ) BETWEEN ((TOUT.DATEAPPEL)<=DATEFIN AND(TOUT.HEUREAPPEL)<= HEUREFIN))

le probleme c'est que le between est utilisable entre deux champs
Répondre à ZOUZOU

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 ZOUZOU, le jeudi 7 décembre 2006 à 11:35:25
j'ai posté une autre question le 07/12 mais personne a repondu est-ce que tu peux jeter aussi un coup d'oeil
Répondre à ZOUZOU

Résultats pour [Requete SQL] requete sql entr des dates/heur

Afficher resultat requete sql dans datagrid (Résolu) Bonjour, Je debute sous VB 6 et j'aimerai afficher le résultat d'une requete sql dans un datagrid. J'ai mis ma requete dans une variable string nommée requete. Sur un site j'ai obtenu le code suivant : Sub remplir_grid() Dim sql As... www.commentcamarche.net/forum/affich-6928886-afficher-resultat-requete-sql-dans-datagrid
[SQL] Requète SQL impliquant 2 bases de donne (Résolu) Bonjour à tous et toutes, J'aurais aimé savoir s'il était possible de faire des requètes SQL sur 2 bases de donnees distinctes du genre : mysql_connect('localhost','root',''); mysql_select_db('DB1');... www.commentcamarche.net/forum/affich-4927487-sql-requete-sql-impliquant-2-bases-de-donne
[access] Variable dans une requete sql (Résolu) Variable dans une requete sql Je n’arrive pas à intégrer une variable dans une instruction sql Voilà mon code Dim T as date Dim T1 as date T = Val(Datett.Value) T1 = DateAdd("m", 1, T) DoCmd.RunSQL "INSERT INTO Table1tampon ( Material, [material... www.commentcamarche.net/forum/affich-3121918-access-variable-dans-une-requete-sql

Résultats pour [Requete SQL] requete sql entr des dates/heur

Requete SQL, selection des dates recentes (Résolu)Bonjour, je cherche à faire un requete SQL, à mon avis pas tres difficile pour un initié. Voila en fait j'ais une talbe de procedure avec 1 identifiant auto. Chaque ligne correspond à une procedure de mise à jour. Chaque procedure de mise à jour... www.commentcamarche.net/forum/affich-5389693-requete-sql-selection-des-dates-recentes
[Access] : Requete SQL en VBa (Résolu)Salut à tous je cherche de l'aide pour creer une requete SQL dans le VB fournit avec Access en faite je veux ecrire une requete qui tiendra compte de ce que j'aurais choisit dans ma zone de liste exemple: SELECT PC.nom_PC FROM PC WHERE... www.commentcamarche.net/forum/affich-2747677-access-requete-sql-en-vba
[Access 2003]Affichage 2 requêtes SQL en une (Résolu)Bonjour, je vous expose mon problème. J'ai deux requête SQL que j'aimerais afficher dans une seule requête. SELECT nego_travaux.nego_travaux, commande.nom_site, commande.code_site, commande.n_commande, commande.montant_commande,... www.commentcamarche.net/forum/affich-8125104-access-2003-affichage-2-requetes-sql-en-une

Résultats pour [Requete SQL] requete sql entr des dates/heur

Exécution de requêtes avec JDBCExécution d'une requête SQL Pour exécuter une requête SQL, il s'agit dans un premier temps de créer un objet Statement, pouvant être obtenu à partir de l'objet Connection. Un objet ResultSet permettra de récupérer les données en provenance de... www.commentcamarche.net/contents/jdbc/jdbcexec.php3