初めて登録させていただきます。
ボタンをクリックしたときに実行する所で次のように書いています。
これを実行すると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
MDBとはそういうものです。
プログラムからじゃなくても、色々使っているとサイズが増えていきます。
(データの参照だけならサイズは増えませんが……)
適時、最適化してください。
有難うございました。
(最適化をすっかり忘れていました)