ABRIR ACCDB COM VB6 DA ERRO PARA ABIR

SOUZA 14/06/2015 17:05:35
#447686
Pessoal estou tentando abrir o banco de dados do access 2010 que tem a extensao accdb e ta dando erro diz que nao reonhece a base.

Estou fazendo assim.

Private Sub CODIGO_GotFocus()
Dim db As Database
Dim query As String
Dim dyn As Recordset

Set db = OpenDatabase([Ô]C:\Sistema\CadastroNovo.accdb[Ô], False, False, [Ô];PWD=Senha[Ô])
query = [Ô]Select max(CODIGO) from Tabela1[Ô]
Set dyn = db.OpenRecordset(query, dbOpenDynaset)


DBEngine.Idle dbFreeLocks

If Not dyn.EOF Then
If Not IsNull(dyn(0)) Then
Codigo = Format$(Val(dyn(0)) + 1, [Ô]00000[Ô])
Else
Codigo = [Ô]00001[Ô]
End If
End If
db.Close
End Sub

Assim abro o campo codigo e inicio a numeracao automatica de registro ok.
EPISCOPAL 14/06/2015 23:28:02
#447698
vc ta utilizando ADO.

OMAR2011 15/06/2015 08:32:17
#447705
Não abri.
DAO.
Antigo.
Idoso.
SOUZA 15/06/2015 15:37:31
#447739
Alguem poderia me explicar como seria do jeito novo entao por favor!
TEKO 16/06/2015 11:24:09
#447768
Por acaso achei e lembrei do seu post
Segue exemplo
VB6 Access 2007 using SEEK (after convert mdb to accdb)
[ô]Code sample vb6 connecting with Ms-Access 2007/2010
[ô]Exemplo vb6 conectando com Ms-Access 2007/2010
[ô]--------------------------------------------------------
Global sDirInstall
Global sMyDB As String
[ô]---------------------------------------------------------
Sub UserInfo()
[ô]Marcar referência:
[ô]PROJECT -> REFERENCE: Microsoft ActiveX Data Objects 2.8 Library

Dim con As ADODB.Connection
Dim rs As ADODB.Recordset

Set con = New ADODB.Connection
Set rs = New ADODB.Recordset

sDirInstall = App.Path
sMyDB = sDirInstall & [Ô]USER.accdb[Ô]
con.Open [Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] & sMyDB & [Ô];Persist Security Info=False;Jet OLEDBDatabase Password=[Ô]

rs.Index = [Ô]Primarykey[Ô]
rs.CursorLocation = adUseServer
rs.Open ([Ô]tb_User[Ô]), con, adOpenDynamic, adLockOptimistic, adCmdTableDirect

Do While Not rs.EOF
MsgBox rs.Fields([Ô]Userid[Ô]) & [Ô] - [Ô] & rs.Fields([Ô]Nome[Ô])
rs.MoveNext
Loop

rs.Seek Array([Ô]NewUser[Ô]), adSeekMinEQ
If rs.EOF Then
rs.AddNew
rs.Fields([Ô]Userid[Ô]) = [Ô]NewUser[Ô]
rs.Fields([Ô]Nome[Ô]) = [Ô]USER NEW[Ô]
rs.Update
MsgBox [Ô]1 user added![Ô]
Else
rs.Fields([Ô]Nome[Ô]) = [Ô]USER NEW [Ô] & Now()
rs.Update
MsgBox [Ô]1 user changed![Ô]
End If
rs.Close
con.Close
End Sub
SOUZA 19/06/2015 19:13:22
#447914
Jesus nao consegui compreender acho que tava bem idoso mesmo na programacao em vb hehehehe
OMAR2011 19/06/2015 23:12:11
#447928
Este é jeito simples de abrir Banco de Dados e tabelas com Ado e Access .accdb

Explicações:

[CursorType]: Opcional. Um valor CursorTypeEnum que determina o tipo de cursor que o provedor deve usar ao abrir o Recordset. Pode ser uma das seguintes constantes:


Constante

Descrição


adOpenForwardOnly

Cursor somente progressivo. Padrão. Idêntico ao cursor estático exceto pelo fato de que é possível somente efetuar rolagem progressiva pelos registros. Isso melhora o desempenho em situações em que é necessária somente uma passagem pelo recordset.


adOpenKeyset

Cursor do conjunto de teclas. Como um cursor dinâmico, exceto pelo fato de que não é possível consultar os registros que outros usuário adicionaram, embora os registros excluídos por outros usuários sejam inacessíveis a partir do recordset. As alterações nos dados feitas por outros usuários permanecem visíveis.


adOpenDynamic

Cursor dinâmico. Adições, alterações e exclusões feitas por outros usuários são visíveis e todos os tipos de movimentos pelo recordset são permitidos, exceto indicadores, se o provedor não der suporte a eles.


adOpenStatic

Cursor estático. Uma cópia estática de um recordset que pode ser usada para localizar dados ou gerar relatórios. Adições, alterações ou exclusões feitas por outros usuários não são visíveis.


[LockType]: Opcional. Um valor LockTypeEnum que determina qual tipo de bloqueio (simultaneidade) o provedor deve usar ao abrir o Recordset. Pode ser uma das seguintes constantes:


Constante

Descrição


adLockReadOnly

Padrão. Somente leitura - não é possível alterar os dados.


adLockPessimistic

Bloqueio pessimista, registro por registro - o provedor faz o que for necessário para garantir o êxito da edição dos registros, em geral, bloqueando-os na fonte de dados imediatamente acima de uma edição.


adLockOptimistic

Bloqueio otimista, registro por registro - o provedor usa o bloqueio otimista, bloqueando os registros somente quando o método Update for chamado.


adLockBatchOptimistic

Atualizações em lotes otimistas - necessárias para o modo de atualização em lotes em oposição ao modo de atualização imediata.

SOUZA 20/06/2015 10:07:52
#447937
Omar obrigado pela dica agora começo a enteder..

E como ficaria a operacao de adicionar registros?
EPISCOPAL 20/06/2015 22:04:57
#447961
Para abir você entendeu .....

para adicionar:
Private TB As ADODB.Recordset
[ô]adiciona novo registro
TB.AddNew
[ô]coloca novos valores
TB([Ô]RazãoSocial[Ô]) = mRazãoSocial
TB([Ô]Vínculo[Ô]) = mVínculo
[ô]atualizando registro na tabela
TB.Update
Faça seu login para responder