プロが教える店舗&オフィスのセキュリティ対策術

エクセルvbaのADOを使って、
SQL Serverの「test」という名のデータベースの「Table_1」に
新規レコードを追加する事はできますか?

エクセルからアクセスには
Sub test()
Dim データベース名 As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & データベース名
rs.Open "Tテーブル1", cn, adOpenKeyset, adLockOptimistic

rs.AddNew
rs.Fields("フィールド1") = データ
rs.Update

rs.Close
cn.Close

Set rs = Nothing
Set cn = Nothing
End Sub

で移行しています。

これをエクセルからSQL Serverへ移行させるにはどうすればいいのでしょうか?
よろしくお願いします。

A 回答 (1件)

本質的には接続文字列を変更するだけの話です。


ただし、どこにあるどういうSQL Serverに接続したいかにより変わります。
cn.Open "Provider=SQLOLEDB;Data Source=(サーバ名);Initial Catalog=test;Integrated Security=SSPI"

サーバ名は「どこにあるどういう名前でインストールしたSQL Serverか」により決まります。同じPC内にあるなら、省略するか「localhost」(SQL Server Express以外のデフォルト)か「localhost\SQLEXPRESS」(SQL Server Expressのデフォルト)のいずれかで通るでしょう。
また、上記はWindows認証を選択してインストールした場合で、混合認証の場合はIntegrated Securityの代わりにUser IDとPasswordの指定が必要です。
    • good
    • 0
この回答へのお礼

試してみます!ご回答ありがとうございます。

お礼日時:2009/02/22 00:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す