
目的:Excelのワークシートから、Accessのテーブルにレコードを追加。
OS:windows10Home64 Office365
DB D:\Desktop\PG_sample\zaiko\Sample.accdb
テーブル名:在庫
フィールド:ID、日付 商品ID、担当、数量
条件:Access,ExcelでADOの参照設定を行わない。
Private Sub cmd_Add_Click()
Dim strAdoObjPath As String 'ADOコネクションパス
Dim adoConct As Object 'ADOコネクションオブジェクト
Dim adoRs As Object 'ADOレコードセットオブジェクト
strAdoObjPath = "D:\Desktop\PG_sample\zaiko\Sample.accdb"
Set adoConct = CreateObject("ADODB.Connection") 'ADOコネクションオブジェクトを作成
adoConct.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strAdoObjPath & ";" 'Accessファイルに接続
Set adoRs = CreateObject("ADODB.Recordset") 'ADOレコードセットオブジェクトを作成
With adoRs
.Open "在庫", adoConct, adOpenKeyset, adLockOptimistic, adCmdTableDirect '←ここでエラー
'処理
.Close
End With
adoConct.Close
Set adoRs = Nothing
Set adoConct = Nothing
End Sub
実行時エラー3001
引数が間違った型、許容範囲外、または競合しています。
いろいろなサイトを参考にさせていただきましたが、原因がわからなく困っています。
お手数ですが、ご教授の程よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
Option Explicit
が記述されていれば、すぐ分ることなんですけどね。
> .Open "在庫", adoConct, adOpenKeyset, adLockOptimistic, adCmdTableDirect '←ここでエラー
adOpenKeyset, adLockOptimistic, adCmdTableDirect は ADO のメンバーなので
ADOの参照設定なしでは 未定義になります。
1, 3, 512 を 直に設定するか
Const で定義しておいて使用するか、
ですね。
早速のご回答感謝いたします。
また、返信が遅くなりすみません。
>ADOの参照設定なしでは 未定義
そういう理由だったんですね。
ひとまず決め打ちで解決できました。
Option Explicit や Const も応用してみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAの標準モジュール...
-
エクセルVBAでcode128のバー...
-
worksheetFunctionクラスのVloo...
-
Excelでフィルタをかけると警告...
-
sheetsメソッドの失敗
-
VBAについてです。 初心者です...
-
「Columns("A:C")」の列文字を...
-
テキストボックスが読み取り専...
-
VBAで作成するメール(開封確認...
-
ある文字列が全て数字であるか...
-
VBAからPDFファイルにパスワー...
-
データバインドされたDatagridv...
-
VBAで既に開いている別アプリケ...
-
Excel VBAでIEにアクセスするプ...
-
「オブジェクト変数または With...
-
ACCESS activeXコンポーネント...
-
PowerShellで、連想配列の値の...
-
VBからExcelのセルの書式設定を...
-
USBのグループ ポリシー オブジ...
-
PowerPointVBAでスライドマスタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
PowerPointVBAでスライドマスタ...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
テキストボックス中の文字列の...
-
VBAからPDFファイルにパスワー...
-
VBAで既に開いている別アプリケ...
-
Excel VBAでIEにアクセスするプ...
-
オブジェクトが見つかりません
-
ExcelVBAでのNZ関数について
-
エクセルVBAでcode128のバー...
-
WordにOLEで埋め込んだExcelでW...
-
AccessVBAで「dim dbs as datab...
-
エクセルマクロエラー「'Cells'...
-
エクセル エラー438
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBScriptでファイルの日時順(降...
おすすめ情報