駆け足でMySQLを使ってみる。

VBEのプロジェクトウインドウのModule1をクリックし、プロパティウインドウの「オブジェクト名」を「ユーザー関数」に書き換えます。

プロジェクトウインドウの「ユーザー関数」をダブルクリックしてコードウインドウを開き次のようなプログラムコードを記述します。

01:Option Explicit
02:
03:Public connect As New ADODB.Connection
04:Public record_set As ADODB.Recordset
05:
06:'データベースへ接続
07:Function Database_open() As Integer
08:    
09:    On Error GoTo ERR_statements
10:    
11:    connect.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
12:                & "SERVER=localhost; DATABASE=sixdb; UID=root; OPTION=3"
13:    connect.Open
14:
15:ERR_statements:
16:
17:    If (Err.Number <> 0) Then
18:        Call MsgBox("データベースに接続できません。")
19:        Set connect = Nothing
20:    End If
21:    Database_open = Err.Number
22:
23:End Function
24:
25:'データベースを切断
26:Function Database_close() As Integer
27:    connect.Close
28:    Set connect = Nothing
29:    Database_close = Err.Number
30:End Function
31:
32:Function Database_check() As Boolean
33:    If ( connect.State = adStateClosed ) Then
34:        Database_check = False
35:    Else
36:        Database_check = True
37:    End If
38:End Function

ワークシートの「接続」ボタンをダブルクリックしてプログラムを記述します。

01:Private Sub btn接続_Click()
02:    Dim statements As Integer
03:    If ( Database_check() ) Then Beep
04:    Else
05:        statements = Database_open()
06:        If ( statements = 0 ) Then
07:              Label1.ForeColor = &HFF&
08:              Label1.Caption = "データベースに接続出来ました。"
09:        Else
10:              Label1.ForeColor = &HFF&
11:              Label1.capriont = "データベース接続エラー"
12:        End If
13:    End If
14:End Sub



ワークシートの「切断」ボタンをダブルクリックしてプログラムを記述します。

01:Private Sub btn切断_Click()
02:    Dim statements As Integer
03:    If ( Database_check() )  Then 
04:       statements = Database_close()
05:       If ( statements = 0 ) Then
06:           Label1.ForeColor = &HFF&
07:           Label1.Caption = "データベースを切断しました。"
08:       End If
09:    Else
10:       Beep
11:    End If
12:End Sub


Excelから各ボタンをクリックしてデーターベースの接続、切断が出来れば成功です。






お断り:

各プログラムソースはこの講義用に急遽作成したものです。

全体的な設計の元に作成したものではなく、カット&トライで検証しながら記述したものであり、前後の整合性などは考慮しておりませんので、各自で手直しをして下さい。

また、ExcelVBAからこのHTMLに書き換える時に間違った記述をしたものがあるかも知れません。



© AstroHeart. All Rights Reserved.