ERRO EXPORTAR ARQUIVO

ALTAIR148 05/03/2011 19:02:27
#367345
Eu usava o código abaixo para exportar dados de tabelas no access, mas agora estou migrando meu sistema para vb6. As tabelas elas estão em mysql. Eu crio a conexão até ai tudo bem, mas sempre que mando executar dá o seguinte erro na linha em negrito

[txt-color=#e80000]Type mismatch[/txt-color]


http://www.vbmania.com.br/vbmania/vbmforum.php?varMethod=Abrir&varID=305429&varUltimaPagina=1#bottom


Private Sub Command1_Click()
Dim conn As ADODB.Connection
Dim DB As DAO.Database
Dim RSP As DAO.Recordset
Dim strSQL As String
Dim Sai As String
Dim RSP2 As DAO.Recordset
Dim strSQL2 As String
Dim Sai2 As String
Dim RSP3 As DAO.Recordset
Dim strSQL3 As String
Dim Sai3 As String
Dim ventrada1 As String * 4
Dim vsaida1 As String * 4
Dim ventrada2 As String * 4
Dim vsaida2 As String * 4
Dim Sai4 As String
Dim vhorario_geracao As String * 4


Dim vNome As String * 10
Dim vNome_empresa As String * 150
Dim vcodigo_funcionario As String * 10
Dim vCNPJ As String * 14
Dim vCEI_empregador As String * 12
Dim vdata_comeco As String * 8
Dim vdata_final As String * 8

Set conn = New ADODB.Connection
conn.ConnectionString = [Ô]Driver=MySQL ODBC 5.1 Driver; DATABASE=bd2; SERVER=127.0.0.1; UID=altair; PASSWORD=123[Ô]
conn.Open

Set DB = conn

strSQL = [Ô]SELECT nome_funcionario from cad_funcionario[Ô]
Set RSP = DB.OpenRecordset(strSQL)
strSQL = Application.CurrentProject.Path
Open strSQL & [Ô]\Teste.txt[Ô] For Output As #1

strSQL2 = [Ô]SELECT empresa, cnpj_empresa, cei_empresa from cad_empresa[Ô]
Set RSP2 = DB.OpenRecordset(strSQL2)
strSQL2 = Application.CurrentProject.Path

strSQL3 = [Ô]SELECT entrada1, saida1, entrada2, saida2 from cad_horarios[Ô]
Set RSP3 = DB.OpenRecordset(strSQL3)
strSQL3 = Application.CurrentProject.Path






[ô]Print #1, Sai2
With RSP2
teste1 = cont + 1
vCNPJ = (RSP2!cnpj_empresa)
vdata_comeco = Format(comeco, [Ô]DDMMYYYY[Ô])
vdata_final = Format(final, [Ô]DDMMYYYY[Ô])
vhorario_geracao = Format(horario_geracao, [Ô]hhmm[Ô])
[ô]vCEI_empregador = (RSP2!cei_empresa)
vNome_empresa = (RSP2!empresa)
Sai2 = Format(teste1, [Ô]000000000[Ô]) & 1 & 2 & vCNPJ & vCEI_empregador & vNome_empresa & vdata_comeco & vdata_final & vhorario_geracao
Print #1, Sai2
End With
[ô]Print #1, Sai4

With RSP3
.MoveFirst
Do While Not .EOF
cont2 = teste1 + 1
ventrada1 = (RSP3!entrada1)
vsaida1 = (RSP3!saida1)
ventrada2 = (RSP3!entrada2)
vsaida2 = (RSP3!saida2)
Sai4 = Format(cont2, [Ô]000000000[Ô]) & Format(ventrada1, [Ô]HHMS[Ô]) & Format(vsaida1, [Ô]HHMS[Ô]) & Format(ventrada2, [Ô]HHMS[Ô]) & Format(vsaida2, [Ô]HHMS[Ô])
Print #1, Sai4
teste1 = cont2
.MoveNext
Loop
End With

With RSP
.MoveFirst
Do While Not .EOF
cont1 = teste1 + 1
vNome = (RSP!nome_funcionario)
Sai = Format(cont1, [Ô]00000000[Ô]) & vNome
Print #1, Sai
teste1 = cont1
Sai3 = Format(teste1 + 1, [Ô]00000000[Ô])
.MoveNext
Loop
End With
Print #1, Sai3






MsgBox [Ô]Exportado com Sucesso, verifique junto ao banco...[Ô]
Set DB = Nothing
Set RSP = Nothing
Set RSP2 = Nothing
Close #1
Exit Sub
End Sub

Obrigado.
NETMANIA 06/03/2011 18:36:28
#367414
Retire o * tamanho que nunca vi isso no VB6. Tente usar direto a instrução string que não tem erro.
ALTAIR148 07/03/2011 09:49:12
#367444
Mas o erro é na parte que esta em negrito, não na string do tamanho.

Obrigado.
ALTAIR148 07/03/2011 15:17:26
#367469
Alguém conhece outra maneira mais simples de exportar dados de uma consulta para txt?

Obrigado
JEISONANTONI 09/03/2011 09:15:53
#367545
axo que seu erro pode ser pq o vb nao aceita DAO e ADO no mesmo projeto...

não sei se estou certo mas sempre ouvi dizer que os dois juntos nao funcionava.
HIDDEN 09/03/2011 11:00:14
#367553
Resposta escolhida
O problema está no tipo de dados. Não tem como instanciar uma variável usando ADO (Dim conn As ADODB.Connection) e atribui-la a uma variável DAO (Dim DB As DAO.Database). Vai dar erro de tipo incompatíveis de dados. Use apenas uma interface de acesso a dados para esta exportação.
TECLA 18/03/2011 20:32:29
#368477
Citação:

:
O problema está no tipo de dados. Não tem como instanciar uma variável usando ADO (Dim conn As ADODB.Connection) e atribui-la a uma variável DAO (Dim DB As DAO.Database). Vai dar erro de tipo incompatíveis de dados. Use apenas uma interface de acesso a dados para esta exportação.



Se você atentou para o comentário do colega, seu problema já deve ter sido resolvido.
Se o problema persiste, poste os detalhes aqui no fórum ou ENCERRE o tópico.
Tópico encerrado , respostas não são mais permitidas