Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Runtime
Runtime Forum destiné à recevoir toutes vos questions concernant le Runtime (empaquetage, déploiement...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/08/2011, 04h27   #1
Membre habitué
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : octobre 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : octobre 2008
Messages : 212
Points : 126
Points : 126
Par défaut Problème Datediff avec RunTime 2007

Bonjour,

J'ai déployé une petite application qui utilise la fonction "Datediff" pour calculer des différences entre 2 dates.
Tout fonctionne bien tant que j'utilise l'application avec ACCESS au complet par contre cette fonction n'est pas reconnue avec le RunTime ?
Je l'utilise 2 fois. La 1° dans un textbox dans le lequel j'ai renseigné le Source contrôle ([C_PRM_DECN] est une date ...)

Code :
=DiffDate("j";Date();[C_PRM_DECN])
La 2° je l'utilise dans une requête ([Der_Rev] est une date ...)
Code :
Nbj: VraiFaux([Der_Rev]="";"Jamais";DiffDate("j";[Der_Rev];Date()))
J'ai essayé de remplacer "j" par "d" (je me suis dit que peut être il préférerait une version plus américaine ??). mais je n'arrive pas à l'enregistrer "proprement", il fait une correction (normal il attend une version française ...) :
Code :
=DiffDate("\d";Date();[C_PRM_DECN])
J'ai essayé de passer par une fonction VBA pour régler le problème :
Code :
1
2
3
Public Function DDateDiff(dtDate1 As Date, dtDate2 As Date) As Long
DDateDiff = DateDiff("d", dtDate1, dtDate2)
End Function
que j'appelle lors de la définition de mon textbox ...
Ca marche avec ACCESS mais toujours pas avec RunTime ...

Je suis un peu sec ...

Y a-t-il une syntaxe particulière à respecter pour qu'elle fonctionne sous les 2 types d'environnement (ACCESS et RunTime) ? Ou le problème est-il ailleurs ?

Merci de vos contributions.
Cordialement,
Triton972 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 14h33   #2
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
Bonjour,

Cela me semble bizarre comme comportement.
N'as tu pas de références fantômes qui seraient la cause de la non reconnaissance de la fonction.
Dans ton textbox et jeust pour voir, essaye la formule :
Est-ce qu'elle est opérationnelle ?

Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 16h38   #3
Membre habitué
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : octobre 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : octobre 2008
Messages : 212
Points : 126
Points : 126
Bonjour Argyronet,
Merci de t'intéresser à mon problème.

Après avoir validé la formule que tu donnes dans le source contrôle du textbox, celle-ci a été traduite immédiatement en français
Code :
=Gauche([C_PRM_DECN];3)
.
Effectivement sous RunTime2007 çà ne marche pas. Il y a apparemment un problème dans les fonctions traduites ... Comment contourner le problème ?

J'ai essayé de visualiser le source contrôle dans un autre textbox que j'initialise à l'ouverture du formulaire
Code :
Me.Texte78 = Me.Texte76.ControlSource
. Ca fonctionne sous ACCESS mais la zone est vide sous RunTime 2007 !

Pour info, sur les 2 postes sur lesquels j'ai fait les tests, j'ai installé Office 2010 sur lesquels j'ai désinstallé Access2010 afin de les faire fonctionner exclusivement sur le RunTime2007 (Je suis pour l'instant obliger de conserver la version sous RunTIme2007 ...)

Merci de vos idées.
Triton972 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 17h12   #4
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
Humm, donc, ce n'est pas à proprement parler les fonctions qui ne sont pas reconnues mais plutôt une bibliothèque manquante ou erronée.
Par exemple, sur ton poste, tu fais référence à :
Microsoft Excel 12.0 Object Library
et sur le poste Runtime, l'indication "MANQUANT" y fait place car un problème de correspondance à été rencontré, soit parce qu'il n'y a pas Excel (pour ce cas) soit parce qu'il y a un blème dans le Registre.
Pour pister la raison, construit un bouton sur un formulaire de ton choix qui appelera une procédure qui listera les Références :
Code :
1
2
3
4
5
6
7
8
9
10
 
Sub GetRefs()
Dim Ref As Reference
Dim strReEfList As String
 
    For Each Ref In Application.References
        strReEfList = strReEfList & IIf(Ref.IsBroken, "Manquante :", "") & " " & Ref.Name & " " & Ref.Major & "." & Ref.Minor & vbCrLf
    Next
    MsgBox strReEfList
End Sub
Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 21h47   #5
Membre habitué
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : octobre 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : octobre 2008
Messages : 212
Points : 126
Points : 126
Bonsoir argyronet,

J'ai copié ton code "texto" dans un de mes formulaires. Le code fonctionne sur ACCESS par contre il refuse de se lancer sous RunTime (sur mon autre poste)
"Erreur : 2147319779 - LA méthode "name" de l'objet "référence" a échoué "
mouais ... !
j'ai pas bien compris également pourquoi tu parlais d'EXcel
Citation:
tu fais référence à :
Microsoft Excel 12.0 Object Library
...

Compléments d'infos ...
Le poste qui ne pose pas de problème est sous Windows XP32bits avec ACCESS 2007.
Le poste "à problème" est sous Windows7 64 bits (Office 2010 avec ACCESS désinstallé).

J'ai essayé de contrôler les références sur les 2 postes au moyen du code suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Sub ListReferences()
Dim refCurr As Reference
On Error GoTo Erreur
 
  For Each refCurr In Application.References
    MsgBox refCurr.Name & ": " & refCurr.FullPath & vbCrLf
  Next
 
Exit Sub
Erreur:
MsgBox Err.Number & " - " & Err.Description
 
End Sub
Sur le poste "Runtime" il manque plusieurs références :
mozctl.dll
shdocvw.dll
iescalendar.ocx
mscomct2.ocx

Le problème pourrait-il venir de là? Si oui, comment y remédier ?

Pour éclairer ma lanterne, pourrait-on m'expliquer :
Quand on installe le RunTime 2007, copie t-on sur le disque ces fameuses bibliothèques et autres programmes de référence ?
@+
Triton972 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 08h57   #6
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
=> Excel était un exemple car il est très fréquent d'utiliser cette référence dans des applications Access.

Pour les références :
  • mozctl.dll
  • shdocvw.dll
  • iescalendar.ocx
  • mscomct2.ocx
En as-tu vraiment besoin dans ton projet ?
Je suis un peu supris... Surtout Mozilla !

Si oui, va faire un tour dans mon tuto, il est expliqué comment mettre en oeuvre un package d'installation et la routine à greffer à ton fichier de paramètre en vue d'incrire les composant aditionnels qui ne le sont plus depuis la version 2000.
Tu peux aussi les inscrire manuellement dans le registre mais bon, c'est un peu capilotracté comme façon de procéder.
Si non, décoches ces références.

Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 18h57   #7
Membre habitué
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : octobre 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : octobre 2008
Messages : 212
Points : 126
Points : 126
Bonjour,

Bingo ! Ca venait bien de ces références (inutiles ou presque issues d'un copié-collé de projet ...)
Tout fonctionne maintenant comme souhaité. Merci à toi pour tes conseils.
@+
Triton972 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h53.


 
 
 
 
Partenaires

Hébergement Web