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 13/02/2006, 17h38   #1
Invité régulier
 
Inscription : janvier 2004
Messages : 16
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 16
Points : 8
Points : 8
Par défaut Fonctions intégrées non-reconnues

Bonjour
J'ai développé une application sous Access 97, elle fonctionne sur les postes clients via Runtime Access 97.
Les postes clients viennent de passer de Windows 2000 à Windows XP.

Problème: les fonctions intégrées du type "Date()", "Droite()", etc. utilisées dans les expressions, les requêtes, etc. ne sont plus reconnues

Je suppose que c'est un problème de référence.
Sur un poste client, impossible d'aller référencer directement because Runtime.
donc j'ai référencé en utilisant regsvr32, en me basant sur la liste de référencement de mon poste de développement (toujours sous W2000 , et avec la version complète d'Access 97, ndr)
=> ça n'a rien changé

J'ai ensuite essayé avec du code VBA du type
Code :
1
2
3
4
 
...
Set ref = References.AddFromFile(chNomFichier)
...
=> ça n'a rien changé

Ma question est la suivante:
dans quel fichier (OLB, DLL, OCX ou autre) se trouvent les fonctions intégrées Date(), Droite(), Gauche(), etc ?

J'ai déjà pas mal recherché dans la FAQ, les didacticiels, les autres sujets, mais je n'ai pas trouvé de réponse à mon problème.
BjornDunkerbeck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 17h53   #2
Expert Confirmé
 
Inscription : mai 2005
Messages : 3 419
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 3 419
Points : 3 768
Points : 3 768
tu as essayé de créer une base
dans ton nouvel environnement avec une table
et de créer une requuête aver l'option créer sur un champ ?
random est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 17h55   #3
Invité régulier
 
Inscription : janvier 2004
Messages : 16
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 16
Points : 8
Points : 8
heu.. non..
je ne suis pas sûr de suivre ce que tu veux dire...
BjornDunkerbeck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2006, 16h32   #4
Invité régulier
 
Inscription : janvier 2004
Messages : 16
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 16
Points : 8
Points : 8
Le plus "drôle" c'est que la fonction "Maintenant()" est reconnue mais que "Date()" ne fonctionne pas...

voici les références actives:
  • RefName RefMajor RefMinor RefFullPath
    Access 8 0 C:\Program Files\Microsoft Office\Office\MSACC8.OLB
    DAO 4 0 C:\Program Files\Common Files\Microsoft Shared\DAO\DAO350.DLL
    Excel 1 3 C:\Program Files\Microsoft Office\Office\EXCEL9.OLB
    GRCTRLLib 1 1 C:\Program Files\SICT\grctrl.ocx
    LiquidMotion 1 0 C:\WINNT\System32\LMRT.dll
    MSComCtl2 2 0 C:\Program Files\SICT\mscomct2.ocx
    MSComctlLib 2 0 C:\WINNT\system32\MSCOMCTL.OCX
    MSComDlg 1 2 C:\WINNT\system32\comdlg32.ocx
    OWC 1 0 C:\Program Files\Microsoft Office\Office\MSOWC.DLL
    RichTextLib 1 2 C:\Program Files\SICT\richtx32.ocx
    Scripting 1 0 C:\WINNT\System32\scrrun.dll
    SHDocVw 1 1 C:\WINNT\System32\shdocvw.dll
    stdole 2 0 C:\WINNT\System32\stdole2.tlb
    VBA 3 0 C:\Program Files\Common Files\Microsoft Shared\VBA\VBA332.DLL
    VBIDE 5 3 C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB
    WindowsInstaller 1 0 C:\WINNT\system32\msi.dll

Quelqu'un sait-il si les fonctions intégrées sont contenues dans une de ces bibliothèques, et si oui laquelle :
ça m'aiderait vraiment, parce que là, je cale complétement...
merci !
BjornDunkerbeck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2006, 18h21   #5
Invité régulier
 
Inscription : janvier 2004
Messages : 16
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 16
Points : 8
Points : 8
:trouve:

Bon je n'arrête pas de me répondre à moi même , ça n'a pas l'air d'inspirer grand monde....

Pour ceux que ça intéresse, j'ai trouvé une solution: j'ai reprogrammé en VBA chacune des fonctions (des-)intégrées dont j'avais besoin...

et ça marche, car les fonctions VBA sont toujours bien reconnues, à l'inverse des fonctions intégrées pour les expressions...

bon ça s'appelle contourner le problème, c'est vrai

exemple:
Code :
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
26
27
28
29
Public Function Date_Lims() As Date
Date_Lims = Date
End Function
 
Public Function Maintenant_Lims() As Date
Maintenant_Lims = Now
End Function
 
Public Function Droite_Lims(Texte As String, Longueur As Long) As String
If IsNull(Texte) Then
    Droite_Lims = ""
    Exit Function
End If
If Longueur > Len(Texte) Then
    Longueur = Len(Texte)
End If
Droite_Lims = Right(Texte, Longueur)
End Function
 
Public Function Gauche_Lims(Texte As String, Longueur As Long) As String
If IsNull(Texte) Then
    Gauche_Lims = ""
    Exit Function
End If
If Longueur > Len(Texte) Then
    Longueur = Len(Texte)
End If
Gauche_Lims = Left(Texte, Longueur)
End Function
BjornDunkerbeck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2006, 18h27   #6
Expert Confirmé
 
Inscription : mai 2005
Messages : 3 419
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 3 419
Points : 3 768
Points : 3 768
quand tu es en mode qbe sur une requête si tu fais clic droit sut un nouveau champ puis créer tu vois les fonctions gauche etc...?
random est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2006, 18h35   #7
Invité régulier
 
Inscription : janvier 2004
Messages : 16
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 16
Points : 8
Points : 8
oui, mais ça c'est sur mon poste de développement, qui fonctionne tout à fait correctement (version complète d'access + Windows 2000)
no problèmo, les fonctions intégrées sont bien présentes dans le générateur d'expression, et sont bien reconnues par la suite.

Le problème se situe lorsqu'on essaye d'utiliser mon application sur des postes "clients", équipés uniquement du Runtime access et de windows XP.
Les fonctionns Date(), Droite(), etc ne sont plus reconnues (sauf Maintenant() )

Je précise que tout marchait correctement sur les postes client + runtime + W2000
c'est le passage à XP qui a été fatal

du coup j'ai reprogrammé en VBA des fonctions équivalentes, j'ai tout remplacé dans mes requêtes et autres expressions, et ça marche

mais bon, j'aimerais bien comprendre quand même
BjornDunkerbeck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2006, 22h18   #8
Invité de passage
 
Inscription : février 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 2
Points : 1
Points : 1
Par défaut Date() et autre en 97

Pour moi c'est un bug, si tu passe en Sr2 de Access97 tu n'auras plu ce problème
COLLOUARD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2007, 09h55   #9
Invité de passage
 
Inscription : juillet 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 1
Points : 1
Points : 1
J'ai eu le même problème avec la fonction Date().
access97+ SR2+ win xp : ok
access97+SR1+win xp : ko

J'ai substitué l'appel à cette fonction par la fonction Now() et ça marche dans les deux cas.
didaskalos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h27.


 
 
 
 
Partenaires

Hébergement Web