ACCESS 2007 erreur sur clic bouton cmd
Fermé
bobobkk
Messages postés
5
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
11 décembre 2007
-
7 déc. 2007 à 07:40
phil232 Messages postés 607 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 - 11 déc. 2007 à 10:12
phil232 Messages postés 607 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 - 11 déc. 2007 à 10:12
A voir également:
- L'expression sur clic entrée comme paramètre de la propriété de type événement
- Netflix paramètre compte - Guide
- Remettre parametre usine pc - Guide
- Atout clic - Télécharger - Éducatifs
- Changer parametre dns - Guide
- Parametre windows - Guide
6 réponses
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
11 déc. 2007 à 10:12
11 déc. 2007 à 10:12
Peut-être c'est une soluce. Sinon, ça m'étonnerai pas que ce sooit lié aux accents et compagnie, mais qui est-ce qui peut savoir. Si tu crées une nouvelle base (Access se casse quand-même facilement la gueule) ça pourrait aider aussi (ça me rappelle Access97, j'ai du réparer + ou - une fois par semaine)
Avant tout : "Formulaires!services!service ID number xxx xxxx", il ne trouve pas le champs Formulaires!services!service ID number xxx xxxx. Cela peut arriver quand c'est vraiment "Formulaires!services!service ID number xxx xxxx". Logiquement un éspace blanc est un séparateur de string. Il faut donc mettre tout ce qui est bizarre en [] (mais stp sois gentil est n'utilise pas d'accents, blanc, et tout autre chose qui n'est pas défini en ASCII 7 bit caractères. Ca augmente la portabilité et ça évite de bêtes pb comme ça. Aussi, nous vivons dans un monde mutlilingue. Et ne pas tout le monde parle français, par contre l'anglais c'est le langage de l'ordi. Et tant que tu reste avec l'anglais t'auras pas de pb de ce genre). Bref Formulaires!services![service ID number xxx xxxx] devrait déjà régler le 1er pb.
Puis la compile sert seulement à vérifier qu'il trouve vraiement toutes les références. Plutot vérification. Ca ne sert pas à grande chose de compiler en Access.
D'où vient l'erreur avec l'ActiveX ? D'après ce que je vu sur google (pas grande chose, mais...) on utilisait aussi Nz comme fonction. Peut-tu la remplacer par un IsNull ?
Puis la compile sert seulement à vérifier qu'il trouve vraiement toutes les références. Plutot vérification. Ca ne sert pas à grande chose de compiler en Access.
D'où vient l'erreur avec l'ActiveX ? D'après ce que je vu sur google (pas grande chose, mais...) on utilisait aussi Nz comme fonction. Peut-tu la remplacer par un IsNull ?
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
7 déc. 2007 à 13:47
7 déc. 2007 à 13:47
pourrait tu lancer un compile tous les modules ? A-tu regardé si dans les propriétés du bouton le nom de la macro/du module y est toujours ?
bobobkk
Messages postés
5
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
11 décembre 2007
8 déc. 2007 à 07:58
8 déc. 2007 à 07:58
Salut Phil232,
Merci pour ta reponse.
Je n'ai pas vraiment saisi ton conseil qui consiste a compiler les modules: je me debrouille pas trop mal sur access, mais tout ce qui est VB, c'est de la bidouille que je calque sur le net ou sur de precedentes DB. A quoi cela sert-il de compiler les modules?
J'ai quand meme fait l'action suivante sous VB: Menu Debug / compile "DBxxx". Mais ca n'a rien change.
Voici l'exemple d'un ligne de code d'un des boutons m'affichant mon fameux message:
Private Sub calculate_total_cost_Click()
Me.transport_cost = Nz(Me.plane_cost, 0) + Nz(Me.taxi_cost, 0) + Nz(Me.train_cost, 0) + Nz(Me.own_car_cost, 0)
Me.cost_of_inspection = Round(Me.mandays * Me.price_of_1_manday + Nz(Me.hotel_fee, 0) \ Me.exchange_rate + Nz(Me.transport_cost, 0) \ Me.exchange_rate)
Me.refoundable_expenses = (Nz(Me.transport_cost, 0) + Nz(Me.hotel_fee, 0)) \ Me.exchange_rate
Me.net_income = Me.mandays * Me.price_of_1_manday
End Sub
Lorsque je suis dans les proprietes du bouton, onglet evenement, et que je clique sur les 3 ... de la procedure evenementielle, il me place de suite sur le code correspondant dans VB. J'en deduis donc qu'il sait aller chercher le code.
Quand aux boutons relies a des macros, en voici un exemple:
Action:
OuvrirEtat
Argument:
quotation, Aperçu avant impression, , , Standard
J'ai verifie la requete liee a l'etat:
C'est le critere qui pose probleme: lorsque je l'enleve, la requete m'affiche correctement toutes mes lignes d'enregistrement, et meme en recreant le critere a l'aide du generateur, il est incapable de trouver le champ lui-meme dans le formulaire et m'en demande la valeur.
Je suis perplexe!
Merci pour ta reponse.
Je n'ai pas vraiment saisi ton conseil qui consiste a compiler les modules: je me debrouille pas trop mal sur access, mais tout ce qui est VB, c'est de la bidouille que je calque sur le net ou sur de precedentes DB. A quoi cela sert-il de compiler les modules?
J'ai quand meme fait l'action suivante sous VB: Menu Debug / compile "DBxxx". Mais ca n'a rien change.
Voici l'exemple d'un ligne de code d'un des boutons m'affichant mon fameux message:
Private Sub calculate_total_cost_Click()
Me.transport_cost = Nz(Me.plane_cost, 0) + Nz(Me.taxi_cost, 0) + Nz(Me.train_cost, 0) + Nz(Me.own_car_cost, 0)
Me.cost_of_inspection = Round(Me.mandays * Me.price_of_1_manday + Nz(Me.hotel_fee, 0) \ Me.exchange_rate + Nz(Me.transport_cost, 0) \ Me.exchange_rate)
Me.refoundable_expenses = (Nz(Me.transport_cost, 0) + Nz(Me.hotel_fee, 0)) \ Me.exchange_rate
Me.net_income = Me.mandays * Me.price_of_1_manday
End Sub
Lorsque je suis dans les proprietes du bouton, onglet evenement, et que je clique sur les 3 ... de la procedure evenementielle, il me place de suite sur le code correspondant dans VB. J'en deduis donc qu'il sait aller chercher le code.
Quand aux boutons relies a des macros, en voici un exemple:
Action:
OuvrirEtat
Argument:
quotation, Aperçu avant impression, , , Standard
J'ai verifie la requete liee a l'etat:
C'est le critere qui pose probleme: lorsque je l'enleve, la requete m'affiche correctement toutes mes lignes d'enregistrement, et meme en recreant le critere a l'aide du generateur, il est incapable de trouver le champ lui-meme dans le formulaire et m'en demande la valeur.
Je suis perplexe!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bobobkk
Messages postés
5
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
11 décembre 2007
10 déc. 2007 à 19:08
10 déc. 2007 à 19:08
Salut Phil,
Merci pour ton conseil, j'avais arrete d'utiliser les _ au profit des blancs pour m'eviter de renommer les titres des champs a chaque fois.
Quand a l'utilisation de l'anglais, je n'ai pas vraiment le choix car je ne dispose que d'un clavier QWERTY + thai sans accent, et que ma base de donnees est amenee a etre utilisee par des non francophones.
Toute trace de francais est donc lie a Access qui lui est en francais (je regrette d'ailleurs la version anglaise que j'avais toujours utilise auparavant).
L'expression "Formulaires!services!service ID number xxx xxxx" m'est affichee par access dans la message box.
Dans ma query, le critere est le suivant: [forms]![services]![service ID number xxx xxxx], et lorsque je recree mon critere avec le generateur, il change evidemment cela en francais ([Formulaires]![Services]![service ID number xxx xxxx]). Mais il est toujours incapable de trouver ma valeur de champ (la form etant bien entendue ouverte en mode Form).
Rapport aux accents, tous les noms de mes labels portent le nom xxx_etiquette, avec l'accent sur le 1er "e" (crees automatiquement...).
J'ai lu le post de quelqu'un qui disait qu'il avait change les noms et que depuis ca marchait. Comme quoi les accents sur les lettres majuscules posaient problemes. J'avais donc renomme tous les champs d'un formulaire mais je n'avais pas eu de resultats.
Ce qui m'etonne, c'est que ca ait marche comme cela pendant un mois, et qu'apres mes manips de formatage etc.., cela ne marche plus.
Quand a renommer la fonction ca ne donne rien. Meme lorsque je remplace le code par un simple: Msgbox "Hello", il me place le meme message d'erreur.
Un autre indice cependant: les Subform de ma database me posent aussi probleme.
Lorsque j'essaie d'updater des champs du sous formulaires, j'ai la message box suivante: "Le parametre de la propriete champsperes est a l'origine de l'erreur suivante: Un probleme est survenu durant la communication entre Microsoft Access et le serveur OLE ou le controle active X", soit quasiment le meme message sans explication (et le numero d'erreur 502472).
Qu'est-ce que ce probleme de communication Access / serveur OLE - Controle Active X? Est-ce qu'un probleme pendant l'installation de Office aurait pu creer cette erreur. Dois-je reinstaller Office?
Merci encore pour ton aide.
Merci pour ton conseil, j'avais arrete d'utiliser les _ au profit des blancs pour m'eviter de renommer les titres des champs a chaque fois.
Quand a l'utilisation de l'anglais, je n'ai pas vraiment le choix car je ne dispose que d'un clavier QWERTY + thai sans accent, et que ma base de donnees est amenee a etre utilisee par des non francophones.
Toute trace de francais est donc lie a Access qui lui est en francais (je regrette d'ailleurs la version anglaise que j'avais toujours utilise auparavant).
L'expression "Formulaires!services!service ID number xxx xxxx" m'est affichee par access dans la message box.
Dans ma query, le critere est le suivant: [forms]![services]![service ID number xxx xxxx], et lorsque je recree mon critere avec le generateur, il change evidemment cela en francais ([Formulaires]![Services]![service ID number xxx xxxx]). Mais il est toujours incapable de trouver ma valeur de champ (la form etant bien entendue ouverte en mode Form).
Rapport aux accents, tous les noms de mes labels portent le nom xxx_etiquette, avec l'accent sur le 1er "e" (crees automatiquement...).
J'ai lu le post de quelqu'un qui disait qu'il avait change les noms et que depuis ca marchait. Comme quoi les accents sur les lettres majuscules posaient problemes. J'avais donc renomme tous les champs d'un formulaire mais je n'avais pas eu de resultats.
Ce qui m'etonne, c'est que ca ait marche comme cela pendant un mois, et qu'apres mes manips de formatage etc.., cela ne marche plus.
Quand a renommer la fonction ca ne donne rien. Meme lorsque je remplace le code par un simple: Msgbox "Hello", il me place le meme message d'erreur.
Un autre indice cependant: les Subform de ma database me posent aussi probleme.
Lorsque j'essaie d'updater des champs du sous formulaires, j'ai la message box suivante: "Le parametre de la propriete champsperes est a l'origine de l'erreur suivante: Un probleme est survenu durant la communication entre Microsoft Access et le serveur OLE ou le controle active X", soit quasiment le meme message sans explication (et le numero d'erreur 502472).
Qu'est-ce que ce probleme de communication Access / serveur OLE - Controle Active X? Est-ce qu'un probleme pendant l'installation de Office aurait pu creer cette erreur. Dois-je reinstaller Office?
Merci encore pour ton aide.
bobobkk
Messages postés
5
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
11 décembre 2007
11 déc. 2007 à 05:21
11 déc. 2007 à 05:21
Salut, c'est encore moi
J'ai trouve sur le net quelqu'un qui avait un probleme similaire.
La reponse donnee est la suivante:
J'ai eu le même problème sur plusieurs PC, j'ai beaucoup cherché sur Internet mais je n'ai pas trouvé de solution.
Alors après plusieurs tentatives, j'ai pu le résoudre en remplaçant le fichier "Stdole2.tlb" (24 ko).
Je me suis apercu que ce fichier est la reference VB pour OLE automation. Est-ce une solution fiable? Si oui comment se procurer la bonne version de ce fichier?
Merci,
J'ai trouve sur le net quelqu'un qui avait un probleme similaire.
La reponse donnee est la suivante:
J'ai eu le même problème sur plusieurs PC, j'ai beaucoup cherché sur Internet mais je n'ai pas trouvé de solution.
Alors après plusieurs tentatives, j'ai pu le résoudre en remplaçant le fichier "Stdole2.tlb" (24 ko).
Je me suis apercu que ce fichier est la reference VB pour OLE automation. Est-ce une solution fiable? Si oui comment se procurer la bonne version de ce fichier?
Merci,