ファイルのクローズ


  2003-11-13 02:47:48  No: 109938

DataEnvironmentで作成したアクセスのファイルが開いている時に
ファイルを閉じたいのですがうまくいきません
どうやればよろしいでしょうか
下のように作成しましたがif文のエラーになります

If Buturyu.rs受注データ商品.Open Then
        Buturyu.rs受注データ商品.Close
End If


特攻隊長まるるう  2003-12-02 08:35:58  No: 109939

例えばその『rs受注データ商品』ってのが Recordset だとして、
『アクセスのファイルが開いている』という状態とは違うんじゃない?。
Recordset 閉じたらアクセスも閉じるんならいいけど、アクセスの
ファイルは開いていて Recordset だけ閉じた状態って無いのかな?。
あったら上のコードは全く意味が無いデスヨ。

…ってゆーか戻り値があるかどうか分からない Open メソッドを If 文で
使う時点ですごく強引…こんな事してたら壊れるよ?。メソッドは何かの『操作』を
行う関数。呼び出した時点で対象の『操作』が行われると思ってください。

上のコードは Open メソッドの戻り値があると仮定して rs受注データ商品 を
その『状態』がどうであろうと、問答無用でまず開いちゃいます。で、
戻り値が0以外の時に Close します。そーゆーコードです。強引でしょ?(^^;)

ファイルやオブジェクトの『状態』を知りたい時は『プロパティ』に
分類される値を見ると思ってください。Recordset オブジェクトに、現在の
オブジェクトの状態が接続中、実行中、またはフェッチ中のいずれであるかを
示させるには State プロパティを使います。

[VB6.0]
If Buturyu.rs受注データ商品.State = adStateOpen Then
        Buturyu.rs受注データ商品.Close
End If

…でエラーは出ないと思うけど、ファイルが閉じるのかどうかは疑問…。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加