tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル MS-ACCESSの解放が出来ません
投稿日: 2016/02/02(Tue) 13:33
投稿者SUZUKI
いつもお世話になっております
VB6.0からVB2005への変換挑戦中の鈴木です
またわからなくなり相談させて下さい
MS-ACCESS(2003)の停止が出来なく困ってしまいました
記事NO.6555を見て.FIELDSを扱うのは解放が難しいと
指摘されている所です
下記コードは列の追加のコードですが
解放が出来ません
階層の取り扱いで停止しないと思われるのですが
変数化がよくわかっていません
色々調べたのですが、よくわからずよろしくお願いします
  SUB  
  Dim DB As dao.Database
  Dim TDFNEW As dao.TableDef
  Dim CC As Short
  Dim fieldflag As Boolean
  DB = DAODBEngine_definst.OpenDatabase(DbName)
  TDFNEW = DB.TableDefs.Item("DBDATA")
      fieldflag = False
   For CC = 0 To TDFNEW.Fields.Count - 1
       If TDFNEW.Fields(CC).Name = "A区分" Then
             fieldflag = True
       End If
   Next
     ' 新しく 1 つのフィールドを追加します。
    If fieldflag = False Then
            AppendDeleteField(TDFNEW, "APPEND", "A区分", dao.DataTypeEnum.dbText, 1)
            DB.Close()
            MRComObject(DB)
            MsgBox("A区分欄追加しました")
    Else
            DB.Close()
            MRComObject(DB)
    End If
  
  End Sub
  
  Sub AppendDeleteField(ByRef tdfTemp As dao.TableDef, ByRef strCommand As String, ByRef strName As String, Optional ByRef varType_Renamed As Object = Nothing, Optional ByRef varSize As Object = Nothing)
        With tdfTemp
            ' 更新可能かどうかを調べます。
            ' 更新可能でない場合は
            ' 呼び出しているプロシージャに制御を返します。
            If .Updatable = False Then
                Exit Sub
            End If
            ' フィールドの追加や削除を行います。
            If strCommand = "APPEND" Then
                .Fields.Append(.CreateField(strName, varType_Renamed, varSize))
            Else
                If strCommand = "DELETE" Then .Fields.Delete(strName)
            End If

        End With
  Exit Sub

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

古いスレッドにレスはつけられません。