Executer requête SQL en VBA
Résolu
Utilisateur anonyme
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un fichier sous Access avec un formulaire et je souhaite exécuter une requête au démarrage de l'application.
Ma question ou plutôt mes questions sont :
1. Comment me connecter à la base de données ouverte sous Access
2. Comment exécuter la requête
3. Comment récupérer les infos pour les afficher
Je nage depuis 1 semaine et je sais pas quoi faire. Ne me dites pas que je dois chercher sur Google parce que j'ai déjà écumé la moitié du web sans trouvé une solution qui fonctionne. Des réponses oui, mais pas de solutions.
Je suis sous Windows 8.1 x64 avec un Access 2013.
Voici mon code :
A savoir qu'il peut y avoir plusieurs valeurs à ma requête;
Valeur 1
Valeur 2
Valeur 3
etc ...
Et que je dois afficher ça sous forme de liste dans un formulaire.
Merci !
PS: La requête fonctionne niquel :-)
J'ai un fichier sous Access avec un formulaire et je souhaite exécuter une requête au démarrage de l'application.
Ma question ou plutôt mes questions sont :
1. Comment me connecter à la base de données ouverte sous Access
2. Comment exécuter la requête
3. Comment récupérer les infos pour les afficher
Je nage depuis 1 semaine et je sais pas quoi faire. Ne me dites pas que je dois chercher sur Google parce que j'ai déjà écumé la moitié du web sans trouvé une solution qui fonctionne. Des réponses oui, mais pas de solutions.
Je suis sous Windows 8.1 x64 avec un Access 2013.
Voici mon code :
' Fonction de connexion à la base de données Private Function f_dBConnect() End Function ' Fonction qui exécute les requêtes SQL Public Function f_ExecutReq() End Function ' Fonction qui affiche les valeurs dans le formulaire Public Function f_UpdateDate() ' Déclaration des variables Dim sReqEntreprise As String Dim sEntrepriseList As String ' Initialisation des variables sReqEntreprise = "SELECT DISTINCT artwork_supplier FROM Data WHERE import_date = (SELECT DISTINCT TOP 1 import_date FROM Data ORDER BY import_date DESC) ORDER BY artwork_supplier ASC" ' Se connecte à la base de donnée Call f_dBConnect ' Exécute la requête sEntrepriseList = f_ExecutReq(sReqEntreprise) End Function
A savoir qu'il peut y avoir plusieurs valeurs à ma requête;
Valeur 1
Valeur 2
Valeur 3
etc ...
Et que je dois afficher ça sous forme de liste dans un formulaire.
Merci !
PS: La requête fonctionne niquel :-)
A voir également:
- Exécuter une requête sql en vba access
- Incompatibilité de type vba ✓ - Forum Programmation
- Acer quick access - Forum logiciel systeme
- Access appdata - Guide
- Quick Access service ✓ - Forum PC portable
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
Un avec les formulaires et les tables et un autre qu'il faut lier avec le gestionnaire de tables liées.
si vous voulez du VBA:
"connexion", voir CurrentDb pour acces a la base.
Pour l'execution de la requete, il y a plusieurs facons, une assz simple
ex:
Dim rs as Recordset
' Initialisation des variables
sReqEntreprise = "SELECT DISTINCT artwork_supplier FROM Data WHERE import_date = (SELECT DISTINCT TOP 1 import_date FROM Data ORDER BY import_date DESC) ORDER BY artwork_supplier ASC"
Set rst = CurrentDb.OpenRecordset(sReqEntreprise , dbOpenDynaset)
ensuite lecture du recordset ou autre, car je ne sais pas comment et dans quoi vous voulez afficher le resultat
Merci en tout cas !
Range, String Range, c'est pour Excel !!!!
Les valeurs du recordset sont du type du ou des champs lus dans la ou les tables