2009-05-14 214 views
0

私は、Access 2003を使用してSQL Serverデータベースのフロントエンドを開発しました。システムは異なるスキーマを使用してテーブルデータを分割するため、Accessプロジェクトは機能しませんでした。その代わりに、私はアクセスのために接続管理を引き継ぐことを余儀なくされます。私はグローバル接続オブジェクトを維持し、レコードセットではなくフォームにレコードセットを割り当てます。アクセス - データプロバイダが初期化されていませんか?

これは、レコードセットとやり取りする組み込みのAccess機能を使用しようとすると、操作が機能せず、 'データプロバイダを初期化できませんでした'というダイアログボックスが表示されます。私はいくつかの研究を行い、これに関連する原因を見つけることができませんでしたが、Accessはフォームが適切なレコードソースプロパティを持つことを期待しており、割り当てられたレコードセットでは実際には機能しません。

誰もがこれ以上の光を放つことができますか?自己管理レコードセットを使用し、組み込み機能を利用する方法はありますか?誰かがこれがアクセスのバグであることを確認できますか?

+0

フォームに割り当てているレコードセットの種類は、ADOまたはDAOですか? ADOの場合は、どのプロバイダを使用していますか?レコードセットのタイプとそのオプション(ダイナミック、スタティック、フォワードのみなど) – ewbi

+0

アクセスと戦う理由ODBCリンクされたテーブルを作成して、信頼性の高いものを扱うだけです。確かに、パススルーを使用したり、ロジックサーバー側を動かすなど、効率が悪い場合もあります。 ODBCが非常に簡単な場合、アンバウンドルートを試そうとするだけでは意味がありません。実際には、MSがSQL Serverに対して実行するフロントエンドの開発に現在推奨されているベストプラクティスです。 –

+0

レコードセットは、MS SQL Serverプロバイダ(SQL 2005)を使用するADOです。オプションは、クライアント側のカーソル、キーセット、読み取り専用です。 なぜリンクテーブルではないのですか?デザイナーは特に、セキュリティと実用性の理由からユーザーがテーブルに直接アクセスできないように頼んだのです...もちろん、これはAccessを使用するトラックを開始した後にしか表示されませんでした(このプロジェクトはVB.netではアクセスではありませんが、今はAccessで固まっています)。 – YogoZuno

答えて

0

いくつか遊んだ後、私は部分的な解決策を見つけました。私はクライアント側のカーソルを使用していましたが、レコードセットを接続したままにしました。レコードセットを切断する代わりに、データプロバイダメッセージが消えてしまいました。もちろん、それは他の問題をもたらしましたが、それは別の話です...もちろん、私はまだこれが違いを生み出した理由を理解していません...他の誰か?

関連する問題