teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

コードの追記

2018/07/17 05:13

投稿

morikawa0208
morikawa0208

スコア27

title CHANGED
File without changes
body CHANGED
@@ -29,4 +29,54 @@
29
29
  追々はデータ自体の精度を高めるためにAccess等で入力フォーム作ったりとか、何か別のアプリケーションに移行したい気持ちはありますが、
30
30
  自分も営業もスキルが足りていないので、最低限のデータの保管・抽出について意識付けをまずやりたいと思っています。
31
31
 
32
- 引き続き自分でも探してみます。何卒よろしくお願いいたします。
32
+ 引き続き自分でも探してみます。何卒よろしくお願いいたします。
33
+
34
+
35
+ ###追記
36
+ ```ここに言語を入力
37
+ 'ExcelよりAccessDBへレコード追加・書き込み
38
+ Sub addRecords()
39
+
40
+ Dim strFileName As String
41
+ strFileName = "test2.accdb"
42
+
43
+ Dim adoCn As Object 'ADOコネクションオブジェクト
44
+ Set adoCn = CreateObject("ADODB.Connection") 'ADOコネクションオブジェクトを作成
45
+ adoCn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\" & strFileName & ";" 'Accessファイルに接続
46
+
47
+ Dim adoRs As Object 'ADOレコードセットオブジェクト
48
+ Set adoRs = CreateObject("ADODB.Recordset") 'ADOレコードセットオブジェクトを作成
49
+
50
+
51
+ '***** データを登録 *****
52
+
53
+
54
+ Dim i As Long
55
+ Dim rng As Range
56
+
57
+
58
+ '・・・ レコードセットrsを開く処理(略)
59
+ adoRs.Open "sheet1", adoCn, adOpenKeyset
60
+
61
+
62
+ Set rng = Range("A1", "T2") '疑似レコードの範囲(1行目項目名、2行目値)
63
+
64
+ adoRs.AddNew
65
+ For i = 1 To rng.Columns.Count
66
+ adoRs.Fields(rng.Cells(1, i).Value).Value = rng.Cells(2, i).Value
67
+ Next
68
+ adoRs.Update
69
+
70
+ '***** データベース終了処理 *****
71
+ adoRs.Close 'レコードセットのクローズ
72
+ adoCn.Close 'コネクションのクローズ
73
+
74
+ Set adoRs = Nothing
75
+ Set adoCn = Nothing 'オブジェクトの破棄
76
+
77
+ End Sub
78
+ ```
79
+
80
+ 試しに作った分をちょっと加工してみましたが、Forの後の「adoRs.Fields~」の部分でエラーが出ます。
81
+ 実行エラー3265 要求された名前、または序数に対応する項目がコレクションで見つかりません
82
+ そもそもレコードセットを開く処理あたりも不安ですが・・・

1

追記

2018/07/17 05:13

投稿

morikawa0208
morikawa0208

スコア27

title CHANGED
File without changes
body CHANGED
@@ -8,6 +8,9 @@
8
8
  Sheet1・・・物件名、号室、契約者名、仲介手数料などを計算・記録 印刷する形でエクセル方眼紙のように作られてます
9
9
       その中から保管しておきたいデータをシートの下に「=○○」で引っ張って疑似的にレコードっぽく
10
10
 
11
+ ※この動作は、Access側ではなくExcel側から行いたいです※
12
+ 自分がやるならどんな形でもいいんですが、営業にやってもらおうと考えてるのでボタン1つで動作したい
13
+ (Access開いてAccessでボタン押させるのも、営業から問い合わせ来るだろうなって思うほどのスキル具合です)
11
14
  ### 試したこと
12
15
 
13
16
  ExcelVBA+AccessDBについて調べて、ADODB?でのデータベース操作はやってみました。