» »

Optimizacija makroja (povezava z bazo podatkov) [VBA/VB6]

Optimizacija makroja (povezava z bazo podatkov) [VBA/VB6]

gregor_83 ::

Pozdrav

Spisal sem makro v Autocadovem VBA okolju in sem kar zadovoljen z njim - naredi vse kar hočem, problem je le hitrost.

Delam z .mdb bazo podatkov s cca. 35000 vnosi. Sama baza niti ni problem; če dam SQL query-u, ki z LIKE in jokerji išče frazo po treh stolpcih nekaj, kar vem da ne bo našel, mi to pove zelo hitro (pod 3s).

Problem je v formi, ki jo kažem uporabniku: tam imam ListBox, ki ga z DO-LOOP napolnim z vrsticami enega od polj iz baze (včasih jih je vseh 35k). To traja več kot 10s. Pa tudi, če mu dam query, ki vrne veliko izdelkov iz baze, je vse skupaj nesprejemljivo počasno.

Razmišljal sem, da bi lahko uporabnik začel s pregledovanjem ListBox-a ko se v njem nabere že nekaj 10 vnosov iz baze, ni potrebno da so vidni vsi. Potem sem ugotovil da tega ne znam niti v teoriji narediti.

Malo sem brskal po helpu in Netu, ampak razen DoLoop funkcije (ki je ne znam uporabiti) ne najdem nič pametnega. Če je kdo kdaj delal z bazami v VB-ju in ima kak nasvet ali idejo mu bom hvaležen.

mHook ::

Pri MS Office programih pomaga Application.ScreenUpdating = FALSE na pred zanko in True na koncu.
Vmes lahko še kdaj narediš DoEvents, da sistem ne bi mislil, da je tvoj makro zamrznil.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[ASP.NET] Prenos podatkov iz ene spletne strani v drugo

Oddelek: Programiranje
14923 (782) Cvenemir
»

[C++] Prehod na Windows Forms

Oddelek: Programiranje
5949 (913) jizzer
»

C#, Dodajanje podatkov v Arraylist z Gumbom

Oddelek: Programiranje
82265 (2104) Beezgetz
»

[VB 2005] branje teksta

Oddelek: Programiranje
241634 (1302) mNeRo
»

ListBox Izbira .NET

Oddelek: Izdelava spletišč
8926 (866) dejc2

Več podobnih tem