Vous voyez une erreur

alseba Messages postés 6 Date d'inscription vendredi 14 avril 2006 Statut Membre Dernière intervention 17 avril 2006 - 14 avril 2006 à 19:12
alseba Messages postés 6 Date d'inscription vendredi 14 avril 2006 Statut Membre Dernière intervention 17 avril 2006 - 18 avril 2006 à 17:42
Salut,

j'ai un problème pour récupérer des données par le port com provenant d'une balance.

Config: XP, VBA 2002

ma ligne de commande est celle-ci:



With MSComm1

.inbuffercount = 0

.CommPort = 1

.RThreshold = 1

.Settings = "9600,N,8,1"

.Handshaking = comXOnXoff

.SThreshold = 1

.RTSEnable = 1

.InputLen = 1

.portopen = True

End With



Le prog plante sur toutes les lignes, avec le message:



Erreur d'exécution '438'

Propriété ou méthode non gérée par cet objet



PS: coincidence ou non avec 2 PC sous Win 2000 ca marche et avec 2 Sous XP ca plante???



Merci si vous pouvez m'aider

4 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
14 avril 2006 à 19:31
Et est-ce que ça marche en faisant :
MSComm1.inbuffercount = 0
MSComm1.CommPort = 1
MSComm1.RThreshold = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.Handshaking = comXOnXoff
MSComm1.SThreshold = 1
MSComm1.RTSEnable = 1
MSComm1.InputLen = 1
MSComm1.portopen = True

Si ça marche pas non plus, c'est surrement que ton controle MSCOMM n'est pas installé ou est mal enregistré sur tes PC XP.

<hr size="2" width="100%">
0
alseba Messages postés 6 Date d'inscription vendredi 14 avril 2006 Statut Membre Dernière intervention 17 avril 2006
15 avril 2006 à 16:55
Non ca ne marche pas non plus.
J'ai l'impression qu'il n'y a pas de dialogue entre les 2.
Pourtant mes ports com sont reconnus dans le gestionnaire de périphérique.
Une idée pour autoriser, ou installer le MSCOMM sur le PC?
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
18 avril 2006 à 09:32
Vérifie sur ton disque dans ton répertoire systeme (normalement Windows\System32 sous XP) si le fichier MSCOMM32.OCX existe.
s'il n'existe pas, essaye de le copier (avec ses dépendances) puis essaye de l'enregistrer ou réenregistrer dans le registre -->
Démarrer/executer, tu tappe regsrv32 mscomm32.ocx puis tu valide.

Normalement il doit te falloir les fichiers suivants :
Mscomm32.ocx (obligatoire)
Mscomm32.oca
Mscomfr.dll (obligatoire)
Mscomm32.dep
Mscomm.srg

Tu as peut-etre aussi un problème de licence sur ton controle, recherche sur le site de microsoft.
Cette page par exemple tu donne un utilitaire pour réparer la licence de quelques controles : http://support.microsoft.com/kb/194751/EN-US/

<hr size="2" width="100%">
0
alseba Messages postés 6 Date d'inscription vendredi 14 avril 2006 Statut Membre Dernière intervention 17 avril 2006
18 avril 2006 à 17:42
Oui tu as raison Casy!
Bon voila j'ai résolu
mon probleme alors je vais faire une petite procédure pour que si ca
arrive a qq'un d'autre il puisse s'en sortir plus facilement.

Tout d'abord il faut télécharger le fichier Mscomm32.ocx sur ce site
http://www.yes-tele.com/mscomm.html

Ensuite il faut coller ce fichier dans windows\system

Etape
suivante "register" le fichier en faisant sous access outils/control
activeX, sélectionner microsoft comm control 6.0 (le chemin d'acces
doit indiquer le nom du bon fichier dans le bas de la fenetre) ou alors regsrv32 mscomm32.ocx (j'ai pas testé).

Pour le problème de licence: "regedit" et la dans HKEY_CLASSES_ROOT\Licenses on créé un nouveau dossier :
4250E830-6AC2-11cf-8ADB-00AA00C00905 pour finir on modifie le champ avec la valeur

kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun


Ensuite il faut remettre l'icone "telephone" sur la page.

Voila et merci Casy.
0
Rejoignez-nous