2010-12-09 3 views
1

Basierend auf Web-Lesungen, baute ich eine neue ODBC-Verbindung, sorgfältig nach subtilen Konfigurationsparameter suchen, die Updates fördern vorschlagen könnte, aber keine gefunden wurden. Dann habe ich den neuen Link getestet.Zugriff ODBC verknüpfte Tabelle mit SQL Server ermöglicht Einfügungen, aber keine Updates

Zu meinem Problem Re-Test:

1) Ich habe die folgende Tabelle auf SQL Server 2005:

[TestTbl] 

column1: Key  Type:Integer 
Column2: Name  Type:varchar(5) 

Bestückt als

Key  Name 
    ===  ==== 
    1  Apple 
    2  Bear 
    3  Cat 

2) in Access 2007 Danach folgt , erstellte eine Verbindung zu der SQL Server-Tabelle TestTbl mit meiner neuesten ODBC-Verbindung.

3) Als nächstes die folgenden neuen Datensätze in der SQL Server-Tabelle über den Link und Ausführung meiner Einsätze von Access 2007 erfolgreich eingeführt:

Key  Name 
    ===  ==== 
    4  Dog 
    5  Elephant 

4) Schließlich habe ich versucht, die folgende einfache Update-Abfrage auszuführen:

UPDATE dbo_TestTable SET dbo_TestTable.TestName = "CatNip" 
    WHERE (((dbo_TestTable.TestKey)=3)); 

ich die Fehlermeldung bekam „Operation muss eine aktualisierbare Abfrage sein“

5) aus Frustration, eingefügt ich einen weiteren Rekord

Key  Name 
    ===  ==== 
    6  Nonsense 

Dann habe ich diese Frage gestellt und um Hilfe gebeten.

Kann mir bitte jemand erklären, warum ich neue Datensätze in die verknüpfte Tabelle einfügen kann, aber vorhandene Datensätze nicht aktualisieren kann?

+0

varchar (50) war Datentyp von Column2 –

+1

Vielleicht ist es nur ein Tippfehler, aber Ihre Spalten heißen Key und Name aber Ihre INSERT-Anweisung bezieht sich auf TestKey und TestName. –

+1

Dies ist eine verknüpfte Tabelle, ja? Sind Sie sicher, dass Sie einen Primärschlüssel haben? – Fionnuala

Antwort

2

Das Problem, das Sie haben, liegt daran, dass entweder kein Primärschlüssel definiert ist oder wenn Sie die Tabelle in Access verknüpft haben, wurde der Primärschlüssel nicht definiert. Erneutes Hinzufügen der verknüpften Tabelle (löschen und hinzufügen) und wählen Sie ein Primärschlüsselfeld, in diesem Fall Spalte1

+0

Dies ist wahrscheinlich die richtige Antwort. Erwägen Sie in Zukunft, eine ADP-Datei zu verwenden. –

Verwandte Themen