Lancer une requête ACCESS (2003) à partir d'un fichier Word [Résolu]

Signaler
Messages postés
12
Date d'inscription
samedi 10 septembre 2011
Statut
Membre
Dernière intervention
29 septembre 2011
-
Colquico7duSoir
Messages postés
12
Date d'inscription
samedi 10 septembre 2011
Statut
Membre
Dernière intervention
29 septembre 2011
-
Bonsoir à tous,

Question probablement basique: comment fait-on pour lancer avec VBA 6.3, une requête déja existant dans une base de données Access 2003 à partir d'un fichier Word (2003)?

J'ai créé une macro qui sélectionne le mot courant d'un fichier texte (où se trouve le caret) et qui renvoie la variable "sel" (sel As String) et désire trouver les enregistrements d'une table Access dont un des champs le renferme (code1).
J'ai créé une requête sélection Rechparcodebible2, non basée sur un formulaire, en rentrant comme paramètre de recherche "*"&sel&"*" dans le champ (code1). Ce champ est de type texte.

J'ai écrit ces quelques lignes:
-------------
Dim MonAccess As New Access.Application
MonAccess.OpenCurrentDatabase "D:\DossierA\BIBLE\bible2002.mdb"
MonAccess.Run "bible2002.Rechparcodebible2"

End Sub

La procédure me renvoie une erreur: "requête bible2002.Rechparcodebible2" introuvable.

Où fais-je une erreur?
Peut-on appeler de la sorte une requête?

Question connexe: la variable sel de type string dans Word peut-elle être acceptée dans le champ (code1) qui est de type texte dans Access?

Merci ++ à vous et bonne soirée

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
Salut

Je ne connais pas cette technique d'utilisation des objets Access tel que tu le fais, j'utilise toujours ADODB pour me connecter au fichier de base de données mais pas à l'application de gestion de la base (Access).
Un point qui lui risque de poser problème : En supposant que la syntaxe utilisée "bible2002.Rechparcodebible2" soit correcte, le Run ne convient pas.
Ta requète est sensée recevoir des infos en contre partie : Où va t-elle les mettre ?
A mon avis, il te faut un RecordSet pour les stocker.
De plus, le Run que tu utilises semble s'adresser à l'application, mais pas à la base de données.
A approfondir.

Dernières choses :
- "*"&sel&"*" risque de ne pas fonctionner : Respecte les espaces devant et derrière les symboles & : "*" & sel & "*"
- Le caractère servant de "All" en SQL est le symbole % et pas *

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
12
Date d'inscription
samedi 10 septembre 2011
Statut
Membre
Dernière intervention
29 septembre 2011

Merci infiniment,

je vais donc passer par ADODB ... qui me fait un peu peur, mais il y a assez d'exemples dans les livres et sur internet.

Très bonne soirée.

Et peut être à un autre jour sur le forum.