CONEXAO BANCO ACCESS

CYBERMAC 08/11/2013 14:36:54
#430922
Amigos,

Boa tarde!

Estou fazendo conexão com banco de dados access, porém a mensagem de erro que ocorre é:

Run Timer error [ô]13[ô]:

Type mismatch

Minhas linhas de código estão da seguinte forma:

Private Sub Form_Load()
Global senha, semana, mtipopes As String
Global minhadata As Date
Global banco As Database
Global tpessoas As Recordset


[ô] PREPARA PARA PEGAR DATA DO SISTEMA
minhadata = Weekday(Date)
Call diasemana

[ô] frmLogin.Show 1

[ô] CRIA AMBIENTE DE BANCO DE DADOS
Set banco = OpenDatabase(App.Path + [Ô]\DBDADOS.MDB[Ô], False, False)
Set tpessoas = banco.OpenRecordset([Ô]pessoas[Ô])

End Sub

MARCELO.TREZE 08/11/2013 14:42:11
#430924
você fez referência a microsoft DAO 3.51 e project/references
CYBERMAC 08/11/2013 14:57:03
#430927
Fiz a referência DAO 3.6
KWIIBY 08/11/2013 18:56:21
#430936
em que linha dá este erro?
CYBERMAC 11/11/2013 08:12:29
#430959
Está nesta linha: Set tpessoas = banco.OpenRecordset([Ô]pessoas[Ô])
ALVAROVB2009 11/11/2013 12:34:44
#430971
Resposta escolhida
Cybermac esse é um típico erro de conversão, já peguei muito isso nos meus projetos, o que pode estar acontecendo é que existe algum tipo de dado que ele não esteja conseguindo converter, algo que não posso estar nulo na tabela e ele esta por exemplo, pq nesse caso ele esta tentando acessar um registro inválido, talvez seja até mesmo o primeiro registro

Da uma olhada se não é isso
CYBERMAC 11/11/2013 13:33:39
#430975
Infelizmente ainda não deu certo.

Ao executar o projeto com o F5, o a mensagem de Tipo incompatível aparece na linha on estou criando o ambiente para a tabela pessoas, neste caso:

Set tpessoas = banco.OpenRecordset([Ô]pessoas[Ô]) .

Vlw pessoal e obrigado pela ajuda.
OMAR2011 11/11/2013 14:10:40
#430976
Adiciona seu projeto, ai o pessoal vai verificar.
Apenas o necessário.
Fiz um teste aqui é não apresentou erro, porém tive que tirar as declarações do Load.
Eu declaro desta forma.
Global Banco As DAO.Database
Global tpessoas As DAO.Recordset
Isto num modulo.
ALVAROVB2009 11/11/2013 14:47:38
#430982
CYBERMAC coloca o seu banco aqui para testar, pq eu usei a mesma referencia que vc usou, só criei em um módulo as variáveis globais e deixei no load do form a abertura do banco e da tabela, e funcionou certinho e usei um banco antigo que eu tenho em access


Ficou assim no Módulo
Option Explicit
Global Banco As Database
Global tpessoas As Recordset



Ficou assim no form
Private Sub Form_Load()
[ô] CRIA AMBIENTE DE BANCO DE DADOS
Set Banco = OpenDatabase([Ô]C:\Programas\Mercado Marisa\Mercado.MDB[Ô], False, False)
Set tpessoas = Banco.OpenRecordset([Ô]cliente[Ô])
End Sub

CYBERMAC 11/11/2013 15:41:55
#430986
Pessoal,

Segue meu projeto.

O Form é: frmpessoas

Obrigado pela ajuda!
ALVAROVB2009 11/11/2013 16:37:21
#430991
CYBERMAC, coloca ai o comando
Set Itens = Banco.OpenRecordset([Ô]cliente[Ô], dbOpenTable) ao invés de Set tpessoas = Banco.OpenRecordset([Ô]cliente[Ô])

Isso declara o que vc qr fazer com a tabela, faltou isso no seu comando DBOPENTABLE

Consegui reproduzir a mensagem que deu ai para vc e resolvi com o comando que te passei

Fiz isso aqui e deu certinho
Tópico encerrado , respostas não são mais permitidas