L'exécution d'une Requête Access à partir d'Excel
Je tente d'exécuter une requête dans access à partir d'excel, et ensuite, ces résultats sont tirés dans le document excel à l'aide d'ADO en VBA. Malheureusement, je ne peux pas comprendre comment exécuter la requête access à ce que les données dans la cellule active de la feuille excel est utilisé dans les critères de requête access.
Je suis sous Excel et Access 2007. J'ai inclus ce code j'ai jusqu'à présent ci-dessous. Merci d'avance pour votre aide.
Sub testdb()
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
With con
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Open "H:\WBC\Lukas\STOP.accdb"
End With
con.Execute "HPRSearch"
'the criteria field is 'Input', and I need to pull it from the active cell on the Excel Sheet
End Sub
Vous devez vous connecter pour publier un commentaire.
La première chose que vous devez faire est de configurer votre parametereized requête dans Access. Donc, dire, Requête1 est (où ID est un entier):
Les crochets autour de l' [MyID], si elle n'aboutit pas à un nom de champ, sera considéré comme un Paramètre. Maintenant, dire, nous voulons ramener le dossier avec l'ID 1. Configurer votre code dans Excel:
Cette référence les types de données adinteger trouvé dans cette ligne
doit être remplacé par la bonne constante qui représente le type de variable (voir ici: http://www.w3schools.com/ado/met_comm_createparameter.asp) du Paramètre dans votre requête. Dans votre cas, vous devez définir la valeur du Paramètre qui est représentée dans cette ligne
avec la valeur de votre cellule.
Et c'est tout. Ainsi, vous créez la Connexion, créez un objet de Commande (qui est essentiellement une référence à votre requête Access), la Commande propriétés de l'objet, y compris le paramètre, puis les résultats sont rapportés dans un jeu d'enregistrements. Ensuite une boucle à travers le jeu d'enregistrements et de faire ce que vous voulez avec les valeurs.