DBのサイズが大きくなってしまいます

解決


へへへ  2003-02-07 13:48:06  No: 106011  IP: [192.*.*.*]

初めて登録させていただきます。
  ボタンをクリックしたときに実行する所で次のように書いています。
  これを実行するとMDBのサイズがどんどん大きくなってしまい困っています。
  尚、タイマー処理で同じDBをオープンしたままになっているプログラムがいま  すが、それが原因でしょうか?
  
    Set OraSession = CreateObject("OracleInProcServer.XOraSession")
    Set OraDatabase = raSession.OpenDatabase"MSTER", "mster/mas001", 0&)
    Set localDB = OpenDatabase("c:\common\db\hibi.mdb")
    
    Dim stlocal As Recordset
    Dim i, j As Integer
    Dim tname(1 To 4) As String
    Dim OraDynaset As OraDynaset
    Dim fcount As Integer

    tname(1) = "B0001"
    tname(2) = "A0001"
    tname(3) = "C0001"
    tname(4) = "D0001"
    
    
    For i = 1 To 4
        Set stlocal = localDB.OpenRecordset(tname(i))
        fcount = stlocal.Fields.Count
        localDB.Execute "DELETE from " & tname(i) & ";"
        Set OraDynaset = OraDatabase.CreateDynaset("SELECT * FROM " & tname(i) & " WHERE lot_s='1' OR lot_s='2' OR lot_s='3' ", 0&)
        Do Until OraDynaset.EOF
            stlocal.AddNew
                For j = 1 To fcount
                    stlocal.Fields(j - 1).Value = OraDynaset.Fields(j - 1).Value
                Next j
            stlocal.Update
        OraDynaset.MoveNext
        Loop
    Next i
    
    Set OraSession = Nothing
    Set OraDatabase = Nothing
    localDB.Close

編集 削除
takk  2003-02-07 14:54:20  No: 106012  IP: [192.*.*.*]

MDBとはそういうものです。
プログラムからじゃなくても、色々使っているとサイズが増えていきます。
(データの参照だけならサイズは増えませんが……)

適時、最適化してください。

編集 削除
へへへ  2003-02-07 17:16:25  No: 106013  IP: [192.*.*.*]

有難うございました。
(最適化をすっかり忘れていました)

編集 削除