Temat: określanie miejsca kodu kreskowego w ciągu tekstowym
A SQLem to się robi tak:
http://afin.net/open/WyszukajKodyWTekscie/WyszukajKody...
Wcale nie elegancko, ale (chyba) nie ma innego wyjścia, bo funkcje wyszukujące nie reagują na RegExpy, na RegExpy reaguje tylko wyszukiwanie rekordów.
Więc wyszukuję kolejno ileś tam ciągów z '[0-9][0-9]-[0-9][0-9][0-9]' od 1go, 2go, 3go itd znaku i zamieniam w jakimś tam polu - jak widać, na pliku Excela też działa.
Zrobiłem ten przykład jednak dla celów poważniejszych.
Często się zdarza, że mamy plik tekstowy z kropkami jako separatory tysięczne - a schema.ini akurat tego nie obsługuje (tzn. obsługuje tylko gdy sep. tys. jest zgodny z ustawieniami Windows, a nigdy tak nie jest)
Więc te kropki to problem, a ja nie miewam baz (tabel) ani po 10, ani po 1000 rekordów - mam po 200.000 i więcej (bo tyle zwykle jest rekordów - dokumentów średniej firmy w miesiącu)
W Jetowym SQLu nie działa funkcja REPLACE ani żadna inna o podobnym działaniu, więc problem jest poważny- nie ma jak tego pola zamienić na liczbę.
Taka zabawa jest uniwersalna. Nawet 100 UPDATE-ów na 200.000 bazie i tak działa 10 razy szybciej, niż program VBA, który to musi przerobić linia-po-linii.
Reasumując - metoda uniwersalna, ale trzeba znać SQLa.
Pozdrawiam.
P.S.
Pliki z SQLkami do pooglądania:
http://afin.net/open/WyszukajKodyWTekscie/WyszukajWTek...Wojciech Gardziński edytował(a) ten post dnia 03.08.10 o godzinie 17:44