QUAL A MELHOR FORMA DE ATUALIZAR BD ACCESS?
Pessoal... qual seria a melhor forma de atualizar BD access??
Tipo.. criar tabelas e campos (texto, numero, data, autonumerico)
como voces fazem isso? me ajudem...

Tipo.. criar tabelas e campos (texto, numero, data, autonumerico)
como voces fazem isso? me ajudem...


Existem MUITAS maneiras de acesso ao access. Depende da sua utilizacao. Se for para atualizar um cadastro ( o uso mais comum ),
muitos utilizam o ADO.
Dicas:
1) Procure por apostilas com exemplos na internet (google).
2) Use o VB6 DATA FORM WIZARD:
a) Com o vb6 ligado clique em ADD-INS;
b) Clique em ADD-IN MANAGER;
c) Procure por VB6 DATA FORM WIZARD;
d) Habilite LOADED e LOAD ON STARTUP;
e) OK, ADD-INS e DATA FORM WIZARD.
muitos utilizam o ADO.
Dicas:
1) Procure por apostilas com exemplos na internet (google).
2) Use o VB6 DATA FORM WIZARD:
a) Com o vb6 ligado clique em ADD-INS;
b) Clique em ADD-IN MANAGER;
c) Procure por VB6 DATA FORM WIZARD;
d) Habilite LOADED e LOAD ON STARTUP;
e) OK, ADD-INS e DATA FORM WIZARD.
Criar as tabelas...
e via codigo fazer a conexão e atualização
Usar ADO
Pois bem, a primeira coisa a se fazer é inserir uma referência:
No VB, vá no menu Project > References...
Procure por Microsoft ActiveX Data Objects 2.x Library
(Eu costumo usar o 2.7, q é comum do Win XP SP1)
Inserida a referencia insira um .BAS no seu projeto.
Nele, declare as seguintes Globais:
Global CnnCon As New ADODB.Connection
Global CnnLine As String
Global CnnCmd As New ADODB.Command
Global RsSel As New ADODB.Recordset
muito bem, para conectar a um banco de Dados Access, use aseguinte String:
CnnLine = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "
omedobanco.mdb;Persist Security Info=False"
Agora faça a conexão com a Global:
CnnCon.Open CnnLine
Até aki, moleza.
Agora vem a parte interessante...
Voce tem duas maneiras de fazer SELECT:
'------------------------------------------
RsSel.Open "SELECT * FROM TABELA;", CnnCon
'------------------------------------------
ou
'------------------------------------------
With CnnCmd
.ActiveConnection = CnnCon
.CommandType = adCmdText
.CommandText = "SELECT * FROM TABELA;"
Set RsSel = .Execute
End With
'------------------------------------------
A diferença é q com o Command, vc faz as outras operações do SQL,
sem necessitar dar Open na RsSel:
'------------------ Insert ----------------
With CnnCmd
.ActiveConnection = CnnCon
.CommandType = adCmdText
.CommandText = "INSERT INTO TABELA(campos) VALUES (Valores);"
.Execute
End With
'------------------ Update ----------------
With CnnCmd
.ActiveConnection = CnnCon
.CommandType = adCmdText
.CommandText = "UPDATE TABELA SET(Valores);"
.Execute
End With
'------------------ Delete ----------------
With CnnCmd
.ActiveConnection = CnnCon
.CommandType = adCmdText
.CommandText = "DELETE FROM TABELA;"
.Execute
End With
'-------------------------------------------
Porém, se vc optar pela primeira opção, vc deve fazer o seguinte:
Seleciona o campo ou campos
'------------------------------------------
RsSel.Open "SELECT * FROM TABELA WHERE Field = ?;", CnnCon
'------------------------------------------
Aàse faz as outras operações:
RsSel.AddNew "lista de Campos", "Valores"
RsSel.Delete "opção"
RsSel.Update "lista de Campos", "Valores"
Eu particularmente uso o Command, pq é mais consistente.
Tá aÃÂÂ, espero q sirva para ajudá-lo.
e via codigo fazer a conexão e atualização
Usar ADO
Pois bem, a primeira coisa a se fazer é inserir uma referência:
No VB, vá no menu Project > References...
Procure por Microsoft ActiveX Data Objects 2.x Library
(Eu costumo usar o 2.7, q é comum do Win XP SP1)
Inserida a referencia insira um .BAS no seu projeto.
Nele, declare as seguintes Globais:
Global CnnCon As New ADODB.Connection
Global CnnLine As String
Global CnnCmd As New ADODB.Command
Global RsSel As New ADODB.Recordset
muito bem, para conectar a um banco de Dados Access, use aseguinte String:
CnnLine = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "
omedobanco.mdb;Persist Security Info=False"
Agora faça a conexão com a Global:
CnnCon.Open CnnLine
Até aki, moleza.
Agora vem a parte interessante...
Voce tem duas maneiras de fazer SELECT:
'------------------------------------------
RsSel.Open "SELECT * FROM TABELA;", CnnCon
'------------------------------------------
ou
'------------------------------------------
With CnnCmd
.ActiveConnection = CnnCon
.CommandType = adCmdText
.CommandText = "SELECT * FROM TABELA;"
Set RsSel = .Execute
End With
'------------------------------------------
A diferença é q com o Command, vc faz as outras operações do SQL,
sem necessitar dar Open na RsSel:
'------------------ Insert ----------------
With CnnCmd
.ActiveConnection = CnnCon
.CommandType = adCmdText
.CommandText = "INSERT INTO TABELA(campos) VALUES (Valores);"
.Execute
End With
'------------------ Update ----------------
With CnnCmd
.ActiveConnection = CnnCon
.CommandType = adCmdText
.CommandText = "UPDATE TABELA SET(Valores);"
.Execute
End With
'------------------ Delete ----------------
With CnnCmd
.ActiveConnection = CnnCon
.CommandType = adCmdText
.CommandText = "DELETE FROM TABELA;"
.Execute
End With
'-------------------------------------------
Porém, se vc optar pela primeira opção, vc deve fazer o seguinte:
Seleciona o campo ou campos
'------------------------------------------
RsSel.Open "SELECT * FROM TABELA WHERE Field = ?;", CnnCon
'------------------------------------------
Aàse faz as outras operações:
RsSel.AddNew "lista de Campos", "Valores"
RsSel.Delete "opção"
RsSel.Update "lista de Campos", "Valores"
Eu particularmente uso o Command, pq é mais consistente.
Tá aÃÂÂ, espero q sirva para ajudá-lo.
eu consegui esse exemplo que alias é muito bom
ele compara duas tabelas e atualiza o banco antigo.
eu encontrei um erro que aparece quando tem mais de um indice na tabela...alguem sabe corrigir isso?
ele compara duas tabelas e atualiza o banco antigo.
eu encontrei um erro que aparece quando tem mais de um indice na tabela...alguem sabe corrigir isso?
No arquivo anexado faltou o frmAtualizaBanco.frm ...
desculpa... :D
ta ai o arquivo...
ta ai o arquivo...
Aqui tem bastante coisa ...
http://macoratti.net/indsql.htm
http://macoratti.net/indsql.htm
mas nao saberia me dizer porque ocorre esse errinho?
pois ja esta pronto...
pois ja esta pronto...
por favor me ajudem
preciso muito disso
preciso muito disso
Tópico encerrado , respostas não são mais permitidas