Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Access MSDE impossible de supprimer ...

1 réponse
Avatar
Bernard SC
Bonjour,

Je fais une petite appli .mdb Access pour transférer des données d'une base
Access vers une base MSDE (SQL-Server) connectée par ODBC.

Sur la base cible, j'ai enlevé (provisoirement) l'attribut "Clé Primaire"
sur les tables dont je veux garder les identificateurs venant de la Base
source (pour conserver les liaisons entre les tables transférées).
Je peux transférer une première fois les données. Mais quand je veux répéter
la manip (Supprimer les enregistrements, puis les copier à nouveau), ça ne
marche plus :
-une table cible n'est apparemment plus modifiable (les menus Nouvel
Enregistrement, et Supprimer Enreg sont grisés)
-je peux cependant y ajouter des enregistrements par requête Ajout
-je ne peux pas supprimer d'enreg par requête Suppression ("impossible de
supprimer dans les tables spécifiées").

Une indication, peut-être... j'enlève l'attribut "clé primaire" sur les
tables destinataires dans la BD SQL-Server au moyen d'un "Projet Access"
(.ADP). Et l'une des tables est toujours vue, depuis mon appli .mdb, avec
l'attribut "clé primaire", et pourtant je peux y copier 2 fois mes données
sources, donc tout en doublon !!!! Bizarre...

Où fais-je une bêtise ??? Que dois-je vérifier ??
Merci de vos idées
Bernard

1 réponse

Avatar
Bernard SC
Voilà, ça fonctionne maintenant. Je vous fais profiter de mes recherches...

Pour pouvoir transférer des tables liées d'une BD à l'autre, il faut:
-supprimer les relations du schéma de la BD destinataire (SQL Server)
ET-enlever l'attribut Compteur des clés des tables dans cette BD.

Il faut laisser l'attribut Clé Primaire.

Après migration des données, il faut remettre l'attribut Compteur aux clés
des tables (dans un projet Access .ADP, cet attribut s'appelle "Identité").
Apparemment SQLServer prend automatiquement la plus grande valeur + 1 pour
la prochaine création (pas besoin de l'indiquer explicitement, quand on
remet l'attribut "Compteur").

Apparemment aussi, si on modifie un attribut (Clé Primaire, ou Compteur)
dans SQLServer (par une appli .ADP), cette modification d'attribut n'est pas
rafraîchie (et est donc affichée erronée) dans l'application mdb qui utilise
cette base (au travers d'une liaison ODBC).



"Bernard SC" a écrit dans le message de news:

Bonjour,

Je fais une petite appli .mdb Access pour transférer des données d'une
base Access vers une base MSDE (SQL-Server) connectée par ODBC.

Sur la base cible, j'ai enlevé (provisoirement) l'attribut "Clé Primaire"
sur les tables dont je veux garder les identificateurs venant de la Base
source (pour conserver les liaisons entre les tables transférées).
Je peux transférer une première fois les données. Mais quand je veux
répéter la manip (Supprimer les enregistrements, puis les copier à
nouveau), ça ne marche plus :
-une table cible n'est apparemment plus modifiable (les menus Nouvel
Enregistrement, et Supprimer Enreg sont grisés)
-je peux cependant y ajouter des enregistrements par requête Ajout
-je ne peux pas supprimer d'enreg par requête Suppression ("impossible de
supprimer dans les tables spécifiées").

Une indication, peut-être... j'enlève l'attribut "clé primaire" sur les
tables destinataires dans la BD SQL-Server au moyen d'un "Projet Access"
(.ADP). Et l'une des tables est toujours vue, depuis mon appli .mdb, avec
l'attribut "clé primaire", et pourtant je peux y copier 2 fois mes données
sources, donc tout en doublon !!!! Bizarre...

Où fais-je une bêtise ??? Que dois-je vérifier ??
Merci de vos idées
Bernard