• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:他ファイルのテーブルの情報を取得したい)

他ファイルのテーブル情報取得方法とエラー対処法

このQ&Aのポイント
  • DCount関数を使用して他のファイルのテーブルの件数を取得する方法について教えてください。
  • ファイル1.mdbのVBAでファイル2.mdbのテーブル名のレコード件数を取得しようとしていますが、エラーが発生します。
  • エラー3078が出ており、入力テーブルまたはクエリが見つからないために発生しているようです。ADOを使用しない方法で解決することはできますか?

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.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は使いたくありません 微妙な所です(^^ゞ

dfghhj
質問者

お礼

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

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

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

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

dfghhj
質問者

お礼

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

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

関連するQ&A

  • DCountでテーブルのレコード件数を取得するには

    アクセスのテーブル1に何件レコードがあるかをvbaのDCountで取得したいのですが Sub a() MsgBox DCount("テーブル1") End Sub すると、引数は省略できません。(Error 449)になります。 フィールドは件数あり、レコードが入ってたり入ってなかったりするし、主キーはありません。 アクションクエリの削除クエリですべてのレコードを削除したりするので レコード件数が0件なのか、レコードがはいってるかをDCountで取得できればなー と思うのですが、どうすればいいでしょうか?

  • 他のMDBファイルのテーブルをクエリで表示させることは可能ですか?

    他のMDBファイルのテーブルをクエリで表示させることは可能ですか? C:\Documents\test1.mdbのクエリで C:\Documents\test2.mdbのテーブル1のフィールド1を表示されることは可能でしょうか? SQL文を教えてください。 よろしくお願いします。

  • アクセス DCount Between and

    テーブルの5月分の件数をvbaで取得するにはどうすればいいでしょうか? Sub test() Debug.Print DCount("[取引日]", "T取引先", "[取引日] = Between #5/1/2013# And #5/31/2013#") End Sub これだと、実行時エラー3075「クエリ式の構文エラー:演算子がありません。」が返ります。 多分、クライテリアの士気が間違ってるんだと思います。 Sub test() Debug.Print DCount("[取引日]", "T取引先", "[取引日] = #5/1/2013#") End Sub これなら取得できました。 Sub test() Debug.Print DCount("[取引日]", "T取引先", "[取引日] = #5/*/2013#") End Sub ワイルドカードは使えないようで、これもエラーになりました。 5月分の件数を取得する方法はありますか? よろしくお願いします。

  • 他のMDBのテーブルに追加したい

    Access2010のADOについてご質問します。 以下のようにして、データを追加しています。 Dim SQL As String Dim cn As ADODB.Connection Set cn = CurrentProject.Connection ' SQL = "INSERT INTO テーブルA ( 勤務時間 ) " SQL = SQL & "SELECT [テーブルA ].[勤務時間] " SQL = SQL & "FROM テーブルA ; " cn.Execute SQL ご質問したいのは、 当MDB(PC)から社内サーバーにあるMDBのテーブルに追加したいのです。 違うテーブル名でしたら、リンクをすれば済む話とは思いますが 同じテーブル名の「テーブルA」なので どのようにすればいいのか困っています。 ご指導の程をよろしくお願いします。

  • DAOでテーブル名を取得したい

    Windows2000 & VB6 テーブルの数も各テーブルの名前も不明なMDBファイルにDAOで接続して、全てのテーブル名を取得する方法がわかりません。 どなたか教えてください。

  • ファイル名のみを取得するには?

    Sub 取得() MsgBox ActiveWorkbook.Name End Sub を実行すると 「エクセル.xls」 と取得されますが 拡張子を除いたファイル名だけを取得するにはどうすればいいでしょうか? 「エクセル」だけを取得したいです。 よろしくお願いします。

  • (ACCESS)複数mdbからのデータ取得方法

    よろしくお願いします。 ACCESSはあまり使ったことがない者です。 下記ようなACCESSのデータ取得の方法を教えてください。 構造の同じテーブルを持つ複数のmdbから、1つのリストを作りたいと考えています。 各mdbの違いは、ファイル名と中身のデータのみで、他は全く同じです(ひとつのテンプレートの複製です)。 A部門.mdb (商品リストテーブル ・・・A部門の商品リスト) B部門.mdb (商品リストテーブル ・・・B部門の商品リスト) : Z部門.mdb (商品リストテーブル ・・・Z部門の商品リスト) ↓ 全商品リスト.csv (全社分の商品リストテーブルのデータ) mdbが数十ファイルあるので、一つずつcsv取得して繋げるのはたいへんです・・・。 何か一発で取得できるような方法はないでしょうか? ユニオンクエリ?等を使うとできるのでしょうか・・・。 同じフォルダ下にあるmdbを次々に開いて同じクエリを実行する機能とか、マクロとか? 現状こうなってしまっており、一つのmdbに統合するのは、運用上制約があって無理なのです。 何かうまいアイデアがあれば教えていただきたくお願いします。

  • SQLiteにてテーブル一覧を取得したい

    SQLiteにてテーブル一覧を取得したい PHPにてSQLiteを使って勉強中なのですが、 sqlite_openでファイルを読み込み クエリーを投げて、そのファイルの中にあるテーブル一覧を取得したいのですが、 どのようにすれば一覧が取れるでしょうか? sqlite_query($sqlite, '.tables');だと構文エラーになってしまいますし、 execのような物から取ろうとするとかなり複雑なロジックになってしまいます。

    • ベストアンサー
    • PHP
  • クエリー : テーブル一覧&定義情報取得

    手元にOracleがなく、実際にクエリーを投げて試すこともできず困っています。以下について教えて下さい。 1.Oracleにて、自分で作ったテーブルの名前の一覧を取得するクエリーを教えて下さい。 2.各テーブルにおいて、定義情報(カラム名、カラムサイズetc)を取得するクエリーを教えて下さい。 よろしくお願いします。

  • ADOでエクセルファイルの件数を取得したい

    エクセルvbaでadoを使って他ファイルの件数を取得することは可能でしょうか? もともと件数を取得したいファイルは共有フォルダに入っていて、 開くのにすごく時間がかかるのでADOで試みたいのです。 しかしうまくいきません。 当方の環境は Win7、エクセル2010です。 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_130_090.html を参考にしたのですが、 Const cnsProvider = "Microsoft.Jet.OLEDB.4.0" Const cnsExtProp = "Extended Properties" Const cnsExcel = "Excel 8.0" Const cnsDBName = "D:\Book1.xlsx" 'ローカルでテスト Sub ADO_WS_TEST1() Dim dbCon As ADODB.Connection Dim dbRes As ADODB.Recordset Dim GYO As Long, COL As Long Dim strSQL As String ' Connection生成 Set dbCon = New ADODB.Connection With dbCon .Provider = cnsProvider .Properties(cnsExtProp) = cnsExcel .Open cnsDBName End With の .Open cnsDBNameの部分で、 実行時エラー-2147467259 外部テーブルのフォーマットが正しくありません。 となります。 Excel 8.0が原因なのでしょうか? オフィス2010でもExcel 8.0でいいのでしょうか? ココがうまく通ったら、 "SELECT * FROM [Sheet1$]"の部分をCOUNTにして 件数が取得できるかなー と思うのです。 リンク先を読むと、adoでやってもあまり早くはならなそうですが一応やってみたいのです。 よろしくお願いします。

WRC-1750GST2 接続が不安定
このQ&Aのポイント
  • 質問内容:WRC-1750GST2の接続が不安定で困っています。ログインが必要であり、接続が切れる場合があります。引越ししたばかりでBIGLOBE光の高速回線が使えない住宅なので速度が落ちており、短い間隔で接続をし直しています。この問題を解決する方法を教えてください。
  • 問題:WRC-1750GST2の接続が不安定で、ログインが必要であり、頻繁に接続が切れる。BIGLOBE光の高速回線が使えない住宅なので速度が落ちており、短い間隔で接続をし直している。改善方法を教えて欲しい。
  • 質問:WRC-1750GST2のインターネット接続が不安定で、ログインが必要であり、頻繁に接続が切れる。引越ししたばかりでBIGLOBE光の高速回線が使えない住宅なので速度が少し落ちており、短い間隔で接続をし直している。改善方法を教えてください。
回答を見る

専門家に質問してみよう