Je souhaite créer des requetes dans un objet module access
Mais je ne trouve nulle part comment lancer l'exécution objet module.
Si quelqu'un avait la recette
Merci
Version imprimable
Je souhaite créer des requetes dans un objet module access
Mais je ne trouve nulle part comment lancer l'exécution objet module.
Si quelqu'un avait la recette
Merci
Bonjour et bienvenue sur les Forums Office de DVP.
Je pense que tu n'est pas sur la bonne voie.
Un module ne contient pas de requête, on ne peut pas exécuter un module.
Un module peut contenir des déclarations, des fonctions et des procédures.
On peut exécuter des procédures, appeler des fonctions.
http://warin.developpez.com/
Sur le site de Christophe, tu vas trouver un tuto sur le DAO.
Je te conseille de le lire, tu apprendras beaucoup de choses.
dans une procédure on ne peut pas stocker de requetes ?
Expliques nous ce que tu veux faire.
je souhaite créer des requêtes de création de table :
exemple de ma première requête :
Je souhaite dans un premier temps créer deux structures de tables ensuite je verrai.Code:DoCmd.RunSQL "create table trayon (rayon_ryn char(16))"
Il s'agit donc de code VBA
Je souhaite une exécution automatique, comme on lance une macro par exemple.
Comprenez-vous ce que je souhaite
Bonjour,
Je souhaite stocker des requêtes (plusieurs requêtes), pour une exécution automatique.
Ma première requête serait par exemple :
Comment stocker ce code ?Code:DoCmd.RunSQL "create table trayon (rayon_ryn char(16))"
Comment exécuter ce code ?
Quel technique utiliser ?
MERCI
Bonjour,
Je n'ai pas tout compris.....:roll:
...et bien avec le code que tu propose...Citation:
Comment exécuter ce code ?
...peut-être un peu plus d'aide ici:Code:DoCmd.RunSQL ...........
http://access.developpez.com/sql/
Bonne lecture...;)
[EDIT] Evite le multi-post...:http://www.developpez.net/forums/sho...php?t=415205.......:?
Pour stocker tes codes SQL, tu peux créer une table avec deux champs :
Nom de la table : tblSql
Champ 1 : IdSql (NuméroAuto)
Champ 2 : memSql(Memo)
Stocke ces codes dans ta table et pour les rappeler, tu peux par exemple, employer la fonction :"LaValeurDeTonChoix" correspond bien sûr au N° de codeSql que tu cherches à appeler.Code:
1
2
3
4 Dim codeSql as String codeSql = DLookup("memSql", "tblSql", "IdSql = " & LaValeurDeTonChoix) DoCmd.RunSQL codeSql
Alors pour explication:
La "requête" que tu donnes comme exemple ci-dessus est en fait du code SQL !
DoCmd.RunSQL = est une commande qui appelle un code SQL
"create table trayon (rayon_ryn char(16))" = est ce code SQL !
Je te renvoie maintenant à mon dernier post où je t'expliquais comment stocker tous tes codes SQL
Ainsi que comment tu peux procéder pour exécuter ce code.
Tu peux m'envoyer ta MDB compressées si tu veux un exemple.
Tu peu m'envoyer un tout petit exemple, ce qui m'intéresse est de savoir ou est stocké ce code, comment y accéder et l'exécuter
Je n'aime pas ce genre de chose mais je te joins une mini base où tu pourras voir quel est le principe.
Par contre, si tu es débutant (de chez débutant !) ce n'est peut-être pas le bon bout pour appréhender Access....
A toi de voir !
es-tu allé lire le tuto de Christophe Warin ??
http://warin.developpez.com/
C'est le tuto sur le DAO.
Il va répondre à toutes tes questions.
Le DAO est bien plus souple que les requêtes à mettre en œuvre.
Puisque le tuto ne t'intéresse pas.
Alt + F11
Insérer nouveau Module
Dans le module
Code:
1
2
3
4 Sub CreerTable() Mon SQL à exécuter End Sub
On en arrive à comment exécuter un module.
Soit tu le lances au départ d'une macro, ou alors via un formulaire avec un bouton.
Bonjour,
J'ai créer ce module dans Access, je voudrais savoir comment je fais pour demander son exécution.
Merci
Code:
1
2
3 SUB CREATE TABLE() DoCmd.RunSQL "create table trayon (rayon_ryn char(16))" End Sub
Voilà un exemple de solution mais je pense de plus en plus que tu dois aller plus souvent regarder ce que te propose l'aide d'Access, les tutos etc.
Pas d'automatisation de réalisation de code... c'est du "Fait main"
Bonne soirée
:salut:
Non pas du tout, ce sont des noms que j'attribue aux différents controls que l'on peut rencontrer sur un formulaire.Citation:
Envoyé par DURANTEAU
J'ai pris l'habitude de la dénomination suivante afin de pouvoir toujours savoir exactement à quel control j'ai à faire lorsque je programme:
btnShowSql : Veut simplement dire BoutonMontreSql et c'est le nom de mon bouton
Ce sera donc pour mes différents boutons:
btnClose
btnOpen
btnChange, etc
Les listes, comme celle dans laquelle tu peux lister les numéros dans le form que je t'ai concocté (cbo pour ComboBox)
cboCodeSql : Liste (de) Code Sql
cboClients
cboNpa (Liste numéros postaux)
etc..
Pour les controls eux-mêmes, j'ai choisi :
txtNom
txtPrénom
txtAdresse
etc.
C'est une systématique forte utile lorsque tu commences à programmer.
Je te suis reconnaissant de bien vouloir poser tes questions sur le forum et non plus via les messages persos - que je réserve à... des messages persos
;)
Bonjour,
Lorsque l'on saisie plusieurs lignes de code SQL en VBA, est t-il nécessaire de faire commencer chaque ligne SQL, par la commande DoCmd.RunSQL, ou existe t-il une possiblilité d'écrire cette commande DoCmd.RunSQL une seule fois avant la première ligne SQL.
Merci
Hello !
Le plus simple est d'utiliser une boucle : For... to....Next
Tu écris - For - (sans les tirets !) dans le module de mon exemple tu double-clic sur le mot "For" et tu presses :f1:
Là tu trouveras toute l'explication ainsi qu'un exemple
Bonne journée et bonne lecture !;)