STRING DE CONEXAO
Amigos, tenho um sistema que desenvolvi no Access2000 que estou migrando para o Access2010, tendo em vista ter mais recursos e ser mais robusto.
Já fiz a importação de todas as tabelas, formulários, relatórios e módulos.
Acontece que a empresa que utiliza este sistema, utiliza uma base de dados em dbf a qual é atualizada semanalmente pela matriz. Por esta razão tenho uma rotina para, quando necessário, acessar esta base dados.
Na versão do access2000 funciona direitinho, mas na versão do access2010 dá erro.
Na versão do Access2000, utilizo a seguinte string de conexão:
SQL = [Ô]SELECT CONTRIB.GFCDSERV, CONTRIB.GFDVSERV FROM CONTRIB WHERE (((CONTRIB.GFCDSERV)=[ô][Ô] & SaramAux & [Ô][ô]))[Ô]
Rs.Open SQL, Cn, adOpenStatic, adLockReadOnly, adCmdText
Na versão do Access2010 ele não reconhece o método rs.open
Alguém poderia me ajudar, desde já agradeço
Já fiz a importação de todas as tabelas, formulários, relatórios e módulos.
Acontece que a empresa que utiliza este sistema, utiliza uma base de dados em dbf a qual é atualizada semanalmente pela matriz. Por esta razão tenho uma rotina para, quando necessário, acessar esta base dados.
Na versão do access2000 funciona direitinho, mas na versão do access2010 dá erro.
Na versão do Access2000, utilizo a seguinte string de conexão:
SQL = [Ô]SELECT CONTRIB.GFCDSERV, CONTRIB.GFDVSERV FROM CONTRIB WHERE (((CONTRIB.GFCDSERV)=[ô][Ô] & SaramAux & [Ô][ô]))[Ô]
Rs.Open SQL, Cn, adOpenStatic, adLockReadOnly, adCmdText
Na versão do Access2010 ele não reconhece o método rs.open
Alguém poderia me ajudar, desde já agradeço
Isto não é String de Conexão.
Coloque como está fazendo a conexão com o banco.
Ai a resposta vai ser rápida.
Coloque como está fazendo a conexão com o banco.
Ai a resposta vai ser rápida.
qual a sua string de conexão?
você colocou somente a query de consulta que pode ser utilizada da seguinte forma também
SQL = [Ô]SELECT GFCDSERV, GFDVSERV FROM CONTRIB WHERE GFCDSERV = [ô][Ô] & SaramAux & [Ô][ô][Ô]
Rs.Open SQL, Cn, adOpenStatic, adLockReadOnly
você colocou somente a query de consulta que pode ser utilizada da seguinte forma também
SQL = [Ô]SELECT GFCDSERV, GFDVSERV FROM CONTRIB WHERE GFCDSERV = [ô][Ô] & SaramAux & [Ô][ô][Ô]
Rs.Open SQL, Cn, adOpenStatic, adLockReadOnly
Primeiro chamo a função para conectar ao banco:
Public Sub Conecta()
Dim db As Database
Dim Local As String
Set db = DBEngine.Workspaces(0).Databases(0)
Set RS = db.OpenRecordset([Ô]Select LocalComar FROM LOCAL_BD[Ô])
If Not RS.EOF Then
Local = RS!LocalComar & GuardaNome
End If
On Error GoTo TrataErro
Set Cn = New Connection
Cn.Open [Ô]Provider=MSDASQL.1;Persist Security Info=False;Mode=Read;Extended Properties=DSN=Arquivos do dBASE;DBQ=[Ô] & Local & [Ô];DefaultDir=[Ô] & Local & [Ô];DriverId=533;MaxBufferSize=2048;PageTimeout=5[Ô]
Conectado = True
Exit Sub
TrataErro:
If Err.Number = -2147467259 Then
Err.Clear
Screen.MousePointer = 0
MsgBox [Ô]Não foi possÃvel conectar com a Base de Dados.[Ô] & Chr(13) & [Ô]Por favor, solicite suporte técnico ao Supervisor do Sistema.[Ô], vbCritical, [Ô]ERRO DE CONEXÃO[Ô]
Erro = True
End If
End Sub
Se a conexão for concluÃda, aà então eu faço o select na tabela para consulta dos dados, utilizando a instrução já mencionada.
O problema é que o método open não está disponÃvel, não sei se tenho que referenciar alguma bliblioteca que não é necessária no access 2000 mas que é necessária na versão 2010.
Public Sub Conecta()
Dim db As Database
Dim Local As String
Set db = DBEngine.Workspaces(0).Databases(0)
Set RS = db.OpenRecordset([Ô]Select LocalComar FROM LOCAL_BD[Ô])
If Not RS.EOF Then
Local = RS!LocalComar & GuardaNome
End If
On Error GoTo TrataErro
Set Cn = New Connection
Cn.Open [Ô]Provider=MSDASQL.1;Persist Security Info=False;Mode=Read;Extended Properties=DSN=Arquivos do dBASE;DBQ=[Ô] & Local & [Ô];DefaultDir=[Ô] & Local & [Ô];DriverId=533;MaxBufferSize=2048;PageTimeout=5[Ô]
Conectado = True
Exit Sub
TrataErro:
If Err.Number = -2147467259 Then
Err.Clear
Screen.MousePointer = 0
MsgBox [Ô]Não foi possÃvel conectar com a Base de Dados.[Ô] & Chr(13) & [Ô]Por favor, solicite suporte técnico ao Supervisor do Sistema.[Ô], vbCritical, [Ô]ERRO DE CONEXÃO[Ô]
Erro = True
End If
End Sub
Se a conexão for concluÃda, aà então eu faço o select na tabela para consulta dos dados, utilizando a instrução já mencionada.
O problema é que o método open não está disponÃvel, não sei se tenho que referenciar alguma bliblioteca que não é necessária no access 2000 mas que é necessária na versão 2010.
Referenciar a seguinte objeto
Microsoft ActiveX Data Objects 2.5 Library
ou
Microsoft ActiveX Data Objects 2.8 Library
Eu utilizo a Microsoft ActiveX Data Objects 2.8 Library
Quanto a String de Conexão o banco esta em um servidor? você pode mudar a string de conexão para
vConexao = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Local;Persist Security Info=False[Ô]
Microsoft ActiveX Data Objects 2.5 Library
ou
Microsoft ActiveX Data Objects 2.8 Library
Eu utilizo a Microsoft ActiveX Data Objects 2.8 Library
Quanto a String de Conexão o banco esta em um servidor? você pode mudar a string de conexão para
vConexao = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Local;Persist Security Info=False[Ô]
Várias string[ô]s de conexão.
http://www.macoratti.net/con_ado.htm
http://www.macoratti.net/vbnetprv.htm
http://www.macoratti.net/con_ado.htm
http://www.macoratti.net/vbnetprv.htm
Tópico encerrado , respostas não são mais permitidas