Info entre 2 dates SQL VB6
Betty
-
Erakmur -
Erakmur -
Bonjour,
Voilà, je suis entrain de crée une GMAO, et je suis en phase final, mais je reste bloquer sur un probléme de requete SQL sur mon code VB6.
Le but: lors de la génération du document excel ,je dois préciser un interval de date (zone texte : date1 et date2) pour avoir un rapport mensuel par exemple . le but c'est d'avoir les données où date inscription entre date1 et date2, mais j'ai toujours une erreur de "type incompatible"
NB: les date sous access sont declarées sous format DATE
Voilà ma requete :
sql2 = " SELECT OPERATION.OPER_CODE, OPERATION.OPER_LIBELLE, OPERATION.OPER_PERMIS_TRAVAIL, OPERATION.OPER_ORDRE_TRVAIL, OPERATION.TOPE_CODE, TYPE_OPERATION.TOPE_LIBELLE, OPERATION.AVAN_CODE, ETAT_AVANCEMENT.AVAN_LIBELLE, LOCALISATION_OPER.TRAV_CODE, EQUIPE_TRAVAUX.TRAV_LIBELLE, OPERATION.OPER_SUPER, OPERATION.DEM_CODE, LOCALISATION_OPER.DOM_CODE, EQUIPEMENTS.FAME_CODE, FAMILLE_EQUIPEMENT.FAME_LIBELLE, LOCALISATION_OPER.EQIP_CODE, EQUIPEMENTS.EQIP_LIBEL_COURT, OPERATION.OPER_T_DEF, LOCALISATION_OPER.SITE_CODE, SITE.SITE_LIBELLE, LOCALISATION_OPER.BAT_CODE, BATIMENT.BAT_DESI, BATIMENT.TBAT_CODE, LOCALISATION_OPER.ZONE_CODE, ZONES.ZONE_LIBELLE, ZONES.TZON_CODE, LOCALISATION_OPER.LOCA_CODE, LOCALE.LOCA_LIBELLE, LOCALE.TLOC_CODE, LOCALISATION_OPER.AFFA_CODE, AFFAIRE.AFFA_LIBELLE, OPERATION.OPER_DATEINSCRI, OPERATION.OPER_HEUREINSCRI, OPERATION.OPER_DATEDEBUTP, OPERATION.OPER_HEURDEBUTP, OPERATION.OPER_DUREEJOURP, OPERATION.OPER_DATEFINP, OPERATION.OPER_HEURFINP, OPERATION.OPER_DUREEPRESP," & _
" OPERATION.OPER_DATEDEBUTR,OPERATION.OPER_HEURDEBUTR , OPERATION.OPER_DUREEJOURR, OPERATION.OPER_DATEFINR, OPERATION.OPER_HEURFINR, OPERATION.OPER_DUREEPRESR, OPERATION.OPER_COMMENTAIRE, OPERATION.OPER_COUTP, OPERATION.OPER_COUTFOURNIP, OPERATION.OPER_COUTR, OPERATION.OPER_COUTHEURESR, OPERATION.OPER_COUTFOURNIR, OPERATION.OPER_COUTDIVERS, OPERATION.OPER_CONTENU, OPERATION.OPER_CONSIPARTI, OPERATION.OPER_CPTRENDU, OPERATION.OPER_CAUSE_TSVA, OPERATION.OPER_TSVA, OPERATION.OPER_DUREE_ASTREINTE" & _
" FROM ((((SITE INNER JOIN (FAMILLE_EQUIPEMENT INNER JOIN (EQUIPEMENTS INNER JOIN ((ETAT_AVANCEMENT INNER JOIN (TYPE_OPERATION INNER JOIN (OPERATION INNER JOIN LOCALISATION_OPER ON OPERATION.OPER_CODE = LOCALISATION_OPER.OPER_CODE) ON TYPE_OPERATION.TOPE_CODE = OPERATION.TOPE_CODE) ON ETAT_AVANCEMENT.AVAN_CODE = OPERATION.AVAN_CODE) INNER JOIN EQUIPE_TRAVAUX ON LOCALISATION_OPER.TRAV_CODE = EQUIPE_TRAVAUX.TRAV_CODE) ON EQUIPEMENTS.EQIP_CODE = LOCALISATION_OPER.EQIP_CODE) ON FAMILLE_EQUIPEMENT.FAME_CODE = EQUIPEMENTS.FAME_CODE) ON SITE.SITE_CODE = LOCALISATION_OPER.SITE_CODE) INNER JOIN BATIMENT ON LOCALISATION_OPER.BAT_CODE = BATIMENT.BAT_CODE) INNER JOIN ZONES ON LOCALISATION_OPER.ZONE_CODE = ZONES.ZONE_CODE) INNER JOIN LOCALE ON LOCALISATION_OPER.LOCA_CODE = LOCALE.LOCA_CODE) INNER JOIN AFFAIRE ON LOCALISATION_OPER.AFFA_CODE = AFFAIRE.AFFA_CODE" & _
" WHERE ((OPERATION.OPER_DATEINSCRI BETWEEN ('%" & Date1 & "%') AND ('%" & Date2 & "%')))" & _
" ORDER BY OPERATION.OPER_CODE"
Merci pour votre aide
Voilà, je suis entrain de crée une GMAO, et je suis en phase final, mais je reste bloquer sur un probléme de requete SQL sur mon code VB6.
Le but: lors de la génération du document excel ,je dois préciser un interval de date (zone texte : date1 et date2) pour avoir un rapport mensuel par exemple . le but c'est d'avoir les données où date inscription entre date1 et date2, mais j'ai toujours une erreur de "type incompatible"
NB: les date sous access sont declarées sous format DATE
Voilà ma requete :
sql2 = " SELECT OPERATION.OPER_CODE, OPERATION.OPER_LIBELLE, OPERATION.OPER_PERMIS_TRAVAIL, OPERATION.OPER_ORDRE_TRVAIL, OPERATION.TOPE_CODE, TYPE_OPERATION.TOPE_LIBELLE, OPERATION.AVAN_CODE, ETAT_AVANCEMENT.AVAN_LIBELLE, LOCALISATION_OPER.TRAV_CODE, EQUIPE_TRAVAUX.TRAV_LIBELLE, OPERATION.OPER_SUPER, OPERATION.DEM_CODE, LOCALISATION_OPER.DOM_CODE, EQUIPEMENTS.FAME_CODE, FAMILLE_EQUIPEMENT.FAME_LIBELLE, LOCALISATION_OPER.EQIP_CODE, EQUIPEMENTS.EQIP_LIBEL_COURT, OPERATION.OPER_T_DEF, LOCALISATION_OPER.SITE_CODE, SITE.SITE_LIBELLE, LOCALISATION_OPER.BAT_CODE, BATIMENT.BAT_DESI, BATIMENT.TBAT_CODE, LOCALISATION_OPER.ZONE_CODE, ZONES.ZONE_LIBELLE, ZONES.TZON_CODE, LOCALISATION_OPER.LOCA_CODE, LOCALE.LOCA_LIBELLE, LOCALE.TLOC_CODE, LOCALISATION_OPER.AFFA_CODE, AFFAIRE.AFFA_LIBELLE, OPERATION.OPER_DATEINSCRI, OPERATION.OPER_HEUREINSCRI, OPERATION.OPER_DATEDEBUTP, OPERATION.OPER_HEURDEBUTP, OPERATION.OPER_DUREEJOURP, OPERATION.OPER_DATEFINP, OPERATION.OPER_HEURFINP, OPERATION.OPER_DUREEPRESP," & _
" OPERATION.OPER_DATEDEBUTR,OPERATION.OPER_HEURDEBUTR , OPERATION.OPER_DUREEJOURR, OPERATION.OPER_DATEFINR, OPERATION.OPER_HEURFINR, OPERATION.OPER_DUREEPRESR, OPERATION.OPER_COMMENTAIRE, OPERATION.OPER_COUTP, OPERATION.OPER_COUTFOURNIP, OPERATION.OPER_COUTR, OPERATION.OPER_COUTHEURESR, OPERATION.OPER_COUTFOURNIR, OPERATION.OPER_COUTDIVERS, OPERATION.OPER_CONTENU, OPERATION.OPER_CONSIPARTI, OPERATION.OPER_CPTRENDU, OPERATION.OPER_CAUSE_TSVA, OPERATION.OPER_TSVA, OPERATION.OPER_DUREE_ASTREINTE" & _
" FROM ((((SITE INNER JOIN (FAMILLE_EQUIPEMENT INNER JOIN (EQUIPEMENTS INNER JOIN ((ETAT_AVANCEMENT INNER JOIN (TYPE_OPERATION INNER JOIN (OPERATION INNER JOIN LOCALISATION_OPER ON OPERATION.OPER_CODE = LOCALISATION_OPER.OPER_CODE) ON TYPE_OPERATION.TOPE_CODE = OPERATION.TOPE_CODE) ON ETAT_AVANCEMENT.AVAN_CODE = OPERATION.AVAN_CODE) INNER JOIN EQUIPE_TRAVAUX ON LOCALISATION_OPER.TRAV_CODE = EQUIPE_TRAVAUX.TRAV_CODE) ON EQUIPEMENTS.EQIP_CODE = LOCALISATION_OPER.EQIP_CODE) ON FAMILLE_EQUIPEMENT.FAME_CODE = EQUIPEMENTS.FAME_CODE) ON SITE.SITE_CODE = LOCALISATION_OPER.SITE_CODE) INNER JOIN BATIMENT ON LOCALISATION_OPER.BAT_CODE = BATIMENT.BAT_CODE) INNER JOIN ZONES ON LOCALISATION_OPER.ZONE_CODE = ZONES.ZONE_CODE) INNER JOIN LOCALE ON LOCALISATION_OPER.LOCA_CODE = LOCALE.LOCA_CODE) INNER JOIN AFFAIRE ON LOCALISATION_OPER.AFFA_CODE = AFFAIRE.AFFA_CODE" & _
" WHERE ((OPERATION.OPER_DATEINSCRI BETWEEN ('%" & Date1 & "%') AND ('%" & Date2 & "%')))" & _
" ORDER BY OPERATION.OPER_CODE"
Merci pour votre aide
A voir également:
- Info entre 2 dates SQL VB6
- Supercopier 2 - Télécharger - Gestion de fichiers
- Vb6 - Télécharger - Divers Utilitaires
- Nombre de jours entre deux dates excel - Guide
- Crystal disk info - Télécharger - Informations & Diagnostic
- Info pc - Guide
3 réponses
Bonjour,
Tout d'abord il faut que le format date soit formaté. Par défaut c'est le format US (mm/dd/yyyy), ensuite il faut ajouter les sharpes (#) pour entourer la date:
WHERE ((OPERATION.OPER_DATEINSCRI BETWEEN ('% #" & Date1 & "# %') AND ('% #" & Date2 & "# %')))"
;o)
Tout d'abord il faut que le format date soit formaté. Par défaut c'est le format US (mm/dd/yyyy), ensuite il faut ajouter les sharpes (#) pour entourer la date:
WHERE ((OPERATION.OPER_DATEINSCRI BETWEEN ('% #" & Date1 & "# %') AND ('% #" & Date2 & "# %')))"
;o)
Salut Plux31,
1- comment formater le format date ?
2- j'ai déja tester avec les sharpes (#) ca ne marche pas :(
tu as d'autres idées«????
Merci pour l'interet
1- comment formater le format date ?
2- j'ai déja tester avec les sharpes (#) ca ne marche pas :(
tu as d'autres idées«????
Merci pour l'interet
Date1 = Format(Date1,"mm/dd/yyyy")
Tu fais de même pour Date2 et tu mets ça juste avant Sql 2 = "SELECT .....
Sinon, dans Access tu vas dans requête et tu ouvres une nouvelle requête, tu passes en mode SQL et tu colles ta requête en mettant des dates à la place de Date1 et Date2. Exécutes la requête pour voir si tu as un message d'erreur ou si elle passe.
;o)