質問: excel vba で msde を操作したい excelで作っている帳票データをデータベース化するにあたり、msdeでテーブルを作りsqlクエリを使用してexcel vbaプロジェクト上からテーブルの追加/更新を行いたいのですが、mssqlserverにアクセスする方法(具体的なコードの記述法や手順)がわかりません。 昔同様な事をやったことがあり、その時はサーバーがoracle(7)で、「oracle glue」というアドインツールを使いましたが同様に何かツールが必要なのでしょうか。 どなたか、どうかご教授お願いいたします。
回答: vbaのエディタから、[ツール]-[参照設定]を実行し、「microsoft activex data object x.x library」にチェックをつけて下さい。 んで、次みたいなコードを書けば、sqlを発行できます。 不明点があれば、補足下さい。 private sub コマンド2_click() dim cnn as adodb.connection dim rst as adodb.recordset dim cmd as adodb.command dim recct as long dim strcnn as string dim strsql as string '接続文字列の準備 strcnn = "driver={sql server};" & _ "server=onboro-server; uid=arc; pwd=himitsu; database=himitsudb" 'sqlを実行 set cnn = new connection cnn.connectiontimeout = 30 cnn.open set cmd = new command cmd.activeconnection = cnn cmd.commandtext = "insert into t個人 ( 氏名 )" _ & " select '菜梨 権瓶' as 氏名;" cmd.commandtype = adcmdunknown cmd.execute recct msgbox recct & "人追加したよ?" 'レコードセットを開く strsql = "select * from t個人;" set rst = new adodb.recordset rst.cursortype = adopenstatic rst.open strsql, strcnn rst.movelast rst.movefirst msgbox "最初のヒトは、" & rst![氏名] & "さん。" & vbnewline _ & "全部で" & rst.recordcount & "人登録されてるよ?" end sub