Sendkeys dans Access avec windows Vista

Signaler
Messages postés
5
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
1 avril 2007
-
Messages postés
35
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
15 avril 2013
-
J'ai une base de donnée Access qui fonctionne très bien sous windows XP
mais lorsqu'elle est sous Windows Vista elle me génère le code d'erreur 70
ceci du à une instruction sendkeys
Par quoi et comment faut-il la remplacer cette instruction ?

7 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
24
C'est là l'occasion qui t'est dinnée de te débarrasser une fois pour toutes du Sendkeys (pour le moins bancale) de VB !

Profites-en pour le remplacer par l'emploi de la fonction SendInput de la librairie user32.dll de l'API de Windows
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
24
J'aurais toutefois besoin d'une précision utile à la constitution d'un "unventaire" en cours ...
Ton Sendkeys est-il envoyé depuis VBA Access ou depuis VB6 pilotant Access ?
Merci de répondre à cette question qui ne t'est pas directement utile mais est destinée à alimenter une base de connaissances.


Surtout si c'est directement depuis VBA, car alors, M. Bill aura à s'expliquer !!!
Messages postés
2
Date d'inscription
samedi 26 février 2005
Statut
Membre
Dernière intervention
17 mai 2010

Bonjour,

J'utilise également l'instruction Sendkeys, notamment dans le cas suivant :

SendKeys "~", False
RunCommand acCmdPageSetup
(permet de rafraichir un état Access dont on a complété par code le contenu d'une zone de texte ou d'une étiquette)

et je rencontre la même difficulté sous VISTA qui génère une erreur 70 (Permission refusée) alors que toutes les versions antérieures de Windows la digéraient sans analgésiques.

Je précise que mon code est VBA.

Je vais suivre le conseil de jmfmarques et utiliser une autre instruction en espérant qu'elle ne fera pas planter les Windows antérieurs. Je vais me tuyauter sur l'instruction SendInput si c'est le bon plan.
Messages postés
10
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
16 novembre 2008

Bonjour,

Je viens d'acquérir un nouvel ordinateur avec Vista. J'ai une base Access 97 que je viens de convertir en Access 2000. Tout semble fonctionner correctement mais l'instruction Sendkeys plante le programme en mettant Erreur d'exécution 70 Permission refusée.  Impossible de trouver la solution. Ce code sendkeys marchait sans problème sous XP et sous Access 97. Quelqu'un aurait il une solution ???
Messages postés
1
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
14 août 2007

Bonjour,


Peut-être un peu tard mais je viens d'être confrontée au même problème.


Je m'en suis sortie en remplaçant les sendkeys par la fonction


Public Declare Sub keybd Lib "user32" Alias "keybd_event" _
  (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
  ByVal dwExtraInfo As Long)

Public Sub appui_touche(T As Long)
'appuie sur la touche
keybd T, 0, 0, 0
'relache la touche
keybd T, 0, 2, 0
End Sub

ensuite remplacer sendkeys... par appui_touche(vbKey...) où vbKey... est le code vb de la touche (ex. vbKeyReturn = {Enter})

Après cette manip, Vista acceptait mon code, ouf!

En espérant vous avoir été utile,
Cheveche
Apprendre, c'est exister!
Messages postés
14
Date d'inscription
lundi 15 septembre 2008
Statut
Membre
Dernière intervention
24 novembre 2008

moi je développe sous access 2003, sous xp sans pb mais sous vista quand je veux ouvrir un formulaire il affiche un message d'erreur, "l'expression sur clic entrée comme paramètre de la propriété est à l'origine d'une erreur.l'objet ou lma classe ne gère pas le jeu d'évènement".
Mouletch
Messages postés
35
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
15 avril 2013

Bonjour,

idem par l'utilisation de sendkeys (sous windows seven) j'avais le même problème (alors que depuis 4 ans tout était OK sur windows XP.

J'utilisais sous XP et j'utilise sour 7even : office XP (excell 2003)

En fouillant sur internet, il s'avère qu'il suffit de désactiver l'UAC (User Access Control) de rebooter et là cela fonctionne.

Mon utilisation de sendkeys me sert pour l'envoie de mail avec des touches de commande pour y insérer des pièces jointe, du textes et l'émetteur (qui peut changer suivant le mail envoyé).

Le source de ce code, fait par NERIM, est sur ce site (qui est GÉNIAL).

Koloco...