Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

MS Access-Fehler ODBC – Aufruf fehlgeschlagen. Ungültiger Zeichenwert für Cast-Spezifikation (#0)

Hm, ich würde die Textfeldvorgabe auf der Zugriffsseite überprüfen. Ich würde auch die verknüpfte Tabelle im Entwurfsmodus aufrufen, und Sie möchten den Datentyp überprüfen, den ms-access hier annimmt. Für nicht unterstützte Datentypen verwendet ms-access im Allgemeinen eine Zeichenfolge, und der SQL-Server möchte möglicherweise etwas anderes.

Überprüfen Sie also sowohl den Primärschlüssel (PK) in der Haupttabelle als auch den verwendeten (angenommenen) Datentyp in der untergeordneten Tabelle für die Spalte des Fremdschlüssels (FK). Wenn wir schon dabei sind, überprüfen Sie Ihre Ausdrücke, die für die Einstellungen für untergeordnete/hauptverknüpfte Verknüpfungen im Unterformular-Steuerelement verwendet werden (nicht das Formular, nicht das Unterformular, sondern das in Ihrem Formular verwendete Unterformular-Steuerelement, das diese beiden Tabellen verbindet ).

Unterformulare im Zugriff sind sensibel, wenn Sie keine Zeitstempelspalte in der SQL-Servertabelle haben. Wie bereits erwähnt, überprüfen Sie die PK- und FK-Datentypen und stellen Sie sicher, dass sie übereinstimmen (rufen Sie einfach die Tabellen im Entwurfsmodus in ms-access auf – Sie erhalten eine Fehlermeldung, dass der Entwurfsmodus schreibgeschützt ist, aber fahren Sie einfach fort überprüfen/anzeigen können, um sicherzustellen, dass die Datentypen übereinstimmen).

Für die untergeordnete Tabelle benötigen Sie also eine PK-, eine FK- und auch eine Zeitstempelspalte (Sie müssen die TS-Spalte nicht im Unterformular anzeigen, aber Sie benötigen sie in der Tabelle).

Unterformulare in ms-access sind sensibel und schlagen oft fehl, wenn Sie keine Zeitstempelspalte in die SQL-Tabelle aufnehmen. (Der Zugriff verwendet diese Zeilenversionsspalten, um festzustellen, ob die Daten geändert wurden).