• ベストアンサー

Access2000とADORecordsetのことで教えてください。

他のネットワークPCにあるmdbデータベーステーブルにADOで接続し、開かれたRecordsetを、Access2000のフォーム(単票)に表示したいのですが、こんなことできますか?できるとすればどうすれば表示できるのですか。

質問者が選んだベストアンサー

  • ベストアンサー
  • TMINET
  • ベストアンサー率32% (45/140)
回答No.2

遅くなってゴメンナサイ。 お答えします。 >質問1 ワークテーブルというのは何ですか? >質問2 ワークテーブルの作成方法は? 作業用テーブルという意味です。普通のテーブルのことです。 レコードセットと同じ形のテーブルを用意しておくことでレポートとのリンクが簡単にできますよね >質問3 ワークテーブルを作成した後、レコードセットとワークテーブルをどう やってリンクさせるのですか? レコードセットのデータからSQL文(Insert)を生成して RunSQLメソッドでテーブルに追加していくと良いのではないでしょうか。 パラメータクエリーを作成しておいて OpenQueryメソッドを使う方法もありますが、こちらは少々面倒です。 構文はヘルプに詳しく書いてありますのでそちらを...。

momo-chan
質問者

お礼

RunSQLメソッドで無事解決することができました。 本当にありがとうございました。 また分からないことがあれば質問すると思いますので、お気づきの場合にはよろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • TMINET
  • ベストアンサー率32% (45/140)
回答No.1

自身のMDBにワークテーブルを設けたほうが早そうです。 フォームのデータソースにワークテーブルを指定していれば、 ワークテーブルにデータをインサート後リクエリーすれば 反映されます。

momo-chan
質問者

補足

素人なものですから次のことについて教えてください。 質問1 ワークテーブルというのは何ですか? 質問2 ワークテーブルの作成方法は? 質問3 ワークテーブルを作成した後、レコードセットとワークテーブルをどうやってリンクさせるのですか? とても困っています。よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセスをネットワークでリンクさせると非常に遅い!?

    自分のマシンから、ネットワーク環境にあるデータベースファイル.mdbのテーブルへリンクさせる機能のあるアクセスファイルを作ったのですが、開くのに非常に時間がかかってしまいます。 それで、仕方なくテーブルもクエリーもフォームも1つにまとめたデータベースファイル.mdbをネットワーク環境において多人数で共有させています。 これっていいのでしょうか? よろしくお願いします。

  • アクセス2000について

    アクセス2000でデータベースを作成しています。 幾つかのテーブルをリンクさせて、リンクしたテーブルからフィールドを選択してクエリを作り、そのクエリに基づいて単票形式のフォームを作成しました。 単票フォームの基になっているクエリを使って、表形式のフォームをオートフォームウィザードで作成しようとすると、「インデックスが有効範囲にありません。」というメッセージが出てきてフォームが作成できません。 どうしたらいいのでしょうか?誰か教えてください。

  • Access2000/2002フォームのレコードセットについて

    Access97で作成されたプログラムを Access2002で作り直す必要に迫られています。 プロジェクト形式ではなく、MDB形式のままで進めているのですが VBAのコーディングは、すべてADOに変更するように指示されています。 基本的な知識が不足している状況なので、おかしな質問だと思いますが どうかご容赦ください。 フォームで利用するレコードセットについて、壁にぶつかっています。 Access97のフォームで普通に利用していた Set rs=Me.RecordsetClone これは、ADOでは、どのように置き換えを考えていけばよいのでしょうか? フォーム内のモジュールで、そのフォームに結びついている Recordsetの取り扱い方法について、一般的なルールのようなものを 教えていただけますと、ありがたいのですが・・・ 半日ほど、色々なサイトを検索してみたのですが どうにも答えが見つかりません。 そもそも、Access2000/2002フォームのRecordSetがDAOなのかADOなのかも 分かりません。 アドバイスや、参考になる書籍の情報などをいただけないでしょうか。 なにとぞ、よろしくお願いいたします。

  • Accessでの理想の運用形態

    はじめまして、Accessで業務用アプリケーションを作成しています 独学なので、何が正しいというものを分からず、 主にインターネットの情報を元に作成しています そこで、まずテーブルとそれ以外(クエリ、フォーム、レポートなど)を分割し、テーブルだけのmdbはファイルサーバー上に置いています 利用者のパソコンのデスクトップに、それ以外のmdbを置いています 接続はテーブルのリンクのみです ですので、利用者のmdbを開くと同時に、ファイルサーバー上の mdbも開き、ldb(ロックファイル)も生成されます これをファイルサーバー上のmdbを開かずに、テーブルのデータを 取得することは可能でしょうか DAOとかADOでVBAを使わなければならないのでしょうか アドバイスよろしくお願いします ちなみに、SQLServer2005ExpressEdtionをどこかのパソコンに インストールし、データベース環境を一新しようと思ったのですが どうすればいいのかがイマイチ分かっていません ヒントでもいいので、教えていただけないでしょうか

  • Accessのデータ共有について

    現在社内の顧客管理システムをAccessにて構築しており、データテーブルファイル(mdb)をファイルサーバに置き、クライアントPCはフォームやクエリだけのmdbを使用してテーブルのリンクでデータ共有しています(Accessのデータ分割ツールにてテーブルとフォーム、クエリを分離しただけの状態で運用しています)。これまでは、この状態でも運用出来ていましたが、データ量が多くなるにつれ、段々動作が重くなってきた為、処理速度改善の為に、以下の二案を検討していますが、どちらの案が効果的なのでしょうか? 【案1】 クライアント用mdbファイルに同じテーブル構成の一時テーブルを作成し、mdbファイル起動時と、「更新」ボタンを別途作成し、「更新」ボタンが押下されたタイミングで、ファイルサーバのデータベースからADOにて一時テーブルに全データを読み込む。更新系の処理は、各クライアントの一時テーブルとファイルサーバのデータベースに対して行う。 【案2】 現状フォームの遷移については、 「DoCmd.OpenForm」関数の引数に検索条件を指定する方法で行っている為、この部分を ・ADOにてデータを取得  ↓ ・遷移後のフォームに値をセット と言った処理に変更する。 また、上記以外の方法で何か良い方法がありましたらご指摘頂ければと思いますので、よろしくお願いします。

  • Access97をAccess2002にするには

    Access97で作成したmdb(オブジェクトは、テーブル(リンクテーブル有り)、クエリ、フォーム、レポート、マクロ(AutoExecのみ)、モジュールを使用)をAccess2002へ移行させようと思うのですが、単純に[ツール]→[データベースユーティリティ]→[データベースの変換]で良いものでしょうか。 もし、何か気をつけなければならないこと、やらなければならないこと等、または変換方法等をご教授いただけないでしょうか。

  • ACCESSでの検索や表示に時間がかかる

    windowsxpでACCESS2000を使用しています。 最近、検索や画面の切り替えに非常に時間がかかるようになってきました。 どのようなことが原因と考えられるでしょうか。 ・レコードは5000件くらいでネットワーク上で5、6人で閲覧。 ・テーブルは切り離してリンクテープルとし、フォームやレポートだけの*.mdbを各人がローカルにコピーして使用。 ・使用フォームは単票形式で表示項目が多く、サブフォームやマクロを貼り付けたボタンなどもあり。 ・検索にはクエリーを使用。クエリーで検索した場合はすぐに表示される。 ・検索だけでなくフォームを切り替えたり、次のレコードに移動するだけでも時間がかかる。 (左下に"計算しています”と表示される) 自分で以下のことを試してみましたが効果はありませんでした。 ・データベースの最適化(常に実行) ・検索項目にインデックス(重複あり)を設定 ・フォームやレポートだけの*.mdbを*.mdeに変換。 使用状況は以上のような感じです。 アドバイスよろしくお願いいたします。

  • アクセスで困っています。

    アクセスでデーターベースを作成しているのですが、 エクセルからADOを使いテーブルにデータを入力し、フォームでデータ内容についての情報を見れるようになっています。 しかし、フォーム上でテーブルに連結してある情報の変更ができないのですが、どのように設定すれば、フォーム上でテーブルの情報を書き換えることができるのでしょうか? プロパティのデータ入力用は、「はい」でも「いいえ」どちらでやってもだめです。 テーブル ↓ フォーム (ここでデータを入力し、テーブル内容の変更をしたい。) よろしくお願いします。

  • ネットワーク上のDBにアクセス時にエラー

    VB6.0 + Access2003を使用しています。 ネットワーク上にMDBがあり、複数の端末からアクセスしています。 MDBにはADO接続で、共有モードで開いています。 複数の端末から同時にOpenし、同じテーブルにアクセス(Select文実行) した場合に、 エラー番号:-2147467259 内容:Microsoft JET Database Engineでエラーが発生しました。     データベース"を開くことができません。アプリケーションで認識できない    データベースであるか、またはファイルが破損しています というエラーが発生します。(ファイルは破損していません) 3、4台で同時アクセスを何度が試していますが、 毎回このエラーが出ることはなく、エラーが出る原因がわかりません。 原因、対処方法などわかりましたら教えてください。 よろしくお願いします。

  • ADO接続の共有

    ACCESS2007をフロントにしてDBをSQL-Server2005Expressにして開発を 行おうとしています。 できる限りネットワークの負荷を減らそうと、ADO接続/ADOレコードセットと フォーム連結で開発したいのですが、ネットで検索するとADO接続を各画面で 行わなければならないような記述しか見あたりません。  ・検索キーワード:ADO 接続 共有 できれば、ADO接続はプログラム起動時1回で、DBデータを表示する 画面等を開く場合は、起動時に取得した接続を使い回したいのですが、 当該方法が記載されたいるようなURL等をご教示願えないでしょうか?  ・他mdbのテーブルをリンクテーブルとして使用したいため、   AccessProject(.adp)の使用は断念しました。 上記よろしくお願いします。

専門家に質問してみよう