Bonjour,
Je voudrais exécuter une requête en VBA pour ajouter une colonne dans une table. Sauf que quand je lance ma requête l'erreur : "Le moteur de base de données n'a pas pu verrouiller la table <nom> car elle est déjà utilisée par une autre personne ou un autre processus. (Erreur 3211)" apparaît.
La seul raison de cette erreur est le fait que mon formulaire qui lance la requête à comme source de contrôle la table en question. J'ai donc eu l'idée de mettre ce contrôle à "vide", d’exécuter la requête puis de remettre le contrôle sauf que je n'y arrive pas.
J'ai vu sur la FAQ qu'il fallait utiliser ceci :
Me.NomDeMonFormulaire.Form.RecordSource = "Select ..."
Sauf que quand je met le nomduformulaire ça ne marche pas. Pouvez vous me donner la syntaxe pour cette commande sachant que mon formulaire se nomme : F_Ajout_Formation_Stagiaire.
Mon code :
Ou alors le problème ne vient pas de là, je ne sais pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ajcolsql = "ALTER TABLE T_Formation_Stagiaire ADD " & rstid.Fields(0) & " varchar(15)" Set Req = db.CreateQueryDef("", ajcolsql) 'Me.F_Ajout_Formation_Stagiaire.Form.RecordSource = "" Req.Execute dbFailOnError
Merci d'avance pour vos réponses.
Partager