Adsense

2019年7月28日日曜日

【ACCESS/VBA】SQL文実行サンプル

  1. Private Sub ExecSQL()
  2. Dim cmd As New ADODB.Command
  3. Dim conn As New ADODB.Connection
  4. Dim rst As New ADODB.Recordset
  5. Dim rtn As Integer
  6. m_cn = New ADODB.Connection
  7. conn.ConnectionString = "DSN=TEST_ODBC;Uid=USER1;Pwd=userpass1;Database=TEST_DB"
  8. conn.Open
  9. Set cmd = New ADODB.Command
  10. Set cmd.ActiveConnection = conn
  11. ' SELECT文(レコードセットに結果取得するパターン)
  12. With cmd
  13. .CommandText = "SELECT * " & _
  14. "FROM TEST_TBL1 " & _
  15. "WHERE column1 = ? AND " & _
  16. " column2 = ?;"
  17. .CommandType = adCmdText
  18. .Parameters(0).Value = 1 ' 1つ目?へのバインド
  19. .Parameters(1).Value = "AAA" ' 2つ目?へのバインド
  20. End With
  21. Set rst = cmd.Execute
  22. rst.Close
  23. Set rst = Nothing
  24. ' UPDATE/INSERT文(レコードセットに結果取得しないパターン)
  25. With cmd
  26. .CommandText = "UPDATE TEST_TBL1 " & _
  27. "SET column2 = ? " & _
  28. "WHERE column1 = ?;"
  29. .CommandType = adCmdText
  30. .Parameters(0).Value = "BBB" ' 1つ目?へのバインド
  31. .Parameters(1).Value = 1 ' 2つ目?へのバインド
  32. End With
  33. Call cmd.Execute
  34.  
  35. With cmd
  36. .CommandText = "INSERT INTO TEST_TBL1(" & _
  37. " column1, " & _
  38. " column2 " & _
  39. ")VALUES(" & _
  40. " ?," & _
  41. " ?);"
  42. .CommandType = adCmdText
  43. .Parameters(0).Value = 2 ' 1つ目?へのバインド
  44. .Parameters(1).Value = "CCC" ' 2つ目?へのバインド
  45. End With
  46. Call cmd.Execute
  47. Set cmd = Nothing
  48. End Sub

0 件のコメント:

コメントを投稿