Notifications
Clear all

Conexão Perdida

3 Posts
2 Usuários
0 Reactions
1,708 Visualizações
(@leandromar)
Posts: 5
Active Member
Topic starter
 

Pessoal,

Tenho um formulário de pesquisa de processos que através de duas datas me retorna em uma listview com todos os processos entre essas datas. Faço essa pesquisa via SQL.

Aqui em casa tudo corre bem e até um certo momento no trabalho tudo corria bem, porém de uma semana para cá a pesquisa me retorna um erro que desconheço a solução e gostaria que alguém me ajudasse.

Segue o código até onde o erro aparece:

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

Dim strDB As String
Dim strSQL As String
Dim n As Long
Dim DadoPesquisado As String
Dim dtinicial As Date
Dim dtfinal As Date

DadoPesquisado = ComboBox1.Value
'Instancia-se uma nova Conexão e um novo RecordSet:
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset

'Caminho da Pasta de Trabalho:
strDB = CStr(ThisWorkbook.FullName)

'Aqui cria-se a cadeia de conexão. Note que ela pode
'variar em função da versão do Excel utilizado:
If Val(Application.Version) < 12 Then
cn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strDB & ";" & _
"Extended Properties=Excel 8.0"
Else
cn.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & strDB & ";" & _
"Extended Properties=Excel 8.0"
End If
cn.Open 'Abre a conexão

'Consulta SQL a ser feita. Observe o símbolo de $ feita
'ao fim de cada nome de tabela.
dtinicial = Format(DTPicker1, "mm/dd/yyyy")
dtfinal = Format(DTPicker2, "mm/dd/yyyy")
Sheets(3).Columns(27).NumberFormat = "mm/dd/yyyy"
'Sheets(3).Visible = True
'Sheets(3).Select
strSQL = _
"SELECT [Processos$].Indice, [Processos$].Proponente1, [Processos$].Carta, [Processos$].CompraVenda, [Processos$].DataAssinatura " & _
"FROM [Processos$] " & _
"WHERE DataAssinatura BETWEEN #" & dtinicial & "# AND #" & dtfinal & "# " & _
"AND Carta = '" & DadoPesquisado & "' " & _
"ORDER BY DataAssinatura"

'Executa consulta
Set rs = cn.Execute(strSQL)
AQUI APARECE O ERRO

"Erro em tempo de execução: '-2147467259' (80004005)
A conexão para visualização da Planilha Microsoft Excel foi perdida"

Alguém saberia uma solução para isso?

 
Postado : 21/03/2015 6:47 am
benzadeus
(@benzadeus)
Posts: 78
Trusted Member
 

Altere:

dtinicial = Format(DTPicker1, "mm/dd/yyyy")
dtfinal = Format(DTPicker2, "mm/dd/yyyy")

para:

dtinicial = clng(cdate(DTPicker1))
dtfinal = clng(cdate(DTPicker2))

e

"WHERE DataAssinatura BETWEEN #" & dtinicial & "# AND #" & dtfinal & "# " & _

para:

"WHERE DataAssinatura BETWEEN dtinicial & AND & dtfinal & " " & _

Certifique-se que toda coluna que possui datas contém valores que são datas válidas e formatadas como Data, Geral ou Número.

Felipe Costa Gualberto
Microsoft Excel MVP
http://www.ambienteoffice.com.br

 
Postado : 24/03/2015 1:16 pm
(@leandromar)
Posts: 5
Active Member
Topic starter
 

Benzadeus, fiz conforme orientou e me retornou um erro: "Erro de compilação, Erro de Sintaxe"

Acertei a expressão de consulta que ficou da seguinte forma: "WHERE DataAssinatura BETWEEN " & dtinicial & " AND " & dtfinal & " " & _

Mas o problema persiste
Erro em tempo de execução '-2147467259 (80004005)' :
"A conexão para visualização da planilha Microsoft Excel vinculada foi perdida"

Em casa funciona normalmente porém no trabalho, nada!!!

 
Postado : 31/03/2015 10:59 am