Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gheraldo

Como criar um relatorio HTML no VB6?

Recommended Posts

oi pessoal!sou novo no forum, e já estou precisando muito da ajuda de vocês.tou desenvolvendo uma aplicação no VB6 e preciso gerar relatórios e gostaria de gerar esses relatórios em HTML, é possivel? alguem poderia me ajudar? Me ajudem por favor!!!.Ficarei muito gratoOw pessoal alguem ajuda ai! por favor!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, já ninguem postou nada, eu tive que correr, achei um exemplo no macoratti e fiz alguns ajustes e ficou perfeito.

Vou postar o código se alguem se interessar...

Dim fnum As IntegerDim num_fields As IntegerDim i As IntegerDim num_processados As IntegerPrivate Sub Form_Load() ' Abre o arquivo de saidaOn Error GoTo MiscError	fnum = FreeFile	Open "C:\Geraldo\arquivo.htm" For Output As #fnum		' Escreve o cabeçalho da página HTML	Print #fnum, "<HTML>"	Print #fnum, "<HEAD>"	Print #fnum, "<TITLE>Informe aqui o titulo</TITLE>"	Print #fnum, "</HEAD>"	Print #fnum, ""	Print #fnum, "<BODY TEXT=#000000 BGCOLOR=#CCCCCC>"	Print #fnum, "<H1>Página gerada pelo Visual Basic 6.0</H1>"	' Inicia a geração da tabela HTML	Print #fnum, "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=2 BGCOLOR=#00C0FF BORDER=1>"	' abre a base de dados	'Set db = opendatabase(txtDatabase.Text)	' Abre a tabela	ConnectRS.Open "Select * FROM Usuarios", CON, adOpenStatic, adLockOptimisticIf Not RS.EOF ThenUsuario = RS("Usuario")End If	' Usa o nome dos campos como cabeçalho das colunas	Print #fnum, "	<TR>"	 ' inicia uma linha	num_fields = RS.Fields.Count	For i = 0 To num_fields - 1		Print #fnum, "		<TH>";		Print #fnum, RS.Fields(i).Name;		Print #fnum, "</TH>"	Next i	Print #fnum, "	</TR>"	' processa os registros da tabela	Do While Not RS.EOF		num_processados = num_processados + 1		' Começa uma nova linha		Print #fnum, "	<TR>";		For i = 0 To num_fields - 1			Print #fnum, "		<TD>";			Print #fnum, RS.Fields(i).Value;			Print #fnum, "</TD>"		Next i		Print #fnum, "</TR>";		RS.MoveNext	Loop	' Encerra a tabela	Print #fnum, "</TABLE>"	Print #fnum, "<P>"	Print #fnum, "<H3>" & _		Format$(num_processados) & _		" registros processados.</H3>"	Print #fnum, "<HR COLOR=C000C0>"	Print #fnum, "<A HREF=http://www.geocities.com/SiliconValley/Bay/3994>JcmSoft</A>."	Print #fnum, "</BODY>"	Print #fnum, "</HTML>"	' Fecha a tabela e a base de dados	  	  Close fnum		MsgBox "Foram Processados " & _		Format$(num_processados) & " registros.", vbExclamation, "JcmSoft"	WebBrowser1.Navigate2 "C:\Geralddo\arquivo.htm"	  	Exit SubMiscError:	MsgBox "Error " & Err.Number & _		vbCrLf & Err.DescriptionEnd Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe por reabrir o tópico antigo... Mas é que eu tentei usar esse código utilizado pelo nosso amigo Geraldo, com as alterações necessárias, porem no final das contas ele não tah criando o arquivo html na pasta que eu designei... Eu toh usando o vb6 no Windows 7. Alguem pode me ajudar? Se necessário postarei aqui o código que eu usei.

 

Private Sub GeraHTML()

 

Dim fnum As Integer

Dim num_fields As Integer

Dim i As Integer

Dim num_processados As Integer

 

' Abre o arquivo de saida

On Error GoTo MiscError

 

fnum = FreeFile

 

Open "C:\arquivo.htm" For Output As #fnum

 

' Escreve o cabeçalho da página HTML

Print #fnum, "<HTML>"

Print #fnum, "<HEAD>"

Print #fnum, "<TITLE>Aniversariantes</TITLE>"

Print #fnum, "</HEAD>"

 

Print #fnum, ""

Print #fnum, "<BODY TEXT=#000000 BGCOLOR=#CCCCCC>"

Print #fnum, "<H1>Página gerada pelo Visual Basic 6.0</H1>"

 

' Inicia a geração da tabela HTML

Print #fnum, "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=2 BGCOLOR=#00C0FF BORDER=1>"

 

' abre a base de dados

'Set db = opendatabase(txtDatabase.Text)

 

' Abre a tabela

 

Dim RsTemp As New ADODB.Recordset

 

Set RsTemp = Cn.Execute("SELECT Codigo, NomeAluno, DataNascimento FROM Alunos WHERE DATEPART('m',Alunos.DataNascimento) = " & (frmRelAniversariantes.cboMes.ListIndex + 1))

If RsTemp.EOF Then

GoTo Final

End If

 

' Usa o nome dos campos como cabeçalho das colunas

Print #fnum, " <TR>" ' inicia uma linha

num_fields = RsTemp.Fields.Count

For i = 0 To num_fields - 1

Print #fnum, " <TH>";

Print #fnum, RsTemp.Fields(i).Name;

Print #fnum, "</TH>"

Next i

Print #fnum, " </TR>"

 

' processa os registros da tabela

Do While Not RsTemp.EOF

num_processados = num_processados + 1

' Começa uma nova linha

Print #fnum, " <TR>";

 

For i = 0 To num_fields - 1

Print #fnum, " <TD>";

Print #fnum, RsTemp.Fields(i).Value;

Print #fnum, "</TD>"

Next i

Print #fnum, "</TR>";

 

RsTemp.MoveNext

Loop

 

' Encerra a tabela

Print #fnum, "</TABLE>"

Print #fnum, "<P>"

Print #fnum, "<H3>" & _

Format$(num_processados) & _

" registros processados.</H3>"

Print #fnum, "<HR COLOR=C000C0>"

'Print #fnum, "<A HREF=http://www.geocities.com/SiliconValley/Bay/3994>JcmSoft</A>."

 

Print #fnum, "</BODY>"

Print #fnum, "</HTML>"

 

' Fecha a tabela e a base de dados

Final:

RsTemp.Close

Close fnum

 

MsgBox "Foram Processados " & Format$(num_processados) & " registros.", vbExclamation, "JcmSoft"

 

Exit Sub

 

MiscError:

MsgBox "Error " & Err.Number & _

vbCrLf & Err.Description

 

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

está criando em outra pasta ou não cria de fato?

Compartilhar este post


Link para o post
Compartilhar em outros sites

está criando em outra pasta ou não cria de fato?

 

Não cria de forma alguma... Ele busca certinho jah acompanhei o passo a passo, só não gera o arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.