• ベストアンサー

Access:DataBaseオブジェクト型の変数の宣言

初歩的な質問ですが、 DataBaseオブジェクト型の変数の宣言って どう書いたらいいですか? 私のAccessはVer.2000なのですが、 参考書が2002・2003対応でして、 Dim DB as Dataset という宣言が出来ないのです。 どうか教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> Dim DB as Dataset > という宣言が出来ないのです。 できないことはありませんが、Access2000・Access2002では参照設定が必要です。 #~Access97・Access2003 はデフォルトで参照設定がされています。 「ツール」⇒「参照設定」で、Microsoft DAO 3.X Object Library に チェックを入れてください。 あと、 Dim DB As DAO.Database のように、宣言した方がいいですね。

_shino_
質問者

補足

早速の返信ありがとうございます。 参照設定したら、宣言できました。 本当に助かりました。 >Dim DB As DAO.Database >のように、宣言した方がいいですね。 参考書を見てみたのですが、 DAOってどうゆうものなのか いまいち理解できませんでした。 もしよろしかったら、教えていただだけませんか。 よろしくお願いします。

その他の回答 (1)

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

> もしよろしかったら、教えていただだけませんか。 私もうまく説明できません (^^ゞ データ アクセス オブジェクト : DAO入門講座 http://www.accessclub.jp/dao/index.html ここらあたりが参考になると思います。

参考URL:
http://www.accessclub.jp/dao/index.html
_shino_
質問者

お礼

ありがとうございます。 参考にさせていただきます。 これで、はりきってDatabaseを作っていけそうです。 またいつか分からなくなった時は、 教えてくださいね☆

関連するQ&A

  • DATABASE型について

    ACCESSプロジェクトを使っています。  (基本的な理解不足だと思いますが) Access97では、 Dim DB As Database Dim RS As Recordset と宣言して Set DB =CurrentDb() Set RS=DB.OpenRecordset(… で使えていましたが、Accessプロジェクトでは使えません。 (ストアドプロシージャ部分ではなく、フォームのVBA部分で) フォーム上のボタンから、モジュール操作を実行したいのですが、 上記 そのまま使用すると 「コンパイルエラー ユーザー定義型は定義されていません」 と出てきます。 Accessプロジェクトで操作するにはどのようにすればいいのでしょうか?

  • VBでの変数宣言は1行に2つできないのですか?

    Visual BASICで変数宣言は1行に2つ以上記述しても実際、動作します。 例 DIM A、B as Integer このように宣言すると、AもBも整数となります。 しかし、このように宣言して、この変数を Call サブプログラム名(B) のように、パラメ-タとして引き渡そうとするとエラーとなってしまうようです。 よくわからないまま、 DIM A as Integer DIM B as Integer と分けて記述したらエラーがきえたようです。 変数宣言は1行に2つ以上まとめて記述してはいけないのでしょうか? VBは Ver 5 です。

  • 名前'dbOpenDynaset'は宣言されていません というエラーがでてしまいます。

    VB初心者です。データベース接続を一度も成功したことがありません。 そのため「参照の追加」でMicrosoft DAO 3.6Object Libraryを設定することも わかりませんでした。 利用しているソフトはVB2008 Express Editionを利用しています。 以下のソースコードで名前'dbOpenDynaset'は宣言されていません というエラーがでてしまいます Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'DAOのオブジェクト変数を宣言する() Dim ws As DAO.Workspace Dim db As DAO.Database Dim rs As DAO.Recordset ' デフォルトのワークスペースを定義する Dim obj As DBEngine = New DBEngine() ws = obj.Workspaces(0) ' データベースを開く db = ws.OpenDatabase("C:\Users\PCUser\Desktop\database\Database1.accdb") ' テーブル名を指定してレコードセットを作成する rs = db.OpenRecordset("adress", dbOpenDynaset) MsgBox("DB接続") End Sub End Class

  • アクセスでDATABASEの表示がされない

    アクセス2000を使用しています。 初歩的質問かと思いますが、以前、アクセスのプログラム(アクセス97など)で dim dbs as database set dbs=currentdb のような記述をして何も問題なかったのですが、 ちょっとアクセスを操作しようとして dim dbs as でDATABASEが表示されません。(ちなみに表示されるのはdで始まるのはdataaccesspageが最初です) 何が問題でどうすれば良いかご教示下さい。 よろしくお願いします。

  • まとめて宣言。まとめて使用

    VB.NET2002を使用しています。 データベースへ複数アクセスするための変数宣言を書いているのですが、 構文は同じなのでまとめることはできないかと思っています。 VB.NETにはそのような機能?考え方?ってないのでしょうか? ご存知の方がいれば教えてください。 例えば Dim Con○ As New System.Data.OleDb.OleDbConnection(sCon) sCon・・・DBアクセス定義情報変数 Con○・・・今回の質問変数。ここを Con1 ,Con2 ,Con3 のように宣言しているのでC for i=1 to 3 dim Con & x next のようにまとめたいのです。 使用するときも変数末尾が違う物が対応するとお考え下さい。 なにか必要な情報がありましたら補足致します。

  • Access2010のVBAにて(変数の宣言)

    Access2010にて複数のフォーム内で、「sql」という変数を宣言しています。 宣言例) Dim sql As String (sql は小文字) それが、あるときを境に、全て「SQL」となってしまいました。 一括置換でプロジェクト内の全ての「SQL」の宣言箇所を 小文字の「sql」に変換してみたのですが、置換作業が終わった直後に やはり大文字の「SQL」に戻ります。 特にこれといって動きに支障があるわけではないのですが、 他の変数の宣言を小文字で統一している事もあり、気になります。。。 なお、Accessでオブジェクト名を間違えて半角カナなどで 一度宣言してしまうと、その後オブジェクト名を修正しても、 VBAコード内では半角のオブジェクト名が自動補完されてしまいますよね。 これと同じような現象でしょうか。 これはAccessのバグになるのでしょうか。 それとも修正方法があるのでしょうか。 修正方法や対策をご存じの方は教えて頂けませんでしょうか。 宜しくお願い致します。

  • 「変数の宣言」と「変数の定義」は同じ意味ですか?

    Dim myStr As String は、変数の宣言と定義、どちらになるのでしょうか? どちらともいいますか?

  • ACCESSのVBAについて

    アクセスのVBAでdatebaseやRecordsetが宣言できません。ヘルプでは【参照設定】でDate Access Objectをオンに指定ない場合は認識されずエラーになります と書いており、参照設定を見たのですがDate Access Objectという欄がありません、どうしたら宣言することができますか? 例)Dim db As Database Dim rsDate As Recordsetこれらがエラーになる。 大変困っています。ちなみにAccess2000です。

  • Objectで宣言するのとObject型で宣言する

    Objectで宣言するのとObject型で宣言するのではどちらがいいでしょうか? エクセルです。 VBAでコードを作るにおいて、どちらのほうがいいのでしょうか? どちらも同じ動きをします。 Sub Sample1() Dim buf As Range Set buf = Range("A1") MsgBox buf.Value End Sub Sub Sample2() Dim buf As Object Set buf = Range("A1") MsgBox buf.Value End Sub ご回答よろしくお願いします。

  • ExcelVBAマクロでの変数の宣言エラーについて

    初歩的な質問になりますが、ExcelVBAマクロで変数の宣言「Dim wdObj As New Word.Application」のエラーについて確認させてください。 変数の宣言「Dim wdObj As New Word.Application」がExcel2007以前では使えないようで、『ユーザ定義型は定義されてません。』というエラーがExcel2007以前で起きます。 Excel2010では問題なく動作しています。 Excel2007以前でも動作する方法をご教授いただけますでしょうか。 お手数おかけしますが、よろしくお願いいたします。