Excelből lassú az access lekérdezések futtatása

Excelből lassú az access lekérdezések futtatása
2014-09-25T16:04:11+02:00
2014-09-25T16:04:11+02:00
2022-10-15T23:10:25+02:00
ugux
Sziasztok,

Office 2010-ben adott Access 2003-as adatbázis (.mdb)

benne jó pár lekérdezés, első kb 10 létrehoz egy táblát, majd hozzáfűz, töröl belőle...stb.

Ezután frissítő lekérdezések feltöltenek adattal bizonyos oszlopokat másik (csatolt mdb táblákból)

A gondom az lenne, hogy én Excelből futtatom ezeket a lekérdezéseket ADO segítségével...az elején kb ugyan olyan gyorsan megy mintha az adatbázisban kézzel futtatnám, de aztán a frissítő lekérdezések már nagyon lasssan futnak le.

Írtam egy egyszerű sorozatot az adatbázisban ami lefuttatja a lekérdezéseket, ez kb 10 perc alatt végez....
docmd.openquery "Q_name1", acViewNormal, acEdit
docmd.openquery "Q_name2", acViewNormal, acEdit
.......stb


de az exceles kódnak ez kb 30 percig tart, és nem tudom miért....a kód így néz ki:

Set cat = New ADOX.Catalog
Set con = New ADODB.Connection
Set cmd = New ADODB.Command

con.CursorLocation = adUseClient
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Adir & "\Daily.mdb;"
con.Open
cat.ActiveConnection = con
cmd.ActiveConnection = con.ConnectionString

Set cmd = cat.Procedures("01").Command
cmd.Execute
Set cmd = cat.Procedures("02").Command
cmd.Execute
Set cmd = cat.Procedures("03").Command
cmd.Execute
Set cmd = cat.Procedures("04").Command
cmd.Execute
....stb

az egyik amin nagyon sokat gondolkodik például az egy sima törlő lekérdezés egyetlen táblából, nincs benne semmi kapcsolat más táblával, csak néhány feltétel a törléshez. Ez az Access-ben kb 20 másodperc, az excel makróban meg kb 10 perc....
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd