Agora vou mostrar como inserir dados na tabela do BD
Bom, para ficar de facil entendimento o nome da tabela do BD será CLIENTES e os campos serão (cod, cpf, nascimento, nome, rg, endereco, telefone e celular) (lembrando que é sempre importante termos um campo código onde os valores não podem se duplicar, pois digamos que temos um cadastro e neste cadastro existem muitas pessoas com dados iguais, como nomes por exemplo, então na hora de fazermos alguma alteração teremos que nos referenciar pelo campo código que é unico)
Vamos lá,
Com nossa conexão já OK vamos colocar no Form em General Declarations
Dim cmd As New ADODB.Command 'objeto command para trabalhar com o banco, inserindo, excluindo etc..
Dim rs As New ADODB.Recordset 'Recodset que trará valores da tabela em nossas consultas
Dim vCod_cliente As Long 'variavel onde colocaremos o valor do codigo do cliente
Dim vinfo As Integer 'usaremos para chamar sempre que preciso uma MsgBox
vamos criar uma SUB e colocar o seguinte codigo, que fará o procedimento de verificar qual o ultimo valor do codigo inserido na tabela do BD e preparar o novo codigo para inserção de um novo registro
Private Sub inserir()
vinfo = MsgBox("Deseja cadastrar novo Cliente ?", vbYesNo + vbQuestion, "Cadastro de Cliente")
If vinfo = vbYes Then 'se deseja gravar novo cliente então
With cmd 'usando o command para retornar um dado da tabela
.ActiveConnection = cnn 'indica ao command qual a conexão ativa
.CommandType = adCmdText 'SQL para o commmand
.CommandText = " select max(cod) as ultimocod from clientes " ' pedimos ao command que retorne o ultimo registro
Set rs = .Execute 'lançamos o valor do ultimo registro no Recordset
End With
With rs 'procedimento com o recordset
If IsNull(rs!ultimocod) Then ' se estiver nulo, ou seja, não tiver nenhum cliente cadastrado
vCod_cliente = 1 'o codigo será 1, nosso primeiro cliente a ser cadastrado
Else 'se não estiver nulo, ou seja, se já tiver clientes cadastrados
vCod_cliente = !ultimocod + 1 ' o codigo será o ultimo acrescido de 1
End If
End With
End If
End Sub
Bom, para que esta rotina aconteça basta chama-la no click do botão que usaremos para preparar os campos para inserção de novo cadastro assim
Private Sub Cmd_Inserir_Click()
Inserir
End Sub
Ao clicarmos no botão, a rotina de inserir será criada, lançando na variável vCod_cliente o código do cliente que iremos cadastrar
Agora vamos criar o procedimento que irá gravar no BD os dados do nosso cliente:
Private Sub salvar()
' se a variavel não está vazia, ou seja, possui o numero do codigo do cliente
If vCod_cliente <> Empty Then
'usaremos o command para retornar o campo cod e nome
'onde o campo cod seja igual ao valor que está na variavel
'para ver se será uma inclusão de novo cliente ou alteração
'do cadastro de um cliente existente
With cmd
.ActiveConnection = cnn 'nossa conexão
.CommandType = adCmdText
.CommandText = "select cod, nome from clientes where cod = " & vCod_cliente & ""
Set rs = .Execute 'jogamos o resultado no Recordset
End With
With rs
'se não encontrou será a inclusão de novo cliente
If .BOF And .EOF Then
'o command agora será usado para inserir os dados das textBox na tabela
With cmd
.ActiveConnection = cnn
.CommandType = adCmdText
.CommandText = " insert into clientes " & _
"(cod, cpf, nome, nascimento, rg, endereco, telefone, celular)values ('" & _
vCod_cliente & "','" & _
Text_cpf.Text & "','" & _
Text_nome.Text & "', '" & _
Tex_nascimento & "', '" & _
Text_Rg.Text & "','" & _
Text_Endereco.Text & "','" & _
Text_telefone.Text & "','" & _
Text_celular.Text & "');"
.Execute 'este comando é que efetua a gravação dos dados informados na tabela
End With
'mensagem informando a gravação dos dados do cliente
vinfo = MsgBox("Cadastro efetuado com sucesso", vbOKOnly + vbInformation, "Cadastro de Clientes")
'se encontrou será uma alteração de cliente existente
Else
'caixa perguntando se queremos salvar as alterações feitas no cadastro do cliente
vinfo = MsgBox("Deseja salvar as alterações feitas no lançamento de " & !nome & " ?", vbYesNo + vbQuestion, "Salvar alterações")
If vinfo = vbYes Then 'se sim
'aqui o command faz o update, altera os campos referente ao cliente cujo codigo é igual à variavel
With cmd
.ActiveConnection = cnn
.CommandType = adCmdText
.CommandText = " update clientes set " & _
"cpf = '" & Text_cpf.Text & "'," & _
"nome = '" & Text_nome.Text & "', " & _
"nascimento = '" & text_nascimento & "', " & _
"rg = '" & Text_Rg.Text & "'," & _
"endereco = '" & Text_Endereco.Text & "'," & _
"telefone = '" & Text_telefone.Text & "'," & _
"celular = '" & Text_celular.Text & "' where cod = " & vCod_cliente & ";"
.Execute
End With
'informa que foram alterados os campos do cliente que já existia
vinfo = MsgBox("Alterações salvas com sucesso", vbOKOnly + vbInformation, "Salvar alterações")
End If
End If
End With
End If
End Sub
Para chamar esta sub é só coloca-la no botão que irá gravar os dados
Pergunta
Macêdo
Bom galera numa dica anterior mostrei como acessar um Banco de Dados via ADO:
http://scriptbrasil.com.br/forum/index.php?showtopic=103750
Agora vou mostrar como inserir dados na tabela do BD
Bom, para ficar de facil entendimento o nome da tabela do BD será CLIENTES e os campos serão (cod, cpf, nascimento, nome, rg, endereco, telefone e celular) (lembrando que é sempre importante termos um campo código onde os valores não podem se duplicar, pois digamos que temos um cadastro e neste cadastro existem muitas pessoas com dados iguais, como nomes por exemplo, então na hora de fazermos alguma alteração teremos que nos referenciar pelo campo código que é unico)
Vamos lá,
Com nossa conexão já OK vamos colocar no Form em General Declarations
vamos criar uma SUB e colocar o seguinte codigo, que fará o procedimento de verificar qual o ultimo valor do codigo inserido na tabela do BD e preparar o novo codigo para inserção de um novo registro Bom, para que esta rotina aconteça basta chama-la no click do botão que usaremos para preparar os campos para inserção de novo cadastro assim Ao clicarmos no botão, a rotina de inserir será criada, lançando na variável vCod_cliente o código do cliente que iremos cadastrar Agora vamos criar o procedimento que irá gravar no BD os dados do nosso cliente: Para chamar esta sub é só coloca-la no botão que irá gravar os dados Editado por MacêdoLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.