直前に、Access 2016のフロントエンドからSQLリンクテーブルに新しいレコードを追加すると、ODBCエラーメッセージがポップアップし、テーブルのすべてのデータが#Nameに変わりますか?新しいレコードを追加した直後にODBCが失敗するのはなぜですか?
これは、マージレプリケートされたデータベースです。
エラーが発生する前にレコードが正常に挿入されると、テーブルを閉じて再度開いた後にレコードが表示されます。既存のレコードを編集して削除することもできます。唯一の問題は、新しいレコードが追加された後、ODBCがInvalid Cast Specification(#0)エラーでドロップされることです。私が無効なデータを入れているのは意味がありません。なぜなら、新しいレコードはすべてのデータがそのまま入力された状態で挿入されるからです。新しいデータを表示するには、テーブルを閉じてから再度開いてください。
私はこれを扱って2週間目ですが、私はすべてを試したように感じています。この特定のテーブルに新しいレコードが追加されるたびに、システムにエラーが発生することはありません。データベース内の他のテーブルはすべて正常です。ここで
は、私のテーブルレイアウトです:
CREATE TABLE [dbo].[TrnRegistration](
[fkClassSchedID] [int] NULL,
[fkCompanyID] [int] NULL,
[NumberUsers] [int] NULL,
[Notes] [nvarchar](max) NULL,
[Contact] [nvarchar](50) NULL,
[fkUserTypeID] [int] NULL,
[fkOrderTypeID] [int] NULL,
[OrderRef] [nvarchar](50) NULL,
[FloatClassID] [int] NULL,
[LocFrstID] [int] NULL,
[LocScndID] [int] NULL,
[SalesRep] [int] NULL,
[RegistrationID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[VerifDate] [bit] NOT NULL DEFAULT ((0)),
[rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL CONSTRAINT [MSmerge_df_rowguid_8C3233BCD5FB4C7AA23281E8C482C778] DEFAULT (newsequentialid()),
CONSTRAINT [TrnRegistration_PK] PRIMARY KEY NONCLUSTERED
(
[RegistrationID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
私は助けることができるかどうかはわかりませんが、エラーが発生したときは混乱しています。あなたは新しいレコードを見ることができるので、レコードの挿入は問題ありません。しかし、エラーが発生したら、挿入されたレコードは#Nameに変わります。そしてエラーは挿入後に起こります。挿入後にエラーが発生した場合は、挿入が正常であることをどのように確認できますか?レコードを挿入 - >エラー - >レコードに#Nameがあります。その流れの中であなたはテーブルを開き、インサートはうまく見えますか?新しいレコードを表示した後、エラーが発生しますか? – artm
AccessのリンクされたODBCテーブルには、一部のデータ型や列の設定に問題があります。例えば。 [ビット列はNULLにすることができます](http://stackoverflow.com/questions/4764508/nullable-bool-fields-in-ms-access-linked-tables)、しかし、ここでは問題にはならないようです。私の推測は 'ROWGUIDCOL'カラムでしょう。テーブルデザインビューでは、Accessではどのデータ型が表示されますか?他のテーブルに 'ROWGUIDCOL'カラムがありますか? – Andre
ネイティブの10/11ドライバではなく、標準のSQLドライバを使用してテーブルを再リンクしてみてください。現在、ネイティブの11人のドライバーはあなたのテーブルでは動作しません。なぜ私はその理由がわかりません。しかし、標準のデフォルトのSQLドライバは、 –