dポイントプレゼントキャンペーン実施中!

下記のコードにてエクセルでデータベースに接続しようとするのですが、どうしてもうまくいきません。開きたいデータベースは”sekisan.mdf”という名前です。現在はローカルPCにて接続したいとかんがえております。
何かおかしな点があったらご教授願います。それから、逆にエクセルデータをSQLSERVERの既存のデータに書き出すことって可能でしょうか?

cn.ConnectionString = "Provider=SQLOLEDB;Data Source=(local);" & _
"Initial Catalog=sekisan;Integrated Security=SSPI;"

A 回答 (1件)

こんな感じで


sub test()
const connstr = "Provider=SQLOLEDB;Data Source=(local);" & _
"Initial Catalog=sekisan;Integrated Security=SSPI;"

Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim ret As Boolean

conn.Open connstr, ユーザーID,パスワード
rs.Open "Select * From テーブル名 Where 抽出条件 ", conn
Range("A1").CopyFromRecordset rs
rs.Close
conn.Close

Set rs = Nothing
Set conn = Nothing
End sub

>SQLSERVERの既存のデータに書き出すことって
SQL文作ってゴリゴリまわす方法
レコードセットを作製し
新規のとき
rs.addnew

rs.update
とする方法があります

この回答への補足

有り難うございます。
誠に申し訳ないのですが、補足させてください。
chibita_papa様のコードで大丈夫かと思うのですが、SQLSERVERをwindows認証で行っていて、ユーザーIDとパスワードを割り振っていない場合、
conn.Open connstr, ユーザーID,パスワード
のコーディングはどうなるのでしょうか?
というのもただ単に”, ユーザーID,パスワード”部を削除するだけでは、認証どころかSQLSERVERが存在しない旨を通知されてしまいます。この補足は、初歩的なことかもしれませんが、どうか宜しくお願い致します。

補足日時:2007/03/28 18:34
    • good
    • 0

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