2017-02-22 13 views
1

ビューを作成したテーブルがあります。ビューは実際には何も変更されません。ただし、列の順番と1列の列はからからvarcharになります。SQLビューへの更新がリンクテーブルのアクセスで失敗する

ビューは、Access 2013でリンクテーブルとして設定されています。すべてがうまくいきます。ビューの行を編集するためにAccessでフォームをプルアップすると、問題が発生します。

OSP_PERCENT_COMPLETEの列をNAに更新しようとしました。エンドユーザはこのフィールドをintにすることは望ましくありません。

convert(varchar(10),OSP_PERCENT_COMPLETE) OSP_PERCENT_COMPLETE 

だから、それは同じ名前を保持しますが、今varcharフィールドです:それは、このような列を引っ張るように、私は、ビューを更新しました。私は、フォームでそのフィールドを更新するために行くとき、私はこのエラーメッセージ

ODBC取得 - リンクテーブルの更新「PMDBII」を アクセス[Microsoft]の[ODBC SQL Serverのドライバー] [SQL Server]の更新に失敗しましたまたはビューまたは関数の挿入が失敗しました。 " (#4406)

は私がPMDBIIリンクされたテーブル内のフィールドを確認することができ、それは私が言及する必要があります10

一つの長さのshort textフィールドとしてそれを示しては、これのほとんどは、設定されました同僚とはいなくなった同僚と私は彼のようにアクセスに精通していない。

なぜエラーが発生しますか?

+1

'view'は、基礎となるフィールドがまだ 'int'であるという事実を変更しないため、エラーが発生します。 –

+0

@ WayneG.Dunnしたがって、基本テーブルフィールドはビューだけでなく、 'varchar'である必要がありますか?それは私が知っていたはずのものです。それを答えにして、私はこの質問を終わらせます。 – Mike

答えて

3

「ビュー」は、基になるフィールドがまだ「int」であるという事実を変更しないため、エラーが発生します。フォームを使用する場合は、NAをnullに変換する「変更前」イベントにコードを含めることもできますが、それは悪い考えかもしれません。

+0

私はそれが始まったことを認識していないため、かなり気が気にしません。ありがとう – Mike

関連する問題