Newsgroup: it.comp.lang.visual-basic
Titolo: Report in HTML

Ciao,
vorrei creare un report in HTML in modo tale che, 
tramite un normale editor html preparo la pagina e,
tramite dei tag particolari, imposto i dati da visualizzare.
Ad esempio:
<html>
<body>
<table>
<tr>
<td>{Valore 1}</td>
<td>{Valore 2}</td>
<td>{Valore 3}</td>
</tr>
</table>
</body>
</html>
Qualcuno ha qualche suggerimento in merito?

Ciao... quello che vuoi fare esiste già e sono i fogli di stile XML ovvero
XSL o CSS...
                    Ciao
                                    Allanon
--
- SPAMKILLER
 L'indirizzo delle risposte é 
itlangv...@michele.sytes.net
 LASCIATE il NOSPAM fa parte dell'indirizzo :-)
  Per superare le impostazioni di protezione antispam scrivete
  nel testo del messaggio la scritta "SPAMKILLER"
Scusate il disturbo, ma non posso più di pubblicità

"babsevensix" <babse...@hotmaIl.com> ha scritto

suppongo che tu intenda tramite vb.
Public Sub HtmlListaB()
    Dim time1: time1 = Timer
    Dim rs As Recordset
    Set rs = MainDB.OpenRecordset("bib")
    rs.Index = "nomebiblio"
    Dim fName As String, fName2 As String, fShortName As String, fNum As
Long, sAttiva As String
    fName = App.Path & "\html\lista_bib.html"
    fNum = FreeFile
    Open fName For Output As #fNum
    Print #fNum, hHeader
    Print #fNum, "<p><b>Biblioteche del polo SBN di Modena" & " - " & Now
    Print #fNum, "<br>Biblioteche: " & recCount("bib") & "</b>"
    Print #fNum,
    With rs
        Do While Not .EOF
'If !in_sbn Then
            fName2 = App.Path & "\biblio\" & _
                "s" & CStr(!idsist) & "_b" & CStr(!idbiblio) & ".html"
            fShortName = "biblio/" & _
                "s" & CStr(!idsist) & "_b" & CStr(!idbiblio) & ".html"
            Print #fNum, "<br>"
            Print #fNum, "<p><b><a href=javascript:pow('" & _
                "../" & fShortName & "'); onmouseover=" & Chr$(34) & _
                "window.status='Scheda relativa a: " &
Replace(Trim(!nomebiblio), "'", " ") & "'; return true" & _
                Chr$(34) & ">" & Trim(!nomebiblio) & _
                "</b></a>"
            Print #fNum, "<br><b>(" & !nomesist & ")</b>"
            sAttiva = IIf(!attiva, "SI", "NO")
            Print #fNum, "<br><b>Attivo in SBN: " & sAttiva & "</b>"
            Print #fNum, "<br>Indirizzo: " & Trim(!indirizzo) & ", " &
Trim(!cap) & "&nbsp;" _
                & Trim(!citta) & "  - " & Trim(!PV)
            Print #fNum, "<br>Tel: " & Trim(!tel)
            Print #fNum, "<br>Fax: " & Trim(!fax)
            If Len(Trim(!email)) > 0 Then
                Print #fNum, "<br>Email: <a href=mailto:" _
                & LCase(Trim(!email)) & ">" & LCase(Trim(!email)) & "</a>"
            Else
                Print #fNum, "<br>Email:"
            End If
            If Len(Trim(!web)) > 0 Then
                Print #fNum, "<br>Web: <a href=" _
                & LCase(Trim(!web)) & " target=_blank>" & LCase(Trim(!web))
& "</a>"
            Else
                Print #fNum, "<br>Web:"
            End If
            Print #fNum, "<br>Resp.: " & Trim(!resp)
            Print #fNum, "<br>Ref. SBN: " & Trim(!ref_sbn)
            Print #fNum, "<br>Ref. Cat.: " & Trim(!ref_cat)
            Print #fNum, "<br>Ref. Per.: " & Trim(!ref_per)
            Print #fNum, "<br>Ref. Prest.: " & Trim(!ref_prest)
            If Len(Trim(!appunti)) > 0 Then _
                Print #fNum, "<br>Note: " & Trim(!appunti)
            Print #fNum,
'End If
            .MoveNext
            DoEvents
        Loop
    End With
    Print #fNum, hFooter
    Close #fNum
    rs.Close: Set rs = Nothing
    ShellExecute frmMain.hWnd, vbNullString, fName, vbNullString, "c:\",
SW_SHOWNORMAL
End Sub
il risultato lo vedi in
http://polo.cedoc.mo.it
nell'indice -> biblioteche.
le altre liste sono gestite in modo simile, sempre come tabelle relate di un
mdb.
ciao

a.p wrote:

Grazie per il suggerimento...


ma in questo modo per modificare il file dei passare da codice.
Paolo


 ma in questo modo per modificare il file dei passare da codice.
non sono sicuro di aver capito. cmq:
in sostanza, stampo un file di testo che contiene i tag html con i valori
estratti da una o piu' tabelle.
l'html puo' essere agganciato a un css, basta che ragioni sul percorso
relativo e quello stampi nel file.
ovviamente, sia sul txt che sulla tabella ci sto un po' a pensare su _prima_
di partire.
con lo stesso sistema gestisco i links da me, v. url in firma.
per modificare le pagine html, di solito modifico la tabella: aggiungo,
salvo, edito...
poi ristampo _tutti_ i file (la shellexec nell'esempio che ti ho postato e'
solo per comodita' in quel caso), ma posso stamparne una sola pagina, ecc
ecc, secondo il bisogno.
per i links, da me nella cartella dell'exe c'e' una cartella html: butto
tutti i file li' dentro, poi li carico tutti insieme sul sito. nella
cartella ci sono anche le eventuali immagini necessarie, ma anche queste te
le puoi gestire con percorsi relativi.
per ca 2300 link ci vuole nel complesso meno tempo (un paio di minuti) che a
modificare a mano una-due pagine, e i dati li ho sempre nel db, dove posso
usare query, find ecc.
dovessi cercarli come stringhe nelle varie pagine diventerei matto...
al codice devo mettere mano se decido di cambiare l'impostazione della
pagina.
p.e., probabilmente dai link togliero' la data di ogni sezione, dato che ora
sono tutte uguali.
per questo cerco di astrarre elementi ripetibili tipo header/footer,
copyright ecc.
comunque non era _la_ soluzione, solo una proposta.
quando i dati sono in una tabella, ho visto che a me risulta comodo partire
lungo e poi avere un'impostazione abbastanza strutturata.
ma non detto che sia cosi' anche per te.
l'importante e' che ci ragioni sopra un po' :)
--
ciao
http://www.sundaysw.com

Quello che volevo era, tramite un normalissimo editor HTML creare
una pagina HTML che funge da template per visualizzare dei dati.
Quindi, creo il file HTML come quello d'esempio con un normale editor.
Dopodichè da codice creo un file HTML che si basa sul template precedente 
rimpiazzando al posto dei tag particolari ({Valore 1}) i valori estrapolati 
da database o da altro.


 da database o da altro.
direi che, senza ricorrere a vb, puoi usare stampa unione di word, legandolo
a un mdb un xls o una tabella doc.
o il sistema che ti ho detto.
vedi tu quale ti torna piu' pratico.
ciao

 Grazie per il suggerimento...
Il prossimo suggerimento è di imparare a quotare
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

 


 Zanna wrote:
Sě, ma... fallo in fretta >:)
