Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
692 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  A L'AIDE!!! recuperer et comparer date et heure [VBA]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

A L'AIDE!!! recuperer et comparer date et heure [VBA]

n°1594945
La poisse1
Posté le 02-08-2007 à 14:18:01  profilanswer
 

re bonjour a tous...
 
alors voila... le post de tout à l'heure a pour but de lier une doc technique, mais j'ai besoin de pouvoir stocker des rapports de controles qualité... qui doivent etre faits tous les 6mois.  
l'objectif est de créer une sorte de journal des choses a faire sur 6mois...  
 
l'utilisateur entre une date dans le champ "EcheanceProchainControle"
je voudrais faire une fonction qui me calcule le nombre de jours qui sépare la date d'aujourd'hui de ma variable EchanceProchainControle et afficher cela dans un formulaire prévu a cet effet...
 
donc il me faut quelques bouts de code, à savoir:  
importer la date du jour dans une variable,  
comparer cette date a mon champ EcheanceProchainControle,
et l'afficher dans un label...  
 
pensez vous que ce soit possible?
simple?
a ma portée sachant que je suis une quiche?
 
merci a ceux qui liront...


Message édité par La poisse1 le 02-08-2007 à 14:41:28
mood
Publicité
Posté le 02-08-2007 à 14:18:01  profilanswer
 

n°1594985
La poisse1
Posté le 02-08-2007 à 15:12:12  profilanswer
 

depuis quelques jours que je fouille je trouve rien, et maintenant que j'ai posté je trouve...
 
voila mon code:
 
 Dim prochainControle As String
    Dim DateDuJour  As Date
    Dim EcartDate As Date
     
    DateDuJour = Format(Now, "mm/dd/yyyy" )
    MsgBox DateDuJour
     
    prochainControle = Form_Tbl_F2_CQ_NivB.DateEcheanceProchainControle.Value
    MsgBox prochainControle
 
    EcartDate = DateDiff("d", DateDuJour, prochainControle)
    MsgBox EcartDate
     
 
par contre quand il calcule l'écart il m'affiche une date bizarre: si je rentre comme date du prochain contrôle le 02/08/2008, j'aimerai qu'il me dise qu'il reste 365 jours... or il m'affiche une date bizarre:  
30/12/1900... coment je fais ma comparaison du coup?

n°1595000
seniorpapo​u
Posté le 02-08-2007 à 15:28:31  profilanswer
 

Bonjour,  
Dim EcartDate As Date  
 
c'est normal qu'il affiche une date
Cordialement

n°1595020
La poisse1
Posté le 02-08-2007 à 15:53:14  profilanswer
 

hmmm... en effet...  
merci

n°1595028
La poisse1
Posté le 02-08-2007 à 16:01:58  profilanswer
 

donc je viens de la passer en string et ca fonctionne nickel j'ai un nombre de jour... merci

n°1595031
seniorpapo​u
Posté le 02-08-2007 à 16:03:08  profilanswer
 

Bonjour,
si c'est pour affichage en string c'est bon, mais pour un calcul passe le en long
Cordialement

n°1595066
La poisse1
Posté le 02-08-2007 à 16:31:09  profilanswer
 

ben... ca va dependre de la suite des evenements en fait... pour l'instant tout cela est écrit dans un module appelé  
public Sub Syst_Alerte()
maintenant ca risque de se corser... il faut que je déclenche ma fonction alors que le formulaire Form_Tbl_F2_CQ_NivB est fermé... le but c'est d'avoir une alerte dans un label spécifiquement créé a cet effet. sur un meme appareil il se peut que plusieurs dates soient enregistrés. mon affichage ne se déclenchera donc que si l'écart calculé est superieur a 0.
mais avec un string ca marche bien: voila mon module en entier:
 
Public Sub Syst_Alerte()
    Dim prochainControle As String
    Dim DateDuJour  As Date
    Dim EcartDate As String
     
     
    DateDuJour = Format(Now, "dd/mm/yyyy" )
    MsgBox DateDuJour
     
    prochainControle = Form_Tbl_F2_CQ_NivB.DateEcheanceProchainControle.Value
    MsgBox prochainControle
     
    EcartDate = DateDiff("d", DateDuJour, prochainControle)
    MsgBox "nomre de jours:" & EcartDate
     
    If 0 < EcartDate And EcartDate < 92 Then
    MsgBox "il ne vous reste plus que " & EcartDate & " jours avant la date du prochain controle qualité", , "/!\/!\ ATTENTION /!\/!\"
           
    End If
     
End Sub
 
mais la il prend la valeur contenue dans le champ de mon formulaire, j'imagine que cela ne fonctionnera plus si le formulaire n'est plus chargé...

n°1595088
La poisse1
Posté le 02-08-2007 à 16:47:05  profilanswer
 

comment puis-je modifier mon programme pour qu'il aille fouiller mes tables directement et qu'il ne me retourne que les dates qui concernent un appareil précis et dont la date du prochain controle est superieure a la date du jour? (ca ressemble beaucoup a une requete SQL tout ca...mais je sais pas faire! je suis tout jeune en programmation moi...)
 

n°1595165
seniorpapo​u
Posté le 02-08-2007 à 18:34:26  profilanswer
 

Bonsoir,
tu travailles avec Access?
 
une requete du style :
SELECT matable.Titre, matable.Prénom, matable.Nom, matable.Suffixe
FROM matable
WHERE (((matable.Prénom)="jules" ) AND ((matable.Suffixe)>Now()));
Bonne soirée
 
 

n°1595294
La poisse1
Posté le 03-08-2007 à 09:50:45  profilanswer
 

oui! je suis sous access...  
la j'ai légèrement modifié mon programme et un peu réfléchi aussi...  
en fait il ne peut y avoir qu'un seul contôle programmé par appareil. il faudrait donc qu'il execute le programme avec la requête bien comme il faut a chaque changement d'enregistrement d'appareil, ou qu'il me stocke dans une table toutes les valeurs pour chaque appareil (tout en gardant le lien entre les jours restant stockés et mes appareils, et au'il les affiche dans la zone prévue a cet effet.  
 
je pense que ma requete va ressembler a cela:
 
SELECT Tbl_E2_Installation_Appareil.ModeleInstall, Tbl_E2_Installation_Appareil.numserieInstall,Tbl_E2_Installation_Appareil.DateEcheanceProchainControle
FROM Tbl_E2_Installation_Appareil
Where (((Tbl_E2_Installation_Appareil.ModeleInstall)="La valeur de ma zone de texte" ) AND ((Tbl_E2_Installation_Appareil.DateEcheanceProchainControle)>Now()))
 
et donc il faut que je trouve le moyen de remplacer le champ "La Valeur De ma zone de texte" par quelque chose de plus joli...  
 
j'éssaye et je vous redit... merci beaucoup!

mood
Publicité
Posté le 03-08-2007 à 09:50:45  profilanswer
 

n°1595320
La poisse1
Posté le 03-08-2007 à 10:30:57  profilanswer
 

alors... ma requete est écrite en SQL, comment puis-je l'écrire en VBA? est-ce seulement envisageable?
 
l'objectif c'est de tout écrire dans une seule et meme fonction, en plus si je l'écris en VBA je peux me servir de mes variables créés dans ma fonction..


Message édité par La poisse1 le 03-08-2007 à 10:32:25
n°1595326
seniorpapo​u
Posté le 03-08-2007 à 10:37:59  profilanswer
 

Re,
regarde dans l'aide :  docmd    et la méthode RunSql
 
mais peut-être en regardant du côté d'un sous-formulaire  avec la requète comme source


Message édité par seniorpapou le 03-08-2007 à 10:39:58
n°1595329
La poisse1
Posté le 03-08-2007 à 10:41:28  profilanswer
 

je regarde ca... Ah ben non, je vais pas pouvoir regarder finalement...  
j'ai fait F1, et la il a essayé d'installer quelauechose, avant de m'envoyer petre... impossible de consulter l'aide, fonction non installé...  
simpatoche mes employeurs...

n°1595331
seniorpapo​u
Posté le 03-08-2007 à 10:46:08  profilanswer
 

il manque probable une référence, je ne sais pas laquelle tout de suite, si quelqu'un la connait par coeur il est le bienvenu
Merci

n°1595334
La poisse1
Posté le 03-08-2007 à 10:48:21  profilanswer
 

de mon cote je cherche sur le net
 
pour l'instant quand j'écris ma requete il me demande un case après mon select... logique...

n°1595341
La poisse1
Posté le 03-08-2007 à 10:54:49  profilanswer
 

j'ai trouvé quelque chose... le meme problème que moi apparement... un Where qui est une zone de texte...
 
http://www.commentcamarche.net/for [...] sql-en-vba
 
donc je lis tout ca et je vous tient au courant

n°1595360
La poisse1
Posté le 03-08-2007 à 11:22:37  profilanswer
 

voila ce qui marche pour Flo dans son topic sur comment ca marche.net
 
Dim sql As String  
Dim Qry As DAO.QueryDef  
Dim Rs As DAO.Recordset  
 
sql = "SELECT PC.nom_PC FROM PC"  
sql = sql & " WHERE (((PC.utilisateur) = """ & Me.lstnom & """ )) "  
 
DoCmd.DeleteObject acQuery, "nom_PC" 'supprime la requête  
CurrentDb.CreateQueryDef "nom_PC", sql 'crée une nouvelle requete  
 
Set Qry = CurrentDb.QueryDefs("nom_PC" )  
Set Rs = Qry.OpenRecordset  
 
While Not Rs.EOF  
 
txtnom_PC.Text = Rs(0)  
Rs.MoveNext  
 
Wend  
 
Set Qry = Nothing  
Set Rs = Nothing  
 
par contre a y regarder de plus près, je dois travailler dans deux table séparé... ma table installation appareil pour filtrer le bon enregistrement de controle qualité, et ma table controle qualité pour avoir la date de prochaine echeance... je teste...
 

n°1595364
seniorpapo​u
Posté le 03-08-2007 à 11:27:44  profilanswer
 

regarde si dans les references  microsoft access 10.00 object library est coché

n°1595376
La poisse1
Posté le 03-08-2007 à 11:37:29  profilanswer
 

non, vu que j'ai que access 2000 je ne dispose que de la librairie 9.0
et la 10 n'est pas dans la liste...


Message édité par La poisse1 le 03-08-2007 à 11:38:17
n°1595428
La poisse1
Posté le 03-08-2007 à 12:40:11  profilanswer
 

j'avais une erreur sur mes déclarations de variables effectivement... mais j'ai importé une librairie qui a reglé ce premier problème: Microsoft DAO object library 3.6
 
maintenant il arrive a lire ma requete, (un petit MSGBOX me l'affiche a l'ecran) et après il bloque. voila tout mon code adapté et peaufiné...:
 
Public Sub Syst_Alerte()
    Dim prochainControle As String
    Dim DateDuJour  As Date
    Dim EcartDate As String
    Dim sql As String
    Dim Qry As DAO.QueryDef
    Dim Rs As DAO.Recordset
 
sql = "SELECT Tbl_E2_Installation_Appareil.ModèleInstall, Tbl_E2_Installation_Appareil.NumSerieInstall, Tbl_F2_CQ_NivB.DateEcheanceProchainControle FROM Tbl_E2_Installation_Appareil INNER JOIN Tbl_F2_CQ_NivB ON Tbl_E2_Installation_Appareil.NumInstallation = Tbl_F2_CQ_NivB.NumInstallation;"
sql = sql & " WHERE (((((Tbl_E2_Installation_Appareil.ModeleInstall)=""&  & "" ) AND ((Tbl_F2_CQ_NivB.DateEcheanceProchainControle)>Now())) "
MsgBox sql
 
'DoCmd.DeleteObject; acQuery, "SelectCQ" 'supprime la requête
CurrentDb.CreateQueryDef "SelectCQ", sql
'crée une nouvelle requete
 
MsgBox "nouvelle requete créé"
 
Set Qry = CurrentDb.QueryDefs("SelectCQ" )
Set Rs = Qry.OpenRecordset
 
MsgBox "Qry et Rs paramétré"
 
While Not Rs.EOF
 
txtnom_PC.Text = Rs(0)
Rs.MoveNext
 
Wend
 
Set Qry = Nothing
Set Rs = Nothing
 
    DateDuJour = Format(Now, "dd/mm/yyyy" )
    MsgBox DateDuJour
     
    prochainControle = Form_Tbl_F2_CQ_NivB.DateEcheanceProchainControle.Value
    MsgBox prochainControle
     
    EcartDate = DateDiff("d", DateDuJour, prochainControle)
    MsgBox "nomre de jours:" & EcartDate
     
    If 0 < EcartDate And EcartDate < 92 Then
    MsgBox "il ne vous reste plus que " & EcartDate & " jours avant la date du prochain controle qualité", , "/!\/!\ ATTENTION /!\/!\"
    Form_Tbl_E2_Installation_Appareil1.Alertes.Value = "il ne vous reste plus que " & EcartDate & " jours avant la date du prochain controle qualité"
    End If
     
End Sub
 
mais il n'aime pas du tout les deux lignes qui suivent la requete...

n°1595429
La poisse1
Posté le 03-08-2007 à 12:43:02  profilanswer
 

et plus j'enlève de lignes pire c'est... en fait il a pas la bonne referece du coup il ne trouve rien... quelqu'un pourrait il m'envoyer la bonne librairie?

n°1595497
La poisse1
Posté le 03-08-2007 à 14:33:09  profilanswer
 

j'ai une nouvelle alternative trouvé sur le net et adaptée a mon problème... je vous transmet le code tout de suite:
 
Public Sub Syst_Alerte()
   
    Dim Champ1 As String
    Dim Champ2 As String
    Dim bds As Database, qdf As QueryDef
    Dim chSQL As String
 
'Définition des variables
    Champ1 = Form_Tbl_E2_Installation_Appareil1.ModèleInstall.Value
    Champ2 = Form_Tbl_E2_Installation_Appareil1.NumSerieInstall.Value
'Form_Tbl_F2_CQ_NivB.DateEcheanceProchainControle.Value
 
'Activation de la base de donnée en cours
    Set bds = CurrentDb
        bds.QueryDefs.Refresh
 
 ' Si la requête NouvelleRequête existe, la supprime.
    For Each qdf In bds.QueryDefs
        If qdf.Name = "CritCQ" Then
            bds.QueryDefs.Delete qdf.Name
        End If
    Next qdf
 
    chSQL = "SELECT Tbl_E2_Installation_Appareil.ModèleInstall, Tbl_E2_Installation_Appareil.NumSerieInstall, Tbl_F2_CQ_NivB.DateEcheanceProchainControle FROM Tbl_E2_Installation_Appareil INNER JOIN Tbl_F2_CQ_NivB ON Tbl_E2_Installation_Appareil.NumInstallation = Tbl_F2_CQ_NivB.NumInstallation WHERE ([Tbl_E2_Installation_Appareil.ModèleInstall]=" & Champ1 & "  and [Tbl_E2_Installation_Appareil.NumSerieInstall]=" & Champ2 & " And [Tbl_F2_CQ_NivB.DateEcheanceProchainControle]>Now())"
    MsgBox chSQL
 
 
 ' Crée un objet QueryDef.
    Set qdf = bds.CreateQueryDef("CritCQ", chSQL)
   
    Set bds = Nothing
 
    DoCmd.OpenQuery CritCQ  
 
     
End Sub
 
ca marche pas... il ne trouve pas la requete CritCQ, comme si elle n'existait pas... quelqu'un a t il une idée? A l'aide...


Message édité par La poisse1 le 03-08-2007 à 14:49:29
n°1595520
jpcheck
Pioupiou
Posté le 03-08-2007 à 14:55:55  profilanswer
 

truc tout bête dans un premier temps,
fais un  
 
for each qdf in bds.QueryDefs  
    debug.print qdf.name
next

n°1595533
La poisse1
Posté le 03-08-2007 à 15:06:44  profilanswer
 

je le met a quel endroit?  

n°1595536
La poisse1
Posté le 03-08-2007 à 15:09:36  profilanswer
 

moi je l'ai mi a la fin. entretemps j'ai encore modifié un peu mon prog qui est celui ci maintenant:
 
Public Sub Syst_Alerte()
    Dim prochainControle As String
    Dim DateDuJour  As Date
  ' Dim EcartDate As String
   
    Dim Champ1 As String
    Dim Champ2 As String
    Dim bds As Database, qdf As QueryDef
    Dim chSQL As String
 
'Définition des variables
    Champ1 = Form_Tbl_E2_Installation_Appareil1.ModèleInstall.Value
    Champ2 = Form_Tbl_E2_Installation_Appareil1.NumSerieInstall.Value
    DateDuJour = Format(Now, "dd/mm/yyyy" )
'Form_Tbl_F2_CQ_NivB.DateEcheanceProchainControle.Value
 
'Activation de la base de donnée en cours
    Set bds = CurrentDb
        bds.QueryDefs.Refresh
 
 ' Si la requête NouvelleRequête existe, la supprime.
    For Each qdf In bds.QueryDefs
        If qdf.Name = "CritCQ" Then
            bds.QueryDefs.Delete qdf.Name
        End If
    Next qdf
 
    chSQL = "SELECT Tbl_E2_Installation_Appareil.ModèleInstall, Tbl_E2_Installation_Appareil.NumSerieInstall, Tbl_F2_CQ_NivB.DateEcheanceProchainControle FROM Tbl_E2_Installation_Appareil INNER JOIN Tbl_F2_CQ_NivB ON Tbl_E2_Installation_Appareil.NumInstallation = Tbl_F2_CQ_NivB.NumInstallation WHERE ([Tbl_E2_Installation_Appareil.ModèleInstall]=" & Form_Tbl_E2_Installation_Appareil1.ModèleInstall.Value & "  and [Tbl_E2_Installation_Appareil.NumSerieInstall]=" & Form_Tbl_E2_Installation_Appareil1.NumSerieInstall.Value & " And [Tbl_F2_CQ_NivB.DateEcheanceProchainControle]>Now())"
    MsgBox chSQL
 
 
 ' Crée un objet QueryDef.
    Set qdf = bds.CreateQueryDef("CritCQ", chSQL)
   
    For Each qdf In bds.QueryDefs
        Debug.Print qdf.Name
    Next
  Dim stDocName As String
 
    stDocName = "CritCQ"
    DoCmd.OpenQuery stDocName, acNormal, acEdit
 
    Set bds = Nothing
 
 
maintenant il m'ouvre ma requete CritCQ, mais il ne trouve pas mes enregistrements et il me redemande la valeur de mes paramètres de recherche
 

n°1595539
_darkalt3_
Proctopathe
Posté le 03-08-2007 à 15:11:24  profilanswer
 

La poisse1 a écrit :

je le met a quel endroit?  


:dtc:
 
(c'est bien parcequ'on est vendredi)


---------------
Töp of the plöp
n°1595542
La poisse1
Posté le 03-08-2007 à 15:15:23  profilanswer
 

ca fait toujours son petit effet comique malgré tout...
 
alors... il arrive a ouvrir la requete, mais j'ai l'impression qu'il est perdu dans les paramètres que je lui ai donné... en fait quelle que soit la valeur que je lui donne en paramètre de recherche il m'envoie ch... en affichant une msgbox opération annulé...

n°1595553
La poisse1
Posté le 03-08-2007 à 15:23:46  profilanswer
 

jp, voila une copie de que me renvoie les lignes de la partie "executer"
 
req_E2_Installation_Appareil
req_F5_Constructeur
CritCQ  
 
donc il ouvre bien crit cq...
 
par contre j'affine un peu et je crois que j'ai trouvé ou ca bloque dans ma requete... en fait il ouvre ma requete, et c'est au moment de passer au deuxième paramètre qu'il se perd. le séparateur AND est une instruction VB, pour le passer en sql il faut pas mettre autre chose?  

n°1595554
jpcheck
Pioupiou
Posté le 03-08-2007 à 15:24:05  profilanswer
 

teste le en début de fonction, ca évitera de faire tourner du code pour rien ;)

n°1595562
La poisse1
Posté le 03-08-2007 à 15:33:22  profilanswer
 

ok tout de suite...  
 
comme j'ai le cerveau qui surchauffe, voila la requete SQL qui est généré par mon code, et qui ne fonctionne pas... puisqu'il ne trouve pas les enregistrements concernés...
 
 
SELECT Tbl_E2_Installation_Appareil.ModèleInstall,
           Tbl_E2_Installation_Appareil.NumSerieInstall,
           Tbl_F2_CQ_NivB.DateEcheanceProchainControle
FROM         Tbl_E2_Installation_Appareil  
INNER JOIN  Tbl_F2_CQ_NivB  
ON             Tbl_E2_Installation_Appareil.NumInstallation =      
                 Tbl_F2_CQ_NivB.NumInstallation
WHERE (
           (
            ([Tbl_E2_Installation_Appareil.ModèleInstall])=[othophos]
            )  
            AND  
            (
             ([Tbl_E2_Installation_Appareil.NumSerieInstall])=3423
             )  
             AND  
             (
              ([Tbl_F2_CQ_NivB.DateEcheanceProchainControle])>Now()
             )
            );
 
les valeurs c'est normal, et j'ai vérifié c'est bien cohérent si je change d'enregistrement...
 

n°1595565
La poisse1
Posté le 03-08-2007 à 15:40:29  profilanswer
 

il me dit que le bloc with est non dèfini... :(

n°1595569
jpcheck
Pioupiou
Posté le 03-08-2007 à 15:43:33  profilanswer
 

pkoi tu as [otophos] et pas "otophos"

n°1595577
La poisse1
Posté le 03-08-2007 à 15:53:08  profilanswer
 

ca fait parti des questions que je me pose, du coup j'ai modifié certaines partie du code, à savoir:
 
hSQL = "SELECT Tbl_E2_Installation_Appareil.ModèleInstall, Tbl_E2_Installation_Appareil.NumSerieInstall, Tbl_F2_CQ_NivB.DateEcheanceProchainControle FROM Tbl_E2_Installation_Appareil INNER JOIN Tbl_F2_CQ_NivB ON Tbl_E2_Installation_Appareil.NumInstallation = Tbl_F2_CQ_NivB.NumInstallation WHERE (Tbl_E2_Installation_Appareil.ModèleInstall=" & Form_Tbl_E2_Installation_Appareil1.ModèleInstall.Value & "  and Tbl_E2_Installation_Appareil.NumSerieInstall=" & Form_Tbl_E2_Installation_Appareil1.NumSerieInstall.Value & " And Tbl_F2_CQ_NivB.DateEcheanceProchainControle>Now())"
 
j'ai viré les crochets autour des champs de ma requete...  
 
du coup ma requete comporte bien 3 champs et non 6 (comme précédement)  
 
et ma requete SQL ressemble à ca:  
 
SELECT [Tbl_E2_Installation_Appareil].[ModèleInstall],
           [Tbl_E2_Installation_Appareil].[NumSerieInstall],
           [Tbl_F2_CQ_NivB].[DateEcheanceProchainControle]
FROM         Tbl_E2_Installation_Appareil  
INNER JOIN  Tbl_F2_CQ_NivB ON [Tbl_E2_Installation_Appareil].[NumInstallation]=[Tbl_F2_CQ_NivB].[NumInstallation]
WHERE (
             (
                ([Tbl_E2_Installation_Appareil].[ModèleInstall])=[othophos])  
              And  
              (
                 ([Tbl_E2_Installation_Appareil].[NumSerieInstall])="3423" )  
              And  
              (
                 ([Tbl_F2_CQ_NivB].[DateEcheanceProchainControle])>Now())
              );
 
es-ce qu'il ne faut pas renseigner le type de données pour que sql s'en sorte? genre " str mon champ str"


Message édité par La poisse1 le 03-08-2007 à 15:54:48
n°1595598
La poisse1
Posté le 03-08-2007 à 16:09:22  profilanswer
 

trouvé sur developpez.com:
 
' Gestion d'une Date : format US entre ##
WHERE [Table]![MonChampDate] = #mm/dd/yyyy#
' Gestion d'un chaîne : entre quotes ' '
WHERE [Table]![MonChampChaine] = 'Quelquechose'
' Gestion d'un numérique : ne rien mettre
WHERE [Table]![MonChampNumerique] = 2005  
 
j'éssaie...  
 
voila le lien pour ceux qui ont mon problème:
 
http://cafeine.developpez.com/acce [...] ebugprint/
 
merci a tous de m'aider... je le dirai jamais assez...


Message édité par La poisse1 le 03-08-2007 à 16:11:40
n°1595664
La poisse1
Posté le 03-08-2007 à 16:45:53  profilanswer
 

alors voila... j'ai créé la requete SQL qui marche bien comme il faut. je voudrais l'afficher en VBA est-ce possible automatiquement ou alors il vaut mieux que je fasse autre chose?  
 
voila la requete SQL écrite en SQL et non en VBA qui fonctionne:
 
SELECT Tbl_E2_Installation_Appareil.ModèleInstall, Tbl_E2_Installation_Appareil.NumSerieInstall, Tbl_F2_CQ_NivB.DateEcheanceProchainControle
FROM Tbl_E2_Installation_Appareil INNER JOIN Tbl_F2_CQ_NivB ON Tbl_E2_Installation_Appareil.NumInstallation = Tbl_F2_CQ_NivB.NumInstallation
WHERE (((Tbl_E2_Installation_Appareil.ModèleInstall)=[Formulaires]![Tbl_E2_Installation_Appareil1]![ModèleInstall]) AND ((Tbl_E2_Installation_Appareil.NumSerieInstall)=[Formulaires]![Tbl_E2_Installation_Appareil1]![NumSerieInstall]) AND ((Tbl_F2_CQ_NivB.DateEcheanceProchainControle)>Date()));

n°1595836
seniorpapo​u
Posté le 04-08-2007 à 13:19:34  profilanswer
 

Bonjour,
une question:  dois-tu penser aux appareils dont la date de contrôle est dépassée??
Cordialement


Message édité par seniorpapou le 04-08-2007 à 13:19:49
n°1595960
La poisse1
Posté le 05-08-2007 à 15:09:00  profilanswer
 

bonjour,  
 
justement, mon système d'alerte ne tient pas compte des dates deja passées. mais je garde ces dates pour faire une requete d'affichage de tous les controles effectués pendant l'année par exemple.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  A L'AIDE!!! recuperer et comparer date et heure [VBA]

 

Sujets relatifs
[SQL] PB requête avec date[VBA] annuler boite de "mise à jour des liens"
VBA ACCESS ou ACCESS(tout cours) pb creer requete avec contenu de tabl[VBA EXCEL] Insérer lien Hypertexte avec condition
défi algorithme dateBesoin d'aide pour requête SQL
[VBA]redaction du stlinkcriteria pour filtrer un formulaireRécupérer des couleurs d'une feuille de style CSS avec javascript
[Résolu] Problème de décalage de date java sous windows vistaLancer du VBA depuis du VBScript
Plus de sujets relatifs à : A L'AIDE!!! recuperer et comparer date et heure [VBA]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR