Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Primeira conexao de banco access


Matheus-vb6

Pergunta

Boa tarde gente, estou entrando agora em banco de dados access no vb e até o momento só aprendi a fazer consulta:

codigo modulo:

Public conexao As ADODB.Connection
Public rsDados As Recordset
Public Function abrebanco()
Set conexao = New ADODB.Connection
conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\dados.mdb;jet oledb:database password=123321"
End Function
Public Function fechabanco()
conexao.Close
End Function
Codigo botao
Private Sub cmdConsultar_Click()
abrebanco
Set rsDados = New Recordset
rsDados.Open "SELECT * FROM Alunos WHERE Nome='" & txtNome.Text & "'", conexao
txtNome.Text = rsDados("Nome")
txtIdade.Text = rsDados("Idade")
fechabanco
End Sub

Gostaria de saber como faço para adicionar, alterar, e excluir, atraves de modulo!

Se possivel também me falem o que eu tenho que alterar no codigo(q vocês postarem)

Abraços

Editado por Matheus-vb6
Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

eu vi esse tópico, antes de criar aqui eu procurei... mas não consegui fazer a inclusao por esse codigo:

Public Function Inserir(ByVal strNome As String, _
strEnd As String, _
strFone As String) As Variant

cn.Execute ("insert into pessoal(nome,end,fone)" _
& "values('" & strNome & "','" & strEnd & "','" & strFone & "')")

Inserir = True
End Function
Private Sub cmdIncluir_Click()
Dim novo As Variant

novo = Inserir(txtNome.Text, txtEnd.Text, txtFone.Text)
If novo = True Then
Else
MsgBox "Erro na incluisão.", vbCritical
End If
End Sub
tirei o call limpar.. e fiquei confuso quanto ao
(ByVal strNome As String, _
strEnd As String, _
strFone As String) As Variant

pois no meu de consulta utilizei somente ()

Link para o comentário
Compartilhar em outros sites

  • 0

crie sua conexão numa CLASSE e crie uma instancia da classe, eu utilizo ADODB.... faz um teste ai.... qualquer coisa da um grito

Abraços

--Num Modulo 
--Crie um modulo mdlVariaveis (ou nome de sua preferencia)

Global g_mdb_Conex As New ADODB.Connection
Global f_cla_ConexaoMDB As New cls_ConexaoMDB

-- Numa Classe
--Crie uma classe chamada cls_ConexaoMDB(ou nome de sua preferencia)
Public Function ConexMDB(ByVal l_str_CaminhoMDB As String)
    On Error GoTo Erro:
    
    ConexMDB = True
        
    If g_mdb_Conex.State = 1 Then g_mdb_Conex.Close
    g_mdb_Conex.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & l_str_CaminhoMDB  & ";"
    
    Exit Function

Erro:
    ConexMDB = False
    MsgBox "ERROR DE ACESSO COM MDB", vbCritical
    End
End Function

--Rotina para inserir
public function ExecutaComando(byval strComando as string) as boolean
   on error goto err

   ExecutaComando= false
   
   g_mdb_Conex.execute strComando 

   ExecutaComando= true 

   exit function

err:
   msgbox "erro para inserir"
end function

--em qualquer luhar do programa 
--chama a funcao para executar comando (insere,deleta,atualiza)
   
   ExecutaComando("insert into tabela (campo1,campo2) values ('1','2'))
--ou
   ExecutaComando("Delete from tabela where Campo =" & <VALOR>)
--ou 
   ExecutaComando("update from tabela set Campo =" & <VALOR> & " where campo =" & <VALOR) )

Editado por lramos7
Link para o comentário
Compartilhar em outros sites

  • 0

@iramos

pelo que entendi pelo seu codigo, ele vai verificar a conexão?

porque tipo... a conexao eu já fiz... e já consegui fazer a consulta, só não consigo fazer alteração, inclusao e exclusao (os botoes)

mas vlw ai, não conhecia esse codigo

Link para o comentário
Compartilhar em outros sites

  • 0

como você precisa Inserir, Deletar e Atualiza, mudei o nome da rotina... de uma olhada.

--Num Modulo 
--Crie um modulo mdlVariaveis (ou nome de sua preferencia)

Global g_mdb_Conex As New ADODB.Connection
Global f_cla_ConexaoMDB As New cls_ConexaoMDB

-- Numa Classe
--Crie uma classe chamada cls_ConexaoMDB(ou nome de sua preferencia)
Public Function ConexMDB(ByVal l_str_CaminhoMDB As String)
    On Error GoTo Erro:
    
    ConexMDB = True
        
    If g_mdb_Conex.State = 1 Then g_mdb_Conex.Close
    g_mdb_Conex.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & l_str_CaminhoMDB  & ";"
    
    Exit Function

Erro:
    ConexMDB = False
    MsgBox "ERROR DE ACESSO COM MDB", vbCritical
    End
End Function

--Rotina para inserir
public function ExecutaComando(byval strComando as string) as boolean
   on error goto err

   ExecutaComando= false
   
   g_mdb_Conex.execute strComando 

   ExecutaComando= true 

   exit function

err:
   msgbox "erro para inserir"
end function

--em qualquer luhar do programa 
--chama a funcao para executar comando (insere,deleta,atualiza)
   
   ExecutaComando("insert into tabela (campo1,campo2) values ('" & <VALOR1> & "','" <VALOR2> & "')")
--ou
   ExecutaComando("Delete from tabela where Campo ='" & <VALOR> & "'")
--ou 
   ExecutaComando("update from tabela set Campo ='" & <VALOR> & "' where campo ='" & <VALOR> & "')" )

Editado por lramos7
Link para o comentário
Compartilhar em outros sites

  • 0

o seu ta errado

insere("insert into Alunos (Nome,Idade) values ('txtNome.text','txtIdade.text')")

tenta assim:

insere ("insert into Alunos (Nome,Idade) values ('" & txtNome.text & "','" & txtIdade.text & "')")

Link para o comentário
Compartilhar em outros sites

  • 0

Agora não é mais insere, você mudou para executacomando certo??

e continua dando erro...

Vou postar todo o codigo

Classmodule

Public Function ConexMDB(ByVal l_str_CaminhoMDB As String)
    On Error GoTo Erro:
    
    ConexMDB = True
        
    If g_mdb_Conex.State = 1 Then g_mdb_Conex.Close
    g_mdb_Conex.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & l_str_CaminhoMDB & ";"
    
    Exit Function

Erro:
    ConexMDB = False
    MsgBox "ERROR DE ACESSO COM MDB", vbCritical
    End
End Function
Modulo:
Public conexao As ADODB.Connection
Public rsDados As Recordset
Public Function abrebanco()
Set conexao = New ADODB.Connection
conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\dados.mdb;jet oledb:database password=123321"
End Function
Public Function fechabanco()
conexao.Close
End Function

Public Function ExecutaComando(ByVal strComando As String) As Boolean
   On Error GoTo err

   ExecutaComando = False
   
   g_mdb_Conex.Execute strComando

   ExecutaComando = True

   Exit Function

err:
   MsgBox "erro para inserir"
End Function
Formulario
Private Sub cmdConsultar_Click()
abrebanco
Set rsDados = New Recordset
rsDados.Open "SELECT * FROM Alunos WHERE Nome='" & txtNome.Text & "'", conexao
txtNome.Text = rsDados("Nome")
txtIdade.Text = rsDados("Idade")
fechabanco
End Sub

Private Sub cmdInserir_Click()
ExecutaComando ("insert into Alunos (Nome,Idade) values ('" & txtNome.Text & "','" & txtIdade.Text & "')")
End Sub

Private Sub Command1_Click()
abrebanco
Set rsDados = New Recordset
rsDados.Open "SELECT * FROM Alunos", conexao
Do While rsDados.EOF = False
lstNomes.AddItem rsDados("Nome")
rsDados.MoveNext
Loop
fechabanco
End Sub

Private Sub Form_Load()
lstNomes.Clear
End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

Resolvemos por MSN...

vou postar a solução do adicionar aqui:

Botao inserir:

Private Sub cmdInserir_Click()
ExecutaComando ("insert into Alunos (Nome,Idade) values ('" & txtNome.Text & "','" & txtIdade.Text & "')")
End Sub
Modulo MdlVariaveis
Global g_mdb_Conex As New ADODB.Connection
Global f_cla_ConexaoMDB As New cls_ConexaoMDB

Public Function ExecutaComando(ByVal strComando As String) As Boolean
   On Error GoTo err

   ExecutaComando = False
   
   g_mdb_Conex.Execute strComando

   ExecutaComando = True

   Exit Function

err:
   MsgBox "erro para inserir"
End Function
Classe cls_ConexaoMdb
Public Function ConexMDB(ByVal l_str_CaminhoMDB As String)
    On Error GoTo Erro:
    
    ConexMDB = True
        
    If g_mdb_Conex.State = 1 Then g_mdb_Conex.Close
    g_mdb_Conex.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & l_str_CaminhoMDB & ";jet oledb:Database password=123321"
        
    Exit Function

Erro:
    ConexMDB = False
    MsgBox "ERROR DE ACESSO COM MDB", vbCritical
    End
End Function

E ativo nas referencias o microsoft activeX library 2.8

Vlws Iramos7

--não dei como resolvido pois quero alterar e excluir ainda... 1/3 resolvido :D

Link para o comentário
Compartilhar em outros sites

  • 0

oks, eu recebi, porem não dei aqui como resolvido pois quero aprender a alterar e excluir ainda... de preferencia ADO, mas se tiver outro jeito... pode ser

Abraços e vlws!

---

já aprendi, baixei um pronto na net (por e-mail) e estudei o codigo!

Abraços e vlws a todos que ajudaram

Editado por Matheus-vb6
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...