VB6メモ:独自関数:DBクローズ

VBの作法で、オブジェクトを変数に格納して使い終わった場合は下記のようにNothingを代入するのが作法だったかと思います。



Set data = Nothing

DAO等でDBをオープンした場合では、Close()+Nothingの代入となり結構長い1文になりますよね。



If Not db IS Nothing Then
db.Close()
Set db = Nothing
End IF


これでは毎回書くのはちょっと面倒なので、関数化させてみました。
ただ普通に作っただけでは芸がないので、
Database型の他に、Recordset型、QueryDef型でも使える関数にしてみました。(いうほど大したものではないが)





'DBクローズ処理(Database型、Recordset型、QueryDef型で動作確認済み)
Public Function CloseDB(ByRef vDB As Object) As Boolean
'引数:
' vDB:クローズするオブジェクト
'戻値:
' クローズ処理の成否(true/false)
On Erro GoTo func_err

If Not vDB Is Nothing Then
vDB.Close
Set vDB = Nothing
End If

CloseDB = True
Exit Function
func_err:
CloseDB = False
End Function


他にClose()で終了するオブジェクトがあれば使えるかもしれません。




ところで関数化させはしましたが、今回のは大して有用性はない気がしないでもないッス…ι
下記のように1行で書けば、これはこれでスッキリしますしねえ…?



If Not db IS Nothing Then db.Close() : Set db = Nothing




コメント
コメントする








    
この記事のトラックバックURL
トラックバック