» »

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
14938 (797) Cvenemir
»

[C++] Prehod na Windows Forms

Oddelek: Programiranje
5956 (920) jizzer
»

C#, Dodajanje podatkov v Arraylist z Gumbom

Oddelek: Programiranje
82280 (2119) Beezgetz
»

[VB 2005] branje teksta

Oddelek: Programiranje
241645 (1313) mNeRo
»

ListBox Izbira .NET

Oddelek: Izdelava spletišč
8936 (876) dejc2

Več podobnih tem