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
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
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
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
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.
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.
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
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]