Criando um Banco de dados e Gerando HTML ? 

Você já precisou criar um banco de dados usando DAO e SQL e a seguir exibir os dados de uma tabela em uma página HTML. Pode parecer uma tarefa espinhosa , mas com o VB fica fácil obter o resultado. Vejamos:

1-) Inicie um novo projeto no VB e no formulário padrão insira os seguintes controles: três textbox , três labels e dois botões de comando , como no layout abaixo:

2-) Insira um módulo no seu projeto e inclua o seguinte código no módulo:

' declaracao ShellExecute para executar os arquivos associados com sua extensao
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
' Constantes usadas pela funcao
Public Const SW_SHOWNORMAL = 1
Public Const SW_SHOWMINIMIZED = 2
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_SHOW = 5
Public Const SW_MINIMIZE = 6
Public Const SW_SHOWMINNOACTIVE = 7
Public Const SW_SHOWNA = 8
Public Const SW_RESTORE = 9
Public Const SW_SHOWDEFAULT = 10

3-) Na seção General declarations do formulário digite o código a seguir:

Dim Cabecalho As String
Dim Rodape As String
Dim DataString As String
Dim BuiltString As String

4-) No formulário padrão insira o seguinte código no evento Click do botão de comando - Continua :

Private Sub cmdContinua_Click()
' chama a rotina que vai criar o banco de dados

If txtbd <> "" And txttabela <> "" Then
   CriaDB
Else
   Exit Sub
End If

' define as variaveis objeto : database e recordset
Dim dbs As Database
Dim rs As Recordset

'define o caminho do banco de dados
Set dbs = OpenDatabase(txtbd)

' inclui alguns registros no banco de dados
dbs.Execute " INSERT INTO " & txttabela & "(Nome,Endereco, Email) VALUES "  & "('Jose', 'R Lins , 100','Limai@uol.com.br');"
dbs.Execute " INSERT INTO " & txttabela & "(Nome,Endereco, Email) VALUES " & "('ALine', 'R. XV Janeiro , 19', 'Aline@net.com');"
dbs.Execute " INSERT INTO " & txttabela & "(Nome,Endereco, Email) VALUES " & "('Jorge', 'R. Mirassol , 100', 'jorge@bol.com');"
dbs.Execute " INSERT INTO " & txttabela & "(Nome,Endereco, Email) VALUES " & "('Sheila', 'Av. 12 , 10', 'sheila@gov.org');"

' abre o recordset
Set rs = dbs.OpenRecordset("SELECT * FROM " & txttabela & " ORDER BY Nome")
   ' precorre os registros construindo uma string com os dados
     rs.MoveFirst
While Not rs.EOF
    With rs
        DataString = DataString & "<FONT FACE=""TAHOMA"" SIZE=""-1"">" & .Fields("Nome") & "</FONT></TD><TD> " _
        & "<FONT FACE=""TAHOMA"" SIZE=""-1"">" & .Fields("Endereco") & " </FONT></TD><TD> " _
        & "<FONT FACE=""TAHOMA"" SIZE=""-1"">" & .Fields("email") & " </FONT></TD></TR><TR><TD> "
        .MoveNext
    End With
Wend
' fecha o banco de dados
dbs.Close

define_cabecalho_rodape

' cria o arquivo html
Open txthtml For Output As #1
Print #1, Cabecalho
Print #1, DataString
Print #1, Rodape
Close 1

msg = "O arquivo " & txthtml & " foi criado com sucesso."
msg = msg & vbCrLf & "Vamos exibir o arquivo usando o se navegador padrao."
MsgBox msg, 0, "Informação"
' exibe o arquivo html
ShellExecute Me.hwnd, vbNullString, txthtml, vbNullString, "C:\", SW_SHOWNORMAL
End Sub

5-) Ainda no formulário padrão inclua o seguinte código referente a rotina que irá criar o banco de dados:

' cria o banco de dados
Public Sub CriaDB()
Dim wrkDefault As Workspace
Dim dbsNew As Database
Dim prpLoop As Property

' define Workspace padrao
Set wrkDefault = DBEngine.Workspaces(0)

If Dir(txtbd) <> "" Then Kill txtbd

' Cria um banco de dados criptografado
Set dbsNew = wrkDefault.CreateDatabase(txtbd, dbLangGeneral, dbEncrypt)

' cria a tabela com tres campos do tipo texto
dbsNew.Execute "CREATE TABLE " & txttabela & "(Nome TEXT, Endereco TEXT, Email TEXT);"

' fecha o banco de dados
dbsNew.Close
End Sub

6-) Agora a rotina que irá definir o cabeçalho e o rodapé do arquivo HTML.

Private Sub define_cabecalho_rodape()
' define o Cabecalho
Cabecalho = "<HTML><TITLE>Criando um Banco de dados e Gerando HTML</TITLE>"
Cabecalho = Cabecalho & "<HEAD>Os dados exibidos foram extraidos da Tabela : " & UCase(txttabela) & "</HEAD>"
Cabecalho = Cabecalho & "<BODY><BR><BR>Nome do Banco de dados : " & UCase(txtbd) & "<BR><BR><TABLE BORDER=1 WIDTH=400>"
Cabecalho = Cabecalho & "<TR><TD><B>Nome</B></TD>"
Cabecalho = Cabecalho & "<TD><B>Endereco</B></TD><TD><B>"
Cabecalho = Cabecalho & "Email</B></TD></TR><TR><TD>"
' atribui o Rodape - rodape
Rodape = "</FONT></TABLE><BR><BR><A HREF=""mailto:macoratti@riopreto.com.br"">Email me</A></BODY></HTML>"
End Sub

7-) Finalmente a rotina para encerrar o aplicativo:

Private Sub cmdSair_Click()
  Unload Me
  End
End Sub

Funciona assim:

1- Você deve informar o nome e caminho do Banco de dados que deseja criar e o nome da tabela onde iremos criar os dados.

2- A seguir você define o caminho e o nome do arquivo HTML que vai gerar

Usamos SQL para criar o tabela : "CREATE TABLE " & txttabela & "(Nome TEXT, Endereco TEXT, Email TEXT);"

e para inserir os dados na mesma:

dbs.Execute " INSERT INTO " & txttabela & "(Nome,Endereco, Email) VALUES "  & "('Jose', 'R Lins , 100','Limai@uol.com.br');"
dbs.Execute " INSERT INTO " & txttabela & "(Nome,Endereco, Email) VALUES " & "('ALine', 'R. XV Janeiro , 19', 'Aline@net.com');"
dbs.Execute " INSERT INTO " & txttabela & "(Nome,Endereco, Email) VALUES " & "('Jorge', 'R. Mirassol , 100', 'jorge@bol.com');"
dbs.Execute " INSERT INTO " & txttabela & "(Nome,Endereco, Email) VALUES " & "('Sheila', 'Av. 12 , 10', 'sheila@gov.org');"

depois definimos o cabeçalho e o rodapé do arquivo e geramos o arquivo HTML usando as funções de tratamento de arquivos clássicas:

Open txthtml For Output As #1
Print #1, Cabecalho
Print #1, DataString
Print #1, Rodape
Close 1

Por último usamos a função ShellExecute (definida no módulo) para exibir o arquivo  HTML  gerado:

ShellExecute Me.hwnd, vbNullString, txthtml, vbNullString, "C:\", SW_SHOWNORMAL

Abaixo o resultado do processamento :( para o meu exemplo )

Até mais...