質問: createobject("adodb.connection") は、あってもなくても問題ないようです。 newとcreateobjectがある場合は、 2度データベースに接続してしまうのでしょうか? newとcreateobjectがあってもエラーにならない理由を教えてください。
回答: > newとcreateobjectがある場合は、 > 2度データベースに接続してしまうのでしょうか? 質問内容に記載されているコードならば cn.open は一回しか実行しないので、接続も一回のみです > newとcreateobjectがあってもエラーにならない理由を教えてください。 同じ変数に入れているため、上書きされているだけ set cn = createobject("adodb.connection") こちらが有効になる(結果的に同じことをしているだけなので動作は変わらない) なぜ new と createobject の2つがあるのかは vbsとvbaの違いですね。 vbsだと参照設定が使えないため createobjectを使います。 vba(たとえばexcel)だと、dllの参照設定が出来るため newキーワードでオブジェクトが作成できます。