Bonjour
Dans le cadre d'une modification à distance d'une application, je dois remplacer une table par sa nouvelle version. (un champ en plus et qq enregistrements en plus). Cette table est en relation avec d'autres.
Dans l'ordre, je dois donc
- mémoriser dans une table temporaire les relations concernant cette table,
- supprimer les relations existantes (j'ai trouve comment faire sur le forum)
- supprimer l'ancienne table
- importer la nouvelle
- rétablir les relations à partir de ce que j'ai mémorisé.
Pas de pb pour les 4 premiers points.
pour le rétablissement des relations, j'ai tenté ce code où xx est la table temporairemais comme je le craignais, j'ai le message d'erreur "Impossible d'ajouter des enregistrements; pas d'autorisation d'insertion sur 'MSysRelationships'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Req = "INSERT INTO MSysRelationships ( ccolumn, grbit, icolumn, szColumn, szObject, szReferencedColumn, szReferencedObject, szRelationship )" Req = Req & " SELECT xx.ccolumn, xx.grbit, xx.icolumn, xx.szColumn, xx.szObject, xx.szReferencedColumn, xx.szReferencedObject, xx.szRelationship" Req = Req & " FROM xx ;" DoCmd.RunSQL Req
Y a-t-il une autre méthode ?
Je pense que la solution est à chercher du côté de la syntaxe à utiliser pour supprimer une relation, mais je ne sais pas l'adapter à la création.
Pour mémoire, pour la suppression il fallait entrer un code du styleMerci pour vos suggestions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER TABLE [T-Forms] DROP CONSTRAINT [T-TypeFormsT-Forms]
Partager