
ADOを使ってACCESSやSQLサーバーへ接続する時に
Option Explicit
Sub ADO()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Provider=SQLOLEDB;Data Source=○○○\SQLEXPRESS;Initial Catalog=test;Integrated Security=SSPI"
rs.Open "table1", cn, adOpenStatic, adLockOptimistic
というようなコードを書きますが、
変数の宣言の「 New 」はどういう意味なのでしょうか?
何のためにつけるのでしょうか?
あえて「 New 」を取ると、
「オブジェクト変数または With ブロック変数が設定されていません。」
というエラーになります。
普通の変数(Dim table名 As String)に
「 New 」を付けるとコンパイルエラーになります。
違いがわかりません。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
こんにちは。
>変数の宣言の「 New 」はどういう意味なのでしょうか?
>何のためにつけるのでしょうか?
Excel VBAなどでは、ADO は、常時用意されていないオブジェクトですから、事前バインディングでは(参照設定した後)、New キーワードをつけてインタンスとして実体化し、オブジェクトを生成します。それをつけないと、オブジェクトにならないのです。既存に存在するものには、変数にNew キーワードは不要です。
ただ、Excelのような限定されたメモリ空間ですと、頻繁に使うような場合は、[Dim cn As New ADODB.Connection]では、オブジェクトの開放の場を失ってしまうように思います。簡単に使う程度では、Excel自体を終了してしまいますが、常時多用するような場合は、こうした部分も管理しなければならない時があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
アクセスVBAのMe!と[ ]
Access(アクセス)
-
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
-
4
ADOでRecordsetオブジェクトをレコードソースに設定したい
その他(データベース)
-
5
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
6
VBAでアクセスDBからデータの取得について
Visual Basic(VBA)
-
7
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
sheetsメソッドの失敗
-
テキストボックスが読み取り専...
-
Excelでフィルタをかけると警告...
-
VBAからPDFファイルにパスワー...
-
エクセルから表をパワーポイン...
-
Excel VBAでIEにアクセスするプ...
-
ある文字列が全て数字であるか...
-
エクセルのVBAの標準モジュール...
-
VBからPDFファイル自動生成...
-
USBのグループ ポリシー オブジ...
-
データバインドされたDatagridv...
-
VBからExcelのセルの書式設定を...
-
PowerShellで、連想配列の値の...
-
ExcelVBAでのNZ関数について
-
AccessVBAで「dim dbs as datab...
-
配列にしたセル範囲でのコメン...
-
実行時エラー 3265「要求された...
-
ExcelVBAのコントロールの種類...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
PowerPointVBAでスライドマスタ...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
テキストボックス中の文字列の...
-
VBAからPDFファイルにパスワー...
-
VBAで既に開いている別アプリケ...
-
Excel VBAでIEにアクセスするプ...
-
オブジェクトが見つかりません
-
ExcelVBAでのNZ関数について
-
エクセルVBAでcode128のバー...
-
WordにOLEで埋め込んだExcelでW...
-
AccessVBAで「dim dbs as datab...
-
エクセルマクロエラー「'Cells'...
-
エクセル エラー438
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBScriptでファイルの日時順(降...
おすすめ情報