Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Esportare in HTML: sentite questa idea! [lungo]

Ciao e buon sabato a tutti!!!
Poco tempo fa avevo chiesto consigli su come esportare in HTML i vari report
che utilizzo nella mia app, ovviamente leggendo le info da stampare da un db
sotto Access 2000. Mi sono state proposte diverse idee:
- stampa unione con Word
- scrivere manualmente un file HTML prelevando i dati dal db
- avevo pensato di usare ASP per creare pagine in locale (con PWS) per
formattare i dati
che ne pensate di usare XML? Mi spiego meglio.
Usando oggetti ADODB.Recordset e ADODB.Stream č possibile salvare
tabella/query in un file XML. Date un'occhiata al codice che ho scritto per
prova stamattina:
Tabella.Open "SELECT * FROM QueryFatture WHERE Provincia='FO'", Archivio,
adOpenForwardOnly, adLockReadOnly
Tabella.Save sXML, adPersistXML
StringaXML = sXML.ReadText
Tabella č un ADODB.Recordset e xSML č un ADODB.Stream
Dopo aver aperto una connessione, leggo la query QueryFatture con l'SQL
indicato........
poi metto il recordset risultante in uno stream XML e converto il tutto in
una stringa StringaXML.
Poi faccio cosě:
Open App.Path & "\Prova.xml" For Output As #1
Print #1, StringaXML
Close #1
In questo modo, dentro il file Prova.xml mi finisce l'XML del recordset. In
effetti, se lo apro con il blocco note ottengo un XML contenente tutti i
record/campi del recorset.
A questo punto mi basterebbe creare qualche file XSL per formattare i dati
come voglio io, usando i costrutti giusti al posto giusto.
Vi sembra una buona idea? Che ne dite?
--
Damiani Liborio Igor
ig...@igordamiani.it
 - 
dam...@italiainfiera.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262
---
"Tu devi capire che lei č nuova a queste cose..."
"Bhč, e che cosa ci vuole?"
"Ci vuole, ci vuole, č questione di orizzonti che non č abituata a
vedere..."
Una persona che conosco, 8 Novembre 2002

 Tabella.Save App.Path & "\Prova.xml", adPersistXML
Ed č tutto...
Ciao.
-- 
BSD is for UNIX lovers -- linux is for Windows haters.

grazie della dritta. Faccio a meno di usare l'oggetto ADODB.Stream......
un'ultimo consiglio: prima, con il codice che ho postato io, usando lo
Stream,  non mi accettava il carattere "°" come valore.......mi spiego
meglio:
 <z:row ID='5' NumeroFattura='234' DataFattura='2000-05-24T00:00:00'
RagioneSociale='Premiata RagioneSociale Tuttamia'
   Indirizzo='Via Rossi, 1' CAP='47100' Citta='FORLI&#x27;' Provincia='FO'/>
questo è una riga di esempio presa dal mio XML. Se nell'indirizzo c'era una
cosa tipo:
Via Umberto I°, 23
il file XML risultante non era valido. IE si rifiutava di visualizzarmelo.
Ripeto, questo succedeva con il codice che ho postato io, mentre con il
codice che mi hai dato tu, che fa a meno di passare dall'oggetto Stream,
questo non succede più. Mi sai dire il motivo?
Ho provato anche a vedere la proprietà Charset di ADODB.Stream, ma niente da
fare......
grazie ancora, comunque, good coding!!!
--
Damiani Liborio Igor
ig...@igordamiani.it
 - 
dam...@italiainfiera.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262
---
"Tu devi capire che lei è nuova a queste cose..."
"Bhè, e che cosa ci vuole?"
"Ci vuole, ci vuole, è questione di orizzonti che non è abituata a


 Charset di ADODB.Stream, ma niente da fare......
In cosa differiscono i due file XML ottenuti con i due metodi
(salvataggio diretto da recordset e passaggio attraverso
Stream) dove è presente il carattere °?
Probabilmente il salvataggio diretto si occupa dei caratteri non
validi, mentre nel caso di passaggio attraverso Stream dovresti
occupartene tu prima di salvare la stringa.


è quello che ho pensato io, solo che mi veniva naturale pensare che fosse il
contrario cioè:
- se uso Stream, allora i caratteri non validi mi vengono filtrati e
codificati per la visualizzazione in IE
- se invece salvo direttamente dall'obj Recordset, allora devo fare io tutta
la gestione
invece no, è esattamente il contrario, cioè come mi hai indicato tu!
beh, poco male, l'importante è saperlo!!!!
grazie ancora e ciao!!!
buona domenica!!!
