ABRIR BANCO DE DADOS ACCDB DO ACCESS

SOUZA 09/03/2014 20:49:43
#435737
Pessoal nao consigo abrir o banco de dados que criei no access 2010

Dim db As Database
Dim query As String
Dim dyn As Recordset

Set db = OpenDatabase([Ô]c:\Temp\Base.accdb[Ô], False, False, [Ô];PWD=senha[Ô])
query = [Ô]Select * From Cadastro where nome = [ô][Ô] & NOME & [Ô][ô][Ô]
Set dyn = db.OpenRecordset(query, dbOpenDynaset)

If dyn.EOF Then
dyn.AddNew
dyn([Ô]NOME[Ô]) = NOME
dyn([Ô]ENDERECO[Ô]) = ENDERECO

dyn.Update
MsgBox [Ô]Inclusão Realizada com (SUCESSO).![Ô], vbInformation, NOME
Else
MsgBox [Ô]Está inclusão já foi registrada [Verifique].[Ô], vbExclamation, NOME

Exit Sub
End If
db.Close
CLEVERTON 09/03/2014 20:55:17
#435740
se não me engano, a tecnologia DAO não tem suporte pra versões posteriores a 2000

vc terá de usar ADO
SOUZA 09/03/2014 21:19:26
#435743
como seria!
OMAR2011 09/03/2014 23:47:56
#435748
Procure aqui no site mesmo.
Vai encontrar.
OMAR2011 10/03/2014 08:21:12
#435751
Olha assistency, coloquei algo para você.
Mas ......
Faz uma forcinha.
Está cheio na net.
Coisa simples.
SOUZA 10/03/2014 17:07:42
#435791
Omar pesquisei muito mas nao consegui compreender os exemplos que eu achei por isso coloquei acima a forma como eu faço.peço desculpa se pareci preguiçoso, más pedi exemplo pq nao entendi mesmo ok!
NILSONTRES 10/03/2014 17:37:03
#435792
SOUZA,
O que o CLEVERTON disse é que vc utiliza DAO, e teria que utilizar ADO.
Procure sobre VB6 e ADO.

Mas se complicar muito para vc, aconselho utilizar o access 2003 ou 2007, eu utilizo em sistemas antigos meus de vb6 e rola muito bem, sem a necessidade de migrar para 2010. Se ainda assim não for possivel, aconselho mesmo é mudar para vb.net.
SOUZA 10/03/2014 19:51:52
#435798
Nilsontres blz é que to querendo mudar para um banco de dados que seja mais dificil quebrar a senha dele e pelo que li o2010 é mais seguro. Enquanto estou aprendendo mysql!
TUNUSAT 11/03/2014 09:51:25
#435815
Resposta escolhida
Souza,

A conexão do Access para [Ô].mdb[Ô] é:
- Microsoft Jet OLE DB 4.0;

A conexão do Access para [Ô].accdb[Ô] é:
- Microsoft ACE OLEDB 12.0;

Como você quer se conectar no [Ô].accdb[Ô], utilize este formato: dentro do ADO (ActivX Data Objects):

----------------------------
Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=C:\pasta\meuBancoDeDados.accdb;
Persist Security Info=False;
----------------------------

Para DAO (Data Access Objects), acho que não tem suporte, pois ele é muito velho!

Sobre conexões, você pode achar em:
http://www.connectionstrings.com/
http://www.connectionstrings.com/access/

Bom, vamos conectar então!
Exemplo:

Vá em Project / References e marque:
- Microsoft ActiveX Data Objects 6.0 Library

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

Private Sub Form_Load()

cn.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & _
App.Path & [Ô]\meuBancoDeDados.mdb[Ô] & _
[Ô];Persist Security Info=False[Ô]
cn.CursorLocation = adUseClient
cn.Open

rs.CursorLocation = adUseClient
rs.Open [Ô]Select * from tblTabela[Ô], cn, adOpenStatic, adLockOptimistic

End Sub


O que eu recomendo:
Se você quiser trocar, troque a forma de conexão (de DAO para ADO) e troque o banco de dados também.


[][ô]s,
Tunusat.
Tópico encerrado , respostas não são mais permitidas