私は、Access 2003を使用してSQL Serverデータベースのフロントエンドを開発しました。システムは異なるスキーマを使用してテーブルデータを分割するため、Accessプロジェクトは機能しませんでした。その代わりに、私はアクセスのために接続管理を引き継ぐことを余儀なくされます。私はグローバル接続オブジェクトを維持し、レコードセットではなくフォームにレコードセットを割り当てます。アクセス - データプロバイダが初期化されていませんか?
これは、レコードセットとやり取りする組み込みのAccess機能を使用しようとすると、操作が機能せず、 'データプロバイダを初期化できませんでした'というダイアログボックスが表示されます。私はいくつかの研究を行い、これに関連する原因を見つけることができませんでしたが、Accessはフォームが適切なレコードソースプロパティを持つことを期待しており、割り当てられたレコードセットでは実際には機能しません。
誰もがこれ以上の光を放つことができますか?自己管理レコードセットを使用し、組み込み機能を利用する方法はありますか?誰かがこれがアクセスのバグであることを確認できますか?
フォームに割り当てているレコードセットの種類は、ADOまたはDAOですか? ADOの場合は、どのプロバイダを使用していますか?レコードセットのタイプとそのオプション(ダイナミック、スタティック、フォワードのみなど) – ewbi
アクセスと戦う理由ODBCリンクされたテーブルを作成して、信頼性の高いものを扱うだけです。確かに、パススルーを使用したり、ロジックサーバー側を動かすなど、効率が悪い場合もあります。 ODBCが非常に簡単な場合、アンバウンドルートを試そうとするだけでは意味がありません。実際には、MSがSQL Serverに対して実行するフロントエンドの開発に現在推奨されているベストプラクティスです。 –
レコードセットは、MS SQL Serverプロバイダ(SQL 2005)を使用するADOです。オプションは、クライアント側のカーソル、キーセット、読み取り専用です。 なぜリンクテーブルではないのですか?デザイナーは特に、セキュリティと実用性の理由からユーザーがテーブルに直接アクセスできないように頼んだのです...もちろん、これはAccessを使用するトラックを開始した後にしか表示されませんでした(このプロジェクトはVB.netではアクセスではありませんが、今はAccessで固まっています)。 – YogoZuno