#613 | SQL Serverへの接続文字列を組み立てるには? | VBA | |
SQL Server上のデータベースのテーブルなどを扱う際には、ODBCを使ってリンクテーブルにしたり、ADPを使ったりする方法がありますが、初期設定によって固定的にSQL Server名やデータベース名、あるいは認証方法などを設定しなければなりません。 そこで、SQL Serverへの接続文字列をその都度、動的に組み立てて接続することによって、たとえばオプション設定画面のようなところでユーザーが任意にその接続先を変えることができます。 ここでは、具体的なSQL Server上のテーブル操作までは説明しませんが、SQL Serverへの接続文字列を組み立てる方法の例について紹介します。 まず、設定画面として次のようなフォームを用意するものとします。 ここでは次のような名前で各コントロールが配置されています。
次に、[接続]ボタンのクリックのクリック時イベントプロシージャを作ります。なおここではADOを使ったプログラムとなっていますので、事前に「Microsoft ActiveX Data Objects X.X Library」への参照設定を行っておく必要があります。 Private Sub cmd接続_Click() '[接続]ボタンクリック時 Dim Con As New ADODB.Connection Dim strConnectionStr As String On Error GoTo Err_Handler '接続文字列の組み立て strConnectionStr = "Provider=SQLOLEDB; " & _ "Data Source=" & Me!SQLServer名 & "; " & _ "Initial Catalog=" & Me!SQLServerデータベース名 & "; " If Me!SQLServer認証方法 = 1 Then 'Windows認証のとき strConnectionStr = strConnectionStr & "Integrated Security=SSPI;" Else 'SQL Server認証のとき strConnectionStr = strConnectionStr & _ "USER ID=" & Me!SQLServerログインID & "; " & _ "PASSWORD=" & Me!SQLServerパスワード & ";" End If 'SQL Serverへの接続 With Con '接続文字列の設定 .ConnectionString = strConnectionStr '接続の実行 .Open .Close End With Set Con = Nothing Beep MsgBox "SQL Serverへの接続に成功しました!", vbOKOnly + vbInformation Exit_Here: Exit Sub Err_Handler: Select Case Err.Number Case Is < 0 Beep MsgBox "SQL Serverへの接続に失敗しました!", vbOKOnly + vbExclamation End Select Resume Exit_Here: End Sub 実行例: ※この例では、SQL Serverへ接続を試みるだけ(ConnectionのOpenメソッドを実行してすぐにClose)ですが、実際には接続したあとにCommandオブジェクトを使うなどして、各テーブル等を操作していきます。 |
|||
|
Copyright © T'sWare All rights reserved |