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 photo gratuit - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Gestion de fichiers - Télécharger - Gestion de fichiers
- Gestion planning equipe - Télécharger - Outils professionnels
- Logiciel gestion garage - Télécharger - Organisation