'***** Excel(エクセル)VBAにてAccsessDBを操作する方法 *****
Dim n,str_i,end_i Long
Dim adoCn, adoRs As Object
Dim strSQL As String
'----- 表示したいAccsessDBの全てのデータを取得する方法 -----
'全てのデータを取得(全ては「*」を使用します)
Set adoRs = adoCn.Execute("SELECT * FROM M_成型マスタ ORDER BY コード ASC;")
adoCn.Execute strSQL
'----- 表示したいAccsessDBの指定した項目のデータを取得する方法「1」 -----
'特定のデータを取得(指定した項目は「項目」を使用します)
strSQL = "SELECT コード FROM [M_金型マスタ] ;"
adoCn.Execute strSQL
'----- 表示したいAccsessDBの指定した項目のデータを取得する方法「2」 -----
'特定のデータを取得(指定した項目は「項目」を使用します)
'「成型マスタ」の「コード」「品名」を取得したい
'条件・・・金型マスタ・成型マスタの「コード」 と 製品在庫場所マスタ・金型マスタの
' 「コード」が一致するデータを取得
strSQL = "SELECT M_成型マスタ.[コード], M_成型マスタ.[品名]" & _
"FROM (M_金型マスタ" & _
"INNER JOIN M_成型マスタ ON M_金型マスタ.[コード] = M_成型マスタ.[コード])" & _
"INNER JOIN M_製品在庫場所マスタ" & _
"ON M_金型マスタ.[コード] = M_製品在庫場所マスタ.[コード];"
adoCn.Execute strSQL
'----- [M_成型マスタ]UPDATE(更新) -----
'セルを一行ずつ参照して値を書込む方法
For n = str_i To end_i
strSQL = "UPDATE [M_成型マスタ] " & _
"SET コード=" & Int(Cells(n, 1)) & ",品名= '" & Cells(n, 2) & _
"' WHERE コード=" & Int(Cells(n, 1)) & ";"
' Debug.Print strSQL
adoCn.Execute strSQL
Next
'----- [M_成型マスタ]INSERT(挿入) -----
'セルを一行ずつ参照して値を書込む方法
For n = str_i To end_i
If .Cells(n, 3).Value <> "" Then
strSQL = "INSERT INTO [M_成型マスタ](コード,商品名) VALUES(" & _
Cells(n, 1).Value & ",'" & Cells(n, 2).Value & "');"
' Debug.Print strSQL
adoCn.Execute strSQL
'----- [M_成型マスタ]Delete(削除) -----
'指定のマスター、全データ削除
strSQL = "DELETE FROM [M_成型マスタ] ;"
adoCn.Execute strSQL