Création d'une clé primaire sur une table attachée

Résolu
tri_yann Messages postés 124 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 19 septembre 2013 - 6 déc. 2007 à 18:35
tri_yann Messages postés 124 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 19 septembre 2013 - 21 nov. 2008 à 14:34
Bonjour,

Je crée par code une table attachée sous Access liée à un serveur SQL 2005 avec ADO. Je ne parviens pas à ajouter à cette table liée (une fois qu'elle est créée), la clé primaire. La création de la clé primaire est primordiale lorsqu'on lie une vue ou une table qui n'en a pas. Access demande systématiquement de spécifier l'identifiant unique lors de la création de la table via l'assistant.
Quelqu'un sait-il pourquoi Access émet-il des difficultés à spécifier une clé primaire sur une table attachée alors que ca marche très bien sur une table locale.

Voici le code qui devrait marcher , mais....

<hr />

Set cnn = CurrentProject.Connection
cat.ActiveConnection = cnn




'--- Création de la table liée ---



Set tbl = New ADOX.Table



With tbl
    .Name = "toto"
    Set .ParentCatalog = cat
    .Properties("Jet OLEDB:Link Datasource") = ""
    .Properties("Jet OLEDB:Remote Table Name").Value = " dbo.toto"
    .Properties("Jet OLEDB:Create Link").Value = True
    .Properties("Jet OLEDB:Link Provider String").Value = "ODBC;Description=Base AM SQL sur R02;DRIVER=SQL Server;SERVER=R02;APP=Microsoft Open Database Connectivity;WSID=PTISSERAND<wbr>;DATABASE=BaseToto;Trusted<wbr>_Connection=Yes"
End With</wbr></wbr>



'--- Création de la clé primaire puis accrochage à la table ---




Set pk = New ADOX.Key
With pk
    .Name = "PK_Typecode"
    .Type = adKeyPrimary
    .Columns.Append "Typecode"
End With


tbl.Keys.Append pk




'--- Accrochage de la table au catalogue ---


With cat.Tables
    .Append tbl
    .Refresh
End With

<hr />

Cordialement
Yann

1 réponse

tri_yann Messages postés 124 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 19 septembre 2013 3
21 nov. 2008 à 14:34
Merci,
J'ai trouvé. Pour ceux que ca intéresse, une table liée en DAO n'a pas de clé primaire sous Access. Il faut lui créer un index.

Yann
3
Rejoignez-nous