0

Access 2007 プロジェクトをフロントエンドとして使用して、複数の Access データベースを SQL 2008 R2 サーバーに移動しようとしています。ユーザーがフォームからデータをフィルター処理しようとすると、問題が発生します。

例:

ユーザーが顧客データを検索できるように 1 つのプロジェクト ファイルを設定し、「接続」と「選択」権限のみを持つサーバーへのログインを使用して、データを変更できないようにしています。このプロジェクトの唯一のフォームには、テーブルに直接設定されたレコード ソースがあり、ビューやクエリはありません。ユーザーが「顧客番号」を選択してから「フィルター」ボタンを押し、「テキスト フィルター」を選択して顧客番号を入力すると、「有効な値を入力してください」というエラーが表示されます (フォームのフィールドを選択した場合も同じことが起こります)。右クリックしてフィルターを設定してみてください)。ユーザーが「Advanced/Filter By Form」を使用している場合、問題はありません。

フォームまたはコードに設定された他のフィルターはなく、入力の検証もありません。プラン フォームのみです。

これのデバッグをどこから始めるべきか、誰にもアイデアがありますか?

ありがとう。

4

1 に答える 1

0

最初に、MSSQL 権限の問題であることを確認する必要があります。これを確認するには、権限制限のない MSSQL ユーザーで同じことを試してください。次に、MSSQL プロファイラーを使用して、Access によって送信されている実際の MSSQL ステートメントを確認できます。単純な「SELECT」ではなく、いくつかのシステム ストアド プロシージャ コールになると思います (これが、Access が MSSQL で動作する方法です)。このトレースを見て、追加する必要があるアクセス許可を理解してください。Access アプリケーションがテーブル レベルで動作する場合、選択のみを許可するのではなく、更新/削除を拒否する方が簡単かもしれません。

于 2012-01-13T08:20:26.873 に答える