• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAを使ってフォームをデータベースにリンク)

VBAを使ってフォームをデータベースにリンクする方法

このQ&Aのポイント
  • ワード2010でVBAを使って「フォームをデータベースにリンクする」方法について学習中です。
  • VBAを使用して、ワードにエクセルやアクセスのデータを取り込みたい、連動させたいと思っています。
  • 具体的なコードや英語の表記が理解できず、アドバイスが欲しいです。

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

  • ベストアンサー
  • kikitaiOK
  • ベストアンサー率55% (10/18)
回答No.1

Set cn = New ADODB.connectionは これは cn という入れ物に "新しい"データベースへの接続方法を入れています。 入れる理由は、いちいちADODB.connectionと入力するのが面倒だとか・・・ 2つのデータベースに接続するときに「cn」と「cn2」とかにしてどっちのデータベースか判断できるように・・・ と考えればいいと思います。 ただし、これだけでは新しいデータベースへの接続方法を指定しただけで どのデータベースに接続するのかどうかなどが設定されていません。 これを  cn.open "driver~" っていうところで設定して、データベースへ接続しています。 次に strSQL = "SELECT * FROM シート1 ~” みたいにしてデータベースの中のどのレコードを開くか指定する文を作成します。 エクセルで言うならどのシートの、どのレコード開くかです。 次にレコードセットを作ってその中に実際のレコードを入れます。 これは目には見えないけど、パソコンのメモリ上に1枚のシートを作って その中にコピーしてあげるような感覚です。 Set rs = New ADODB.Recordset これは上のConnectionと同じように新しい1枚のシートを作りますみたいな文です。 rs = open strSQL, cn, adOpenForwardOnly, adLockReadOnly, adCmdText これは、「strSQL」で指定したレコードを、「cn」というデータベースの中から探して開く という感じです。 その他の英語は編集可能にするかどうかとか、オプションがたくさんあると思えばいいです。 その書籍を持っていませんので想像で説明しましたが、わからない箇所を掲載していただいたほうがもっと回答がつくと思いますよ。

mgdsat
質問者

補足

回答ありがとうございます。 もう一度最初からわからないところを記載します。 アクセス2010のデータベースファイル「アンケート.accdb」に接続するように記述するところです。 Dim cn As SDODB Connection" Set cn= New ADODB.Connection cn.Open ConnectionString:=_ "Provider=Microsoft.ACE.OLEDB.12.0;"&_ "Data Source=C:¥データ¥アンケート.accdb" 他にもあるのですが、まずは、これが意味するところをわかると 次がわかりそうな気がします。 ぜひ、解決の糸口となるようにコメントをよろしくお願いします。

その他の回答 (1)

  • kikitaiOK
  • ベストアンサー率55% (10/18)
回答No.2

Dim cn As ADODB.Connection 私はADODBコネクションを cn という名前で使います!と宣言しています。 ※ADODBコネクションとはデータベースまでの道と考えてください。 Set cn= New ADODB.Connection 新しい道を cn という名前に決めました! cn.Open ConnectionString:=_ "Provider=Microsoft.ACE.OLEDB.12.0;"&_ "Data Source=C:¥データ¥アンケート.accdb" cn を開通します! それはC:¥データ¥アンケート.accdbまで続く道で Microsoft.ACE.OLEDB.12.0という乗り物で移動します! これでどうでしょう?

mgdsat
質問者

お礼

ありがとうございます。 kikitaiOKさんに直接習いたいくらいです(^_^) 上記を参照しながら勉強します。

関連するQ&A