Ik heb een probleem met een aantal eigen geschreven formules in Excel.
De eigen geschreven formules halen via ADO/SQL de waarde op uit een access database.
De Excel sheets draaien deze formules >100 keer (per sheet), dus is het belangrijk dat deze zo snel mogelijk draaien. Op dit moment draaien ze nog vrij langzaam.
Ik verwacht zelf dat dit komt omdat in VBA ik elke keer opnieuw de connectie naar de (dezelfde) database opzet.
Ik open de ADO connectie naar de database in mijn formule(s) d.m.v. cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=<<naam van mdb file>>;" (cn is gedef. als ADODB.Connection)
Echter, ik heb het idee dat de connectie aan het eind van de functie gesloten wordt -- als ik bijvoorbeeld If cn.State = AdStateOpen toevoeg maakt het niets uit - hij geeft altijd aan dat hij niet open is - en ik hem dus opnieuw moet openen.
Aangezien dezelfde formule in meer dan 100 cellen staat moet ik dus een manier vinden op die connectie open te houden nadat ik hem de 1e keer open in een formule.
Weet iemand of deze mogelijkheid bestaat?
Hoop dat m'n vraag duidelijk genoeg is - zoniet dan hoor ik 't wel
De eigen geschreven formules halen via ADO/SQL de waarde op uit een access database.
De Excel sheets draaien deze formules >100 keer (per sheet), dus is het belangrijk dat deze zo snel mogelijk draaien. Op dit moment draaien ze nog vrij langzaam.
Ik verwacht zelf dat dit komt omdat in VBA ik elke keer opnieuw de connectie naar de (dezelfde) database opzet.
Ik open de ADO connectie naar de database in mijn formule(s) d.m.v. cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=<<naam van mdb file>>;" (cn is gedef. als ADODB.Connection)
Echter, ik heb het idee dat de connectie aan het eind van de functie gesloten wordt -- als ik bijvoorbeeld If cn.State = AdStateOpen toevoeg maakt het niets uit - hij geeft altijd aan dat hij niet open is - en ik hem dus opnieuw moet openen.
Aangezien dezelfde formule in meer dan 100 cellen staat moet ik dus een manier vinden op die connectie open te houden nadat ik hem de 1e keer open in een formule.
Weet iemand of deze mogelijkheid bestaat?
Hoop dat m'n vraag duidelijk genoeg is - zoniet dan hoor ik 't wel
[ Voor 31% gewijzigd door -d- op 28-01-2008 14:47 ]