IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Variable de type date [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut Variable de type date
    Bonjour a tous les Developezcomiens,

    Voila deux jours que j'essaie de comprendre pourquoi Access m'envoie un message
    Microsoft Office Access a rencontré un problème et doit être fermé. Nous vous prions de nous excuser pour le désagrément encouru.
    sur le code VBA suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CountAddress = DCount("Address", "GetPictureDisplayOfferedToCustomer", "ShowroomOfferDate <= #" & Format(ActualDate, "DD/MM/YYYY") & "#")
    La variable ShowroomOfferDate est de type Date.
    La query fonctionne en directe ...

    Y aurait-il quelqu'un qui puisse m'aiguiller ...
    J'en perds mon Access ...

  2. #2
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut
    Toutes mes excuses pour la non relecture de mon message avant l'envoi...

    La variable ActualDate et non ShowroomOfferDate est de type Date...

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,
    ton format de date n'est pas le bon,
    il faut utiliser #MM/DD/YYYY#
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  4. #4
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut
    J'ai modifie le format date (est-ce le format systeme?)...
    Mais j'ai toujours le meme soucis...

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    et en essayant de prévenir des bugs en mettant une fonction NZ() ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CountAddress = Nz(DCount("Address", "GetPictureDisplayOfferedToCustomer", "ShowroomOfferDate <= #" & Format(ActualDate, "DD/MM/YYYY") & "#"),0)
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut
    Toutes mes excuses pour l'interruption de notre dialogue!
    J'ai mis en place la fonction Nz et j'ai malheureusement toujours la meme erreur!
    Par acquis de conscience j'ai relance la query en directe et elle fonctionne. Il semblerait donc que c'est la fonction Count qui poserait probleme...

    Je suis sous Access 2007 mais je sauvegarde sous 2003 puisque certains utilisateurs sont encore sous 2003. Est-ce une source d'erreur possible?
    Les donnees sont quant a elle sous SQL.

  7. #7
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut
    J'ai fait un test en remplacant le Dcount par un Dlookup histoire de voir si l'erreur provient de Dcount...
    Toujours le meme message d'arret d'Access...

    Je pense donc que l'erreur doit venir de l'appel de la query...

  8. #8
    Membre chevronné Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Par défaut
    Bonjour,

    As-tu essayé d'exécuter la fonction DCount dans la fenêtre d'execution de VBE ?
    Ca doit être une erreur sur l'un des paramètres ou sur la date, si tout est bon c'est peut-être la communication entre Access et l'extérieur (Base de donnée SQL). Je penche plus la dernière option car le message d'erreur indique une incapacité d'executer de la part d'access.

    Voici ce qu'il faut taper dans la fenêtre d'execution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ? DCount("Address", "GetPictureDisplayOfferedToCustomer", "ShowroomOfferDate <= #" & Format(ActualDate, "DD/MM/YYYY") & "#")

  9. #9
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut
    J'ai refait un nouveau test avec la fonction Dcount mais en supprimant les criteres de selection...
    Toujours la meme erreur...

  10. #10
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut
    J'ai active le gestionnaire des tables liees...
    J'ai lance la fenetre d'execution avec le meme resultat d'arret d'access.

    Cette fois-ci Access m'a passer un message "il semblerait..." que je n'ai pas eu le temps de lire avant l'ecran de demande du nom de sauvegarde ne reprenne la main...

    Y a-t-il moyen de figer le message ou d'arreter l'exucution de la sauvegarde pour pouvoir lire le message?

  11. #11
    Membre chevronné Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Par défaut
    Non je crois pas le message de sauvegarde signifie que ca a planté méchemment donc a ce moment là c'est déjà trop tard le processus ACCESS.EXE est déjà par terre.

    As-tu essayé le DCount dans la fenêtre d'execution avec des paramètres beaucoup plus simple puis intégrer petit a petit les paramètres que tu souhaites au final ? Si ca viens des paramètres ca plantera à celui qui te pose problème.

    Sinon, je viens d'y penser, as tu essayé de décompiler ta base access?

  12. #12
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut entre temps
    Notre ami Bill a remarque qu'Access s'arretait souvent et a propose un diagnostique... Puis a rectifie "certaines choses"...

    Entre temps par acquis de conscience j'ai active le gestionnaire des tables liees... Reduit la query dans sa plus simple expression... (sans condition)...
    Et toujours le meme soucis...

    Ci-dessous la query en uestion qui fonctionne en directe...


    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT GetPictureShowroomOfferedTo.ShowroomStatus, GetPictureShowroomOfferedTo.ShowroomCustomer, GetPictureShowroomOfferedTo.ShowroomOfferDate, GetPictureShowroomOfferedTo.PictureAddress AS Address, GetPictureShowroomOfferedTo.ShowroomStyleSystem, 
    (Select count(ShowroomStyleOwn) 
    From GetPictureShowroomOfferedTo AS LaTable_Alias2 
    Where ShowroomStyleOwn < GetPictureShowroomOfferedTo.ShowroomStyleOwn)+1 AS Rank, GetPictureShowroomOfferedTo.ShowroomStyleOwn, GetPictureShowroomOfferedTo.ShowroomSelectionDate, GetPictureShowroomOfferedTo.ShowroomDepartment, GetPictureShowroomOfferedTo.ShowroomBuyer
    FROM GetPictureShowroomOfferedTo
    WHERE (((GetPictureShowroomOfferedTo.ShowroomStatus)="Offered") AND ((GetPictureShowroomOfferedTo.ShowroomCustomer)=[forms]![Welcome]![WhichCustomerShowroom]) 
    AND ((GetPictureShowroomOfferedTo.ShowroomPictureRank)=1))
    ORDER BY GetPictureShowroomOfferedTo.ShowroomStyleOwn;

  13. #13
    Membre chevronné Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Par défaut
    Dans la clause WHERE pour le champ ShowroomStyleOwn il n'y a pas la table mais c'est pas très grave parce que cette requête est une requête générée par access (ca se voit à certaines parenthèses inutiles).

    Je serai d'avis à tester la commande avec une requête de ce style pour voir si le problème viens bien de la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM GetPictureShowroomOfferedTo;
    et prendre le champ PictureAddress au lieu de Adress (puisque le As n'est plus là)

  14. #14
    Membre chevronné Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Par défaut
    Il y a bien une erreur dans la sous requête condition WHERE

  15. #15
    Membre chevronné Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    SELECT 
    	ShowroomStatus, 
    	ShowroomCustomer,
    	ShowroomOfferDate,
    	PictureAddress AS Address,
    	ShowroomStyleSystem, 
    	(
    		SELECT COUNT(ShowroomStyleOwn) 
    		FROM GetPictureShowroomOfferedTo
    		WHERE ShowroomStyleOwn < ShowroomStyleOwn
    	) +1 AS Rank, 
    	ShowroomStyleOwn, 
    	ShowroomSelectionDate, 
    	ShowroomDepartment, 
    	ShowroomBuyer
    		
    FROM GetPictureShowroomOfferedTo
    
    WHERE 
    	    ShowroomStatus = "Offered" 
    	AND ShowroomCustomer = Forms("Welcome").WhichCustomerShowroom]
    	AND ShowroomPictureRank = 1
    
    ORDER BY 
    	ShowroomStyleOwn;

  16. #16
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut
    Apres une bonne nuit de sommeil j'ai revu toute ma logique de query...

    Une fois de plus l'erreur se situait entre l'ecran et le siege ...

    pour votre support ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème dans le stockage d'une variable de type Date
    Par Pentos60 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/03/2011, 20h39
  2. Réponses: 4
    Dernier message: 04/09/2009, 12h07
  3. Réponses: 2
    Dernier message: 22/04/2009, 10h47
  4. comment declarer une variable de type date ?
    Par MAJIK_ENIS dans le forum JDBC
    Réponses: 1
    Dernier message: 26/05/2006, 00h02
  5. somme de variables de type date
    Par tounsi dans le forum Oracle
    Réponses: 28
    Dernier message: 12/01/2006, 15h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo