VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2006/07/16(Sun) 13:36
投稿者社会人ルーキー
Eメール
URL
タイトルVB6+Oracle10g ADO接続について

はじめまして
社会人ルーキーです。

どうしても解決できない問題があり投稿させて頂きました。

VB6(SP5) ADO2.8
Windows XP(SP2)
Oracle10g

画面上に配置してあるグリッドにデータを表示した
状態で画面を閉じるとアプリケーションエラーが発生します。
いろいろ調べてみると、データを取得せず(DBに接続しない)、画面を表示し
画面を閉じるとアプリケーションエラーが発生しません。
DB切断処理も走っています。。。。
何が原因でアプリケーションエラーが発生しているのかがわからず苦慮しております。
どなたか心あたりある方ご教授いただけませんでしょうか?
以下は処理概要になります。

Public Function fncGetKanriIchiran(aryDat() As Variant) As Boolean
    On Error GoTo Err_Proc
    
    Dim lobjCon
    Dim lobjRs As ADODB.Recordset   'ADODB.Recordset
    Dim lobjRs2 As ADODB.Recordset
    Dim lsSql As String             'SQL文生成用
    Dim laryBuf() As Variant
    Dim lnCnt As Integer
    
    fncGetKanriIchiran = False
    
    Set lobjCon = CreateObject("ADODB.Connection")
    lobjCon.Open gsOraConnect
    lsSql = ""

  (中略)

    Set lobjRs = lobjCon.Execute(lsSql)
    
    If lobjRs.EOF = False And lobjRs.BOF = False Then
        lobjRs.MoveFirst
        laryBuf = lobjRs.GetRows()
        Call subNullToStr(laryBuf)
        ReDim aryDat(8, UBound(laryBuf, 2))
        For lnCnt = 0 To UBound(laryBuf, 2)
   
    (中略)
          
            Set lobjRs2 = lobjCon.Execute(lsSql)
            If lobjRs2.EOF = False And lobjRs2.BOF = False Then
                aryDat(2, lnCnt) = RTrim(lobjRs2.Fields("A").Value)
            End If
            aryDat(0, lnCnt) = laryBuf(0, lnCnt)    
            aryDat(1, lnCnt) = laryBuf(1, lnCnt)    
            aryDat(3, lnCnt) = laryBuf(2, lnCnt)    
            aryDat(4, lnCnt) = laryBuf(3, lnCnt)    
            aryDat(5, lnCnt) = laryBuf(4, lnCnt)    
            aryDat(6, lnCnt) = laryBuf(5, lnCnt)    
            aryDat(7, lnCnt) = laryBuf(6, lnCnt)    
        Next
        lobjRs2.Close
        Set lobjRs2 = Nothing
        fncGetKanriIchiran = True
    End If
    
    'DB切断
    lobjRs.Close
    lobjCon.Close
    Set lobjRs = Nothing
    Set lobjCon = Nothing
    
    
    Exit Function
Err_Proc:
    MsgBox ERR_MSG, vbCritical
Debug.Print Err.Description
    End
End Function


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -