PDA

View Full Version : Provjera text dokumenta


bibiX
02-04-2008, 23:58
Trebam savjet kako da si olakšam svkodnevni posao;
sistem mi generira na kraju dana jedan report koji ja kontroliram i ispravljam "greške". Kako je taj dokument strogo određenog formata( broj praznih mjesta između raznih podataka, uvjeta kada ima i drugi red ...) i u *.txt formatu. Moja ideja je bila da ga importiram u excel i tamo ispravim i vratim u txt. Međutim tu nastaju problemi. Kako između headera( tri reda) i footera( jedan red) postoji nestandaran broj redova koji su dva tipa: jedan počinje sa clm a drugi cmp te postoji uvjet po kojem se pojavljuje cmp red( ili redovi) i koji ima različite duljine polja od clm, tu nastaje problem za koji tražim pomoč.

Mogu razdvojiti svaki podatak u svoju kolonu i ostaviti prazne kolone s potrebnim brojem karaktera između, mogu napraviti korekcije unutar svake vrste redova(clm ili clp) ali kako ih ponovno spojiti u jednu tablicu i exportirati u *.txt da se poštuje točni raspored i broj karaktera.

Da li je moguće u excelu napraviti tako nešto ili bi to trebao raditi u accessu( s kojim sam na "VI").
Mogu importirati taj *.txt u access i odrediti mu duljinu polja međutim kad to probam konvertirati u txt ne dobivam zadane razmake( broj razmaka između zapisa) te sam se vratio opet na excel...

mamica
03-04-2008, 00:10
Jesi li razmislio o tome da umjesto *.txt koristiš bazu za pohranu i manipulaciju podacima? Ako već ne bazu, onda bar excel datoteku? To bi te riješilo cijelog spektra problema koje si opisao...

bibiX
03-04-2008, 08:07
To je stvar koju ne mogu mijenjati, sistem to generira bez mogućnosti da biram format . Izlazi u txt formatu, a drugi program kojim šaljem izvještaje ima skriptu za provjeru koja prima samo txt format i mora biti u detalje točna što se tiče formata ( razmaci, duljine polja...) inaće je odbija( jedan razmak više ili manje - ne prolazi!)

bibiX
03-04-2008, 15:44
radi se o raznim podacima koji se mogu exportirati, koji imaju točnu duljinu i točno određene razmake( u broju znakova ) te se mogu korigirati u excelu ( vlookup, replace, izračun razlike između dva datuma i sl)

ovo su dva reda od kojih se sastoji document (clm i cmp red):

CLM EER M7-07224-07 WR56405 1234567890 1234567890 098765432109876 098765432109876 DES 04/06/200708:44 06/06/200710:1406/06/200702:01:3002:01:3002:01:30Y13/07/2006 TON01 TON01 RBT01 NA NA
CMPHR0001 M7-07224-07 SNN5779B 0101R

ak to možda daje kakvu bolju predodžbu o ćemu se radi.


ops.
nakon pregleda posta vidim da su izbrisani razmaci između svakog podatka, npr. između CLM i EER ima 562 mjesta,između EER i M7 ima 40 mjesta...

ali u redu koji počinje s CMP tih praznih mjesta nema toliko, tj cijeli red ima 228 mjesta koja se ne poklapju s CLM redom te ih treba posebno exportirati u drugu tablicu i to imam napravljeno, međutim problem je kako nakon ispravka podataka te dvije tablice spojiti po točno određenim uvjetima( ako se na (mislim) 974 mjestu nalazi jedan četveroznakovni podatak( koji se provjerava u slijedečoj tablici) onda u red ispod dolazi red koji počinje sa CMP i sadrži podatke vezane za podatak iz CLM reda sa mjesta npr. 608....Ako nema tog podatka prijavljuje se greška te treba ručno ispraviti ...
Iz toga prizlazi da se redovi ne mogu spojiti u istoj tablici nego bi se pri exportu trebale posložiti po pravilnom rasporedu, mislim.