Excel CSV adatbázis gyors felolvasása
2010-11-16T23:50:22+01:00
2010-11-16T23:57:33+01:00
2022-08-03T03:35:26+02:00
Niko
Sziasztok!

Azt szeretném megtudni, hogy miként lehetséges az alábbi:

VBA-ban egy .CSV file-t hozok létre, eddig ok. Ennek van egy írási, beolvasási ideje, mérettől függően 1-2 másodperctől akár 1 percig is, tarthat, ha nagyon hosszú és sok adat van a file-ban.

A Total Commander beépített nézőkéje, ami hasonlít a jegyzettömbhöz, mérettől függetlenül 1 másodperc alatt beolvas bármekkora állományt és valljuk be az excelnél is gyorsabb a keresője (kipróbáltam 100MB-os állományon). Ez hogy lehetséges?? Hogy működik ez a program? Lehet a jegyzettömböt paraméterezni ilyen működésre VBA-ból, vagy lehet VBA-ban ilyet készíteni?

Nem kell az adatokat módosítani a .CSV-ben, csak megtekinteni.

Szerintetek?

Előre is köszönöm!!!
Mutasd a teljes hozzászólást!
A jegyzettömböt az életben nem fogod gyors olvasásra paraméterezni, mert nem lehet és nem is arra találták ki.

Igen, VBA alatt is lehet az excel-nél gyorsabban kereső makrót írni. Az más kérdés, hogy az Excel VBA nem igazán erre való és a natív kódú, erre optimalizált programok mindig gyorsabbak leszenek a VBA makródnál.

Az elv egyébként az, hogy nem egylépésben próbálod beolvasni a file-t, ahogy azt pl. az excel és a notepad is csinálja, hanem lépésenként. A total commander sem olvassa be az egész file-t egyszerre, te csak azt hiszed. A beolvasott adatban keresel vagy egyéb feldolgozást végzel, majd ha arra nincs szükség, akkor eldobod a beolvasott adatokat és egy újabb blokkot olvasol be.

Nézegesd a VBA file kezelő utasításait (open és társai), vagy az ms scripting runtime objektum könyvtárban található textstream objektum read metódusát.
Mutasd a teljes hozzászólást!

abcd