[ stranac2 @ 17.02.2010. 11:42 ] @
Trebam napraviti eksport tabele u XML i to radi, ali imam jedan problem. Ako je polje u tabeli prazno, ne prenosi se u XML. To nije dobro, u XML-u moram imati sva polja. Kako to riješiti? Zahvaljujem Pozdrav |
[ stranac2 @ 17.02.2010. 11:42 ] @
[ stranac2 @ 25.02.2010. 13:41 ] @
Evo sam sebi odgovaram: Riješeno. Ne radim to preko direktog eksporta, nego pomoću malo koda koji kreira xml datoteku i sva potrebna polja (petlja prođe kroz slogove u tabeli i kreira tekst u datoteci). Mogu staviti kod ako će koga zanimati.
Ipak na kraju opet jedan problem. Acceess napravi xml datoteku koja nije kodirana u UTF-8 (deklaracija u datoteci ne pomaže). Zna li tko kako iz Accessa konvertirati datoteku u utf-8? Zahvaljujem Pozdrav [ zliki @ 02.03.2010. 09:21 ] @
Posto me export u XML bas zanima ovih dana, molim te da prilozis kod o kome si pricao ako ti nije problem.
Pozdrav [ stranac2 @ 08.03.2010. 10:51 ] @
Evo koda sa zakašnjenjem (riješeno i UTF-8 kodiranje):
Dim tekst As Stream Dim rst As Recordset Dim fld As Field Set rst = CurrentDb.OpenRecordset("Ljudi") Set tekst = New Stream tekst.Open tekst.Position = 0 tekst.Charset = "UTF-8" tekst.WriteText "<?xml version=""1.0"" encoding=""utf-8""?>" & vbCrLf tekst.WriteText "<dataroot xmlns:od=""urn:schemas-microsoft-com:officedata"">" & vbCrLf Do Until rst.EOF tekst.WriteText "<Covjek>" & vbCrLf For Each fld In rst.Fields tekst.WriteText "<" & fld.NAME & " " & rst(fld.NAME) & " />" & vbCrLf Next tekst.WriteText "</Covjek>" & vbCrLf rst.MoveNext Loop tekst.WriteText "</dataroot>" tekst.SaveToFile "C:\Ljudi.xml", adSaveCreateOverWrite tekst.Close rst.Close [ zliki @ 10.03.2010. 08:40 ] @
Hvala na kodu, sad sam video tek.
Samo imam problem, moj komp ne prihvata stream, odnosno ne mogu da definisem stram, prijavljuje mi gresku. Znaci ono deklarisanje 'dim tekst as stream' ne prihvata. Verovatno trebam da ukljucim neku referencu ali ne znam koju. [ stranac2 @ 11.03.2010. 06:14 ] @
Reference kod mene:
Visual Basic for Application Microsoft Access 11.0 Object Library OLE Automation Microsoft DAO 3.6 Object Library Microsoft Word 11.0 Object Library Microsoft ActiveX Data Objects 2.8 Library Pozdav [ zliki @ 11.03.2010. 07:11 ] @
Resio sam, hvala puno
Pozdrav [ sabacc @ 11.03.2010. 09:49 ] @
Možeš to rešiti na još prostiji način. U polja atributa access tabela stavi u polje DEFAULT VALUE "" (prazan string) u exportu u XML će ti biti i polja koja nemaju upisa.
[ sabacc @ 11.03.2010. 09:51 ] @
Stavi i code za export ako nije problem
[ zliki @ 11.03.2010. 10:08 ] @
@Sabbac Mislim da je ovakav code kao sto je napisao Stranac2 resenje naseg problema, ali ja prosto ne znam da ga nodifik da obuhvati sve related tabele. Ono sa praznim stringom sam resio i radi odlicno, takodje, sva polja su mi vec text, samo stavim input mask gde treba i to radi super, cak mi daje i ukupan iznos fakture bez problema. @stranac2 Ko sto rekoh, ovaj kod je odlican i radi super. E sada, na koji nacin treba da se modifikuje pa da se obuhvate i tabele koje su u relaciji sa osnovnom 1 prema vise. Mozes li da probas da nam das odgovor na ovo pitanje. Ja probao pa nista. Pozdrav [ zliki @ 12.03.2010. 08:51 ] @
Rekao sam da je ovaj gornji kod resenje mog problema, malo sam ga modifikovao i sada je to bas to sto meni treba.
@Sabbac Obecao sam ti kod pa ga evo stavljam u prilogu. Ti modifikuj sve ono sto tebi treba. Ako je sto nejasno, javi pa da resimo. @Stranac2 HVala ti za kod. Bez tvoje ideje i pomoci ne bih uspeo! Pozdrav [ sabacc @ 17.03.2010. 08:52 ] @
Ako možeš stavi primer.
Pozdrav! Ja sam to rešio na drugi način, ali me interesuje i ovaj. Znjanja nikad dosta! [ stranac2 @ 17.03.2010. 12:42 ] @
U gužvi sam, pa nisam gledao postove. Što se tiče povezanih tabela, treba napraviti upit koji sve obuhvati i to je recordset s kojim se radi (kao što u kodu radi s tablicom "Ljudi"). Drago mi je ako sam pomogao, vidim da se dobro snalazite.
Pozdrav [ zliki @ 23.03.2010. 07:33 ] @
Izvinjavam se, nisam citao postove, sad sam tek video poruku
Sabacc@ evo saljem ti primer Otvori bazu, klikni na dugme 'FORMIRAJ XML FAKTURU'. Otvori C: particiju videces XML fajl 'El_Faktura_00_00_2010' koji si formirao. Nadam se da je to ono sto ti treba. Ukoliko uocis neku gresku ti javi Pozdrav [ sabacc @ 24.03.2010. 07:06 ] @
Hvala, sada ću malo da analiziram.
P.S. Imaćeš problem sa tagom SanMedMat jer prilikom pružanja usluge ako tih troškova nema u XML taj tag ne treba da se pojavljuje. Pogledaj slog RZZO. U exploreru mi javlja grešku prilikom otvaranja. Inače malo njih dođe uopšte dovde. [Ovu poruku je menjao sabacc dana 24.03.2010. u 08:28 GMT+1] [ zliki @ 24.03.2010. 10:27 ] @
Ja radim u ZZJZ, moje usluge nemaju sanitetski materijal (uracunato u cenu usluge) tako da nemam tih problema jer uopste i nemam tag SanMedMat. Mislim da bi jedno malo IF moglo da resi problem. Proveriti da li za dati ID_Usluge postoji unos u tabeli SanMedMat. OVo moze najobicnijom dcount funkcijom. dim i as integer i= DCount("ID_SanMedMat","SanMedMat","[ID_Usluge]="&[ID_Usluge]) if i=0 then 'Ne radi nista else 'ovde ide kod za iscitavanje SanMedMad end if Pozdrav [ sabacc @ 24.03.2010. 11:03 ] @
I ja sam u ZJZ, ali najbolje je imate rešenje za sve opcije. U svakom slučaju Hvala!
Probaću i sa dodatkom u Code. Od viška rešenja glava ne boli! [ zliki @ 24.03.2010. 11:31 ] @
Pozdravi mi kolegu Boska puno!
Ko sto ti rekoh, verujem da se ono moze resiti kao sto sam gore predlozio. Pozdrav [ sabacc @ 24.03.2010. 12:09 ] @
Hoću. bio sam pre 5 minuta sa njim.
[ zliki @ 25.03.2010. 13:12 ] @
Evo ga primer, mislim da sam ovim resio problem.
Pogledaj u donjem primeru Molim te potvrdi mi ako je sve OK. Pozdrav [ sabacc @ 26.03.2010. 07:44 ] @
Ovo radi bez problema, koliko sam na blic pogledao. Jedini problem je xml fajl koji se dobije. Meni javlja grešku u xml editoru za proveru ispravnosti tagova i atributa u njima. Verovatno ti Internet explorer neće otvoriti dokument.
Kada tvoj export pogledaš u Notpead nevidiš bukvalno nikakvu razliku, ali verovatno je greška i ako postoji u <?xml version="1.0" encoding="UTF-8"?> dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Faktura.xsd"> Znači u samoj šemi u kojoj zadaješ export inače ti si rešio probleme export bez kjučeva i SanMedMat bez usluga. Ako si već slao fakturu i ona ti je prošla bez broblema sa tvojim codom onda OK.Ne moraš da se zamaraš ovim problemom. Ako ti bude javio neispravan format ovo može biti jedan od razloga. Neispravan format ti može javiti i u slučajevima: Ako ti vrednosti nisu u formatima u kojima RZZO zahteva-polja datuma, iznosa itd. Ako ti za osiguranika nisu vezane usluge pa ti onda ide samo tag osiguranik bez usluga. to jest ako ti redosled tagova i atributa nije u skladu sa njihovim. P.S. Moj savet ti je da elektronsku fakturu integrišeš u vaš sistem. Da ti program ne služi samo za fakturisanje, pa da onda neko u ustanovi samo to radi. Ja sam postavio sistem tako da mi se u samom procesu kada pacijent dođe popunjava set podataka čitačem bar koda knjižice ili ručno ukucavanjem matičnog broja i iz baze osiguranika rzzo (dobijamo podatke od matične filijale) upisuje set podataka, datume prijema i neke default vrednosti računar sam upisuje kao i jedinstveni broj pacijenta,a zatim i deo podataka potrebnih za tu službu. Odatle se štampaju radni nalozi i ide sam proces. Na kraju procesa kada se usluga/usluge završe pozivanjem jedinsvenog broja pacijenta dodaju se samo usluge i time je faktura završena. Istovremeno u kucanju nalaza nema potrebe ukucavati ponovo podatke ime,prezime, jmbg itd. već samo pozoveš jedinstveni broj pacijenta upišu ti se podaci doda ono što treba u nalaz i odštampa (možeš linkovati tabele različitih baza)da bi maksimalno iskoristio podatke. Time si u samom procesu uštedeo više radnih mesta puta njihova bruto plata i NADAM SE DA ĆE ZNATI TO DA CENE U TVOJOJ USTANOVI. (Verovatno si to već uradio) Ako sa tvojim XML fajlom ne bude nešto u redu uradi to preko xsl kao ja dobićeš na vremenu da možeš da regulišeš tvoj export. COOPTOP editor ti je free. Pozdrav! Ako ti je prošao fajl. Javi. I ako si rešio problem na početku mog izlaganja. [ zliki @ 26.03.2010. 08:30 ] @
OK hvala na iscrpnom odgovoru.
Fakturi nisam jos uvek poslao. Cekam da mi ubace lekare u sifrarnik, nema ih. Sto se tice ovog dela za ceo lab rad, jos uvek nisam napravio kompletnu bazu, svakako cu to da uradim uskoro. Mi takodje dobijamo podatke od mat filijale o osiguranicima i to radi OK. Tehnicki, bar kod citac bi dosta ubrzao proces, jos uvek nisam to probao ne znam ni kako bih isprogramirao tako nesto. Tu bi mi trebalo malko pomoci. Zanima me kako si to resio i sta mi je sve potrebno da ovo realizujem. OK, probacu uskoro da odradim bazu za podrsku samog procesa MB ispitivanja, pa cemo videti Pozdrav P.S. Molim te uputi me malo u vezi bar code citaca ako imas vremena. [ sabacc @ 26.03.2010. 10:36 ] @
Uzmeš bar kod čitač sa USB mi smo uzali tri komada nešto oko 7 500 din (po komadu). On ti se ponaša kao tastatura ne ukucavaš sa tastature. Na event nekog polja recimo nepovezanog na After Update postaviš code koji polja iz baze osiguranika upisuje u polja tvoje fakture i to je sva nauka. Bar kod čitač ti upisuje broj knjižice u to polje nađe ga u bazi i upiše set podataka u elektronsku fakturu. Samo programiranje za bar cod čitač ti ne treba sem ako nešto hoćeš da menjaš u njegovoj postavci recimo on ti odmah po čitanju coda i upisa ide na opciju enter. To ti je kao da si ti na tastaturi otkucao nešto i pritisnuo enter.
Ima samo jedan mali problem kod čitača. Folija u kojoj stoji knjižica je debela pa čitač ne može da je isčita preko nje (sem ponekad) tako da na šalteru moraju da je vade iz folije. Ako imaš nekih problema javi. Pozdrav! [Ovu poruku je menjao sabacc dana 26.03.2010. u 11:56 GMT+1] [ zliki @ 26.03.2010. 12:20 ] @
OK, napravim unbount polje na formi i stavim event na after updite, sve je to OK, sve je jasno ALI, kako bar code citac 'zna' ta treba da upise vrednost BZK bas u to unbound polje? E to mi nije bas jasno Ma ne, ne kapiram! Mozda ipak to radi ovako: Ako stavim da mi po otvaranju forme to zeljeno polje ima focus, pa kliknem na citac koda, onda ce vrednost da se upise u to polje! El ima blage veze s mozgom ovo sto ja kontam ovde il sam sve pogresno ukapirao? Molim te pojasni mi jos jednom Pozdrav [ sabacc @ 26.03.2010. 13:04 ] @
On ti samo upisuje broj bar koda u to polje (broj knjižice) Ti samo uradi combo box na tom polju. Neka ti vuče podatke iz baze osiguranika. Znači ti na combo box uradiš upit sa poljima broj knjižice,prezime ime itd. (iz baze osiguranika) prvo polje ti je broj knjižice obavezno i onda u code upisuješ proces upisa u polja gde kažeš polje recimo prezime jednako je koloni 1 upita itd. Ako ti nije jasno javi napisaćuti code. Dobro si ukapirao kada laser bar kod čitača pređe preko knjižice (bar coda) on upiše vrednost svejedno je da li je to word,excel ili access bitno je da je u polju na kojem ti je postavljen event. On će ti upisivati i vrednosti u nekom drugom polju ako je na tom polju focus i oni provlače bar cod knjižice
[ zliki @ 26.03.2010. 13:26 ] @
OK,
jasno mi je sada, hvala na odgovoru. Jos da nabavim citac koda... Veliki pozdrav [ zliki @ 17.05.2010. 13:38 ] @
Svima onima koji su pratili temu saljem aplikaciju sa korigovanim kodom za kreiranje XML el. fakture za usluge prema RZZO-u.
Preuzmite aplikaciju i bazu, linkujte tabele i isprobajte kod. password je 'a'. Pozdrav Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|