お世話になっています。
行き詰って困っています。
あるmdb(Access2000形式)内のテーブルを別のmdb(同)から見られるようリンクテーブルを作りたいのですができません。
VB.NET 2005 でやっています。
いろいろ調べてMSDN等からサンプルを引っ張り、以下のように作っても、
Dim catDB As ADOX.Catalog = New ADOX.Catalog
Dim tblLink As ADOX.Table = New ADOX.Table
catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Mdb_Link
With tblLink
.Name = "TEST_TBL"
.ParentCatalog = catDB
.Properties("Jet OLEDB:Create Link") = True <---ここと
.Properties("Jet OLEDB:Link Provider String") = Mdb_Test <---ここと
.Properties("Jet OLEDB:Remote Table Name") = "TEST_TBL" <---ここ
End With
catDB.Tables.Append(tblLink)
catDB = Nothing
.Propertiesの3行でエラー(プロパティ'Item'は'ReadOnly'です。)になってしまい、サンプル通りに行きません。
これについて何か心当たりありましたら教えてくださると嬉しいです。
No.2ベストアンサー
- 回答日時:
参考にされたサンプルは、
VB6.0以前のものを対象にしていませんでしたか?
VB2005では、プロパティの省略は誤動作のもとです。
エラーが、
>プロパティ'Item'は'ReadOnly'です。
ということで、
間違ってItemプロパティに代入しようとしたと解釈されているのであれば、
.Properties("Jet OLEDB:Create Link").Value = True
.Properties("Jet OLEDB:Link Provider String").Value = Mdb_Test
.Properties("Jet OLEDB:Remote Table Name").Value = "TEST_TBL"
だとどうでしょうか?
No.1
- 回答日時:
ちゃんと調べてはいないのですが、コードを見た感じ、VBから動的にテーブルのリンクを作ろうとしているように見えるのですが(間違ってたらすみません)、リンクしたいテーブルがきまっているのであれば、Accessで前もってリンクテーブルを作っておけばいいのではないでしょうか。
(はずしてたらごめんなさ)
お返事ありがとうございます。
おっしゃるとおり、VBから動的に作ろうとしています。
流れとしては、本体起動時にmdbが存在しない場合いくつかのmdbを作成して全てのmdbのテーブルをリンクさせるリンク用mdbを最後に作ろうとしています。
できると思うんですが、なぜかReadOnlyエラーになってしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VB.NETでのAccessテーブルリンク
Visual Basic(VBA)
-
他のMDBのテーブルに追加したい
その他(プログラミング・Web制作)
-
AccessでのリンクテーブルとADO等の使い分け
Access(アクセス)
-
-
4
DAOのTableDefs(TblName").ConnectはADOでは"
その他(データベース)
-
5
「RunSQL」と「Execute」の違い
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WORD VBA プログラム修正をお願...
-
ExcelVBAからAccessMDB内のテー...
-
ExcelからAccessのテーブルに書...
-
ワークテーブルの作成について
-
(泣)VBscriptでinnerhtmlを使...
-
エクセルのテーブルを解除する...
-
C# OleDbDataAdapter.Fillメソ...
-
『列名 '担当者CD' があいま...
-
Access2003VBA リンクテーブル...
-
DataGridViewに複数テーブルの...
-
COBOLのINVALID KEYが理解でき...
-
SQL文の最後に「;」はいら...
-
Accessで別mdbのテーブルをコピー
-
vb ado → vb2005 ado.net変換
-
他のMDBのテーブルに追加したい
-
MDBテーブルへの追加変更を教え...
-
VBでコンボボックスとテキスト...
-
ACCESS2010 実行時エラー 2766
-
CSVファイルのエクスポートでソ...
-
HTMLのテーブルの行数が多くな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBとアクセスでSQL文に変...
-
Accessで別mdbのテーブルをコピー
-
他のMDBのテーブルに追加したい
-
SQLを発行とは?クエリの作成と...
-
手動または分散トランザクショ...
-
HTMLのテーブルの行数が多くな...
-
エクセルのテーブルを解除する...
-
ExcelVBAからAccessMDB内のテー...
-
Excel複数シートをaccessへ一括...
-
DataGridの中身をDataSetにテー...
-
CSVファイルのエクスポートでソ...
-
AccessからExcelへエクスポート...
-
.net 複数の主キーを設定する方法
-
『列名 '担当者CD' があいま...
-
COBOLのINVALID KEYが理解でき...
-
アクセステーブル、リンクとロ...
-
ACCESSのテーブル名をリストに...
-
MDBテーブルへの追加変更を教え...
-
【ADO】「Execute」を使うと...
-
ACCESS2010 実行時エラー 2766
おすすめ情報