プロが教えるわが家の防犯対策術!

アクセス DCount関数で他のファイルのテーブルの件数を取得することは不可能でしょうか?

ファイル1.mdbとファイル2mdbがあり、
ファイル2mdbには、

テーブル名
フィールド:a
と言うデータがあります。
ファイル1.mdbにはテーブルはありません。

ファイル1.mdbのVBAで
ファイル2.mdbのテーブル名のレコード件数を取りたいのですが
不可能でしょうか?

ファイル1.mdbのVBEで
Sub 関数で件数を取得()
MsgBox DCount("[テーブル名]", "a")
End Sub

とやってもエラーになります。この関数にファイルを指定する部分もありません。

エラー内容は
---------------------------------------------------------
実行時エラー3078
入力テーブルまたはクエリーが見つかりませんでした。
       そのテーブル・クエリーが存在するか確認して下さい。
---------------------------------------------------------
です。

ADOを使うしかないのでしょうか?できればADOは使いたくありません。
アドバイスよろしくお願いします。

A 回答 (2件)

これだと?


Sub dcountX()
Dim App As Access.Application
Set App = New Access.Application
App.OpenCurrentDatabase "d:\db\ファイル2.mdb"
MsgBox App.DCount("*", "テーブル名", "フィールド名 like '*" & "春" & "*'")
MsgBox App.DCount("*", "テーブル名")
App.CloseCurrentDatabase: Set App = Nothing
End Sub

>できればADOは使いたくありません
微妙な所です(^^ゞ
    • good
    • 0
この回答へのお礼

すごいです!
ありがとうございました。

お礼日時:2012/03/04 16:15

「リンクテーブル」で、自MDB以外のテーブルを参照させれば可能です。



ファイル1.mdbのオブジェクト[テーブル]で、ファイル2.mdbのテーブルaを参照させます。
実体はファイル2.mdbですが、あたかもファイル1.mdbにテーブルaがあるように利用できます。
アイコンに矢印が付くので、見分け可能。
ただしファイルのパスが変更されてしまうと、リンク情報を更新する必要があります。
    • good
    • 0
この回答へのお礼

その手がありますね!
ありがとうございました。

お礼日時:2012/03/04 16:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A