Gestion DoCmd VBA Access
Raph04
Messages postés
182
Statut
Membre
-
Raph04 Messages postés 182 Statut Membre -
Raph04 Messages postés 182 Statut Membre -
Bonjour,
Dans un formulaire je souhaite pouvoir mettre à jours les tables d'une autre base de donnée à partir de celle ou je suis (ayant des tables avec les même nom mais légèrement différentes puisque qu'on y a appliqué les mises à jours).
Pour cela je souhaite tout d'abord supprimer la table de la base distante. Puis copier la nouvelle table depuis la base local vers la base distante. db correspond à la table distante et CurrentDb à la local
Pour cela j'utilise ce code :
C'est au niveau de la suppression et de la copy de l'autre que je ne sais pas comment différencier celle de la table local et celle de la table distante. Notamment pour le delete, il n'accepte pas le "db.TableDefs(tableName)" comment pourra t'il savoir laquelle des tables je souhaite supprimer si je ne lui donne pas la base ?
Dans un formulaire je souhaite pouvoir mettre à jours les tables d'une autre base de donnée à partir de celle ou je suis (ayant des tables avec les même nom mais légèrement différentes puisque qu'on y a appliqué les mises à jours).
Pour cela je souhaite tout d'abord supprimer la table de la base distante. Puis copier la nouvelle table depuis la base local vers la base distante. db correspond à la table distante et CurrentDb à la local
Pour cela j'utilise ce code :
For Each tableName In listTable ' Ouverture de la table distante Set rstDistant = db.OpenRecordset(tableName, dbOpenDynaset) ' Ouverture de la table locale Set rstLocal = CurrentDb.OpenRecordset(tableName, dbOpenDynaset) ws.BeginTrans transactionEnCours = True 'Message preventif Rep = MsgBox(tableName & " : Souhaitez vous remplacer cette table", vbYesNo) Select Case Rep 'Si l'utilisateur desire vraiment quitter Case vbYes 'On supprime la table de la base distante DoCmd.DeleteObject acTable, db.TableDefs(tableName) 'On copie la table de la base local vers la base distante DoCmd.CopyObject db, tableName, acTable, CurrentDb.TableDefs(tableName) Case vbNo MsgBox "Opération Annulée" End Select transactionEnCours = False ws.CommitTrans rstLocal.Close rstDistant.Close Next tableName
C'est au niveau de la suppression et de la copy de l'autre que je ne sais pas comment différencier celle de la table local et celle de la table distante. Notamment pour le delete, il n'accepte pas le "db.TableDefs(tableName)" comment pourra t'il savoir laquelle des tables je souhaite supprimer si je ne lui donne pas la base ?
A voir également:
- Gestion DoCmd VBA Access
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Logiciel gestion photo gratuit - Guide
- Gestion de fichiers - Télécharger - Gestion de fichiers
- Gestion autorisation application android - Guide
- Logiciel gestion garage - Télécharger - Organisation