目的: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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない 2 2023/05/24 15:31
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
実行時エラー3001「引数が間違った型、許容範囲外、または競合しています。」
Visual Basic(VBA)
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
-
4
Accessのフィールド数が255しかない=業務では使えない?
PowerPoint(パワーポイント)
-
5
ACCESS ADOでupdateが効かない
その他(データベース)
-
6
Access サブフォームでの選択行の取得
その他(データベース)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
-
9
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
「実行時エラー3001」のポップが出てしまう
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
ACCESSのFieldの追加方法
-
python __del__()に関して
-
UserForm1.Showでエラーになり...
-
実行時エラー 3265「要求された...
-
パワーポイント filedialogでフ...
-
ドロップダウンリストの行を増...
-
VBA オブジェクトが空かどうか...
-
オブジェクト変数またはWITHブ...
-
テキストボックス中の文字列の...
-
VBScriptでCSVファイルのデータ...
-
VBS 指定のフォルダ内の最新の...
-
エクセルVBAでテキストボックス...
-
textBox isNot Nothing とは
-
PowerPointVBAでスライドマスタ...
-
VBScriptでファイルの日時順(降...
-
VBAによるコメントの余白設定
-
VBA プロパティについて
-
VBでPDFファイルを編集する
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
テキストボックス中の文字列の...
-
PowerPointVBAでスライドマスタ...
-
エクセルマクロエラー「'Cells'...
-
VBAからPDFファイルにパスワー...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
-
VBA:オートシェイプの線の長...
-
VBで引数にDictionaryオブジェ...
-
AccessVBAで「dim dbs as datab...
おすすめ情報