質問編集履歴

2

コードの追記

2018/07/17 05:13

投稿

morikawa0208
morikawa0208

スコア27

test CHANGED
File without changes
test CHANGED
@@ -61,3 +61,103 @@
61
61
 
62
62
 
63
63
  引き続き自分でも探してみます。何卒よろしくお願いいたします。
64
+
65
+
66
+
67
+
68
+
69
+ ###追記
70
+
71
+ ```ここに言語を入力
72
+
73
+ 'ExcelよりAccessDBへレコード追加・書き込み
74
+
75
+ Sub addRecords()
76
+
77
+
78
+
79
+ Dim strFileName As String
80
+
81
+ strFileName = "test2.accdb"
82
+
83
+
84
+
85
+ Dim adoCn As Object 'ADOコネクションオブジェクト
86
+
87
+ Set adoCn = CreateObject("ADODB.Connection") 'ADOコネクションオブジェクトを作成
88
+
89
+ adoCn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\" & strFileName & ";" 'Accessファイルに接続
90
+
91
+
92
+
93
+ Dim adoRs As Object 'ADOレコードセットオブジェクト
94
+
95
+ Set adoRs = CreateObject("ADODB.Recordset") 'ADOレコードセットオブジェクトを作成
96
+
97
+
98
+
99
+
100
+
101
+ '***** データを登録 *****
102
+
103
+
104
+
105
+
106
+
107
+ Dim i As Long
108
+
109
+ Dim rng As Range
110
+
111
+
112
+
113
+
114
+
115
+ '・・・ レコードセットrsを開く処理(略)
116
+
117
+ adoRs.Open "sheet1", adoCn, adOpenKeyset
118
+
119
+
120
+
121
+
122
+
123
+ Set rng = Range("A1", "T2") '疑似レコードの範囲(1行目項目名、2行目値)
124
+
125
+
126
+
127
+ adoRs.AddNew
128
+
129
+ For i = 1 To rng.Columns.Count
130
+
131
+ adoRs.Fields(rng.Cells(1, i).Value).Value = rng.Cells(2, i).Value
132
+
133
+ Next
134
+
135
+ adoRs.Update
136
+
137
+
138
+
139
+ '***** データベース終了処理 *****
140
+
141
+ adoRs.Close 'レコードセットのクローズ
142
+
143
+ adoCn.Close 'コネクションのクローズ
144
+
145
+
146
+
147
+ Set adoRs = Nothing
148
+
149
+ Set adoCn = Nothing 'オブジェクトの破棄
150
+
151
+
152
+
153
+ End Sub
154
+
155
+ ```
156
+
157
+
158
+
159
+ 試しに作った分をちょっと加工してみましたが、Forの後の「adoRs.Fields~」の部分でエラーが出ます。
160
+
161
+ 実行エラー3265 要求された名前、または序数に対応する項目がコレクションで見つかりません
162
+
163
+ そもそもレコードセットを開く処理あたりも不安ですが・・・

1

追記

2018/07/17 05:13

投稿

morikawa0208
morikawa0208

スコア27

test CHANGED
File without changes
test CHANGED
@@ -17,6 +17,12 @@
17
17
       その中から保管しておきたいデータをシートの下に「=○○」で引っ張って疑似的にレコードっぽく
18
18
 
19
19
 
20
+
21
+ ※この動作は、Access側ではなくExcel側から行いたいです※
22
+
23
+ 自分がやるならどんな形でもいいんですが、営業にやってもらおうと考えてるのでボタン1つで動作したい
24
+
25
+ (Access開いてAccessでボタン押させるのも、営業から問い合わせ来るだろうなって思うほどのスキル具合です)
20
26
 
21
27
  ### 試したこと
22
28