Jump to content
Daniela C

Editar registo em Access

Recommended Posts

Daniela C

Olá pessoal tudo bem?

Preciso da vossa ajuda. Tenho um form onde tenho uma tabpage. Sobre os dados de um empregado.

E tenho para fazer um novo empregado, guardar e apagar.

E agora queria um código para editar os dados do empregado. Alguém me ajuda no código?

Obrigado  :)

Share this post


Link to post
Share on other sites
Andrepereira9

Boas

Estas a usar que Base de Dados?

Ja tens os dados do empregado a alterar, ou ainda tens que ir buscar os dados à BD?


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
Daniela C

Estou a trabalhar com o acess.

não sei bem o que estás a querer saber.. Tipo eu queria editar um empregado já existente. Vou mandar o código que tenho neste form para ver. Eu também tenho o procurar mas é noutro form á parte.

Imports System.Data
Imports System.Data.OleDb
Public Class Form4
    Public objconnection As OleDbConnection
    Public objcmd As OleDbCommand
    Public configuracao_ligacao As String
    Public strsql As String

    Public Sub nver()
        txt_nome.Enabled = False
        Txt_morada.Enabled = False
        Msk_cp.Enabled = False
        Msk_dnasc.Enabled = False
        txt_telemovel.Enabled = False
        txt_email.Enabled = False
        txt_nif.Enabled = False
        txt_nib.Enabled = False
        txt_bi.Enabled = False
    End Sub
    Private Sub limpa()
        txt_nome.Enabled = ""
        Txt_morada.Enabled = ""
        Msk_cp.Enabled = ""
        Msk_dnasc.Enabled = ""
        txt_telemovel.Enabled = ""
        txt_email.Enabled = ""
        txt_nif.Enabled = ""
        txt_nib.Enabled = ""
        txt_bi.Enabled = ""
    End Sub
    Private Sub txt_nome_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_nome.GotFocus
        txt_nome.BackColor = Color.LightSteelBlue
    End Sub
    Private Function verificar()
        If txt_nome.Text <> "" And Txt_morada.Text <> "" And txt_telemovel.Text <> "" And txt_nif.Text <> "" And txt_bi.Text <> "" And txt_nib.Text <> "" Then
            Return True
        Else
            Return False
        End If
    End Function
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_novo.Click
        If cmd_novo.Enabled = True Then
            desligado()
            MsgBox("PREENCHA TODOS OS CAMPOS OBRIGATÓRIOS!", MsgBoxStyle.Information, "PREENCHER")
            ver()
            liga_bd()
        End If
    End Sub

    Private Function verifica_nif()
        Dim sql_nif As String
        sql_nif = "select * from empregados where nif_empregado=" & txt_nif.Text
        Dim da_nif As OleDbDataAdapter = New OleDbDataAdapter(sql_nif, ligacao_bd.minhaligacao)
        da_nif.Fill(ligacao_bd.ds, "empregados")
        Dim nregistos As Integer = ligacao_bd.ds.Tables(0).Rows.Count
        If nregistos > 0 Then
            MsgBox("O empregado com o nif " & txt_nif.Text & " já existe!", MsgBoxStyle.Critical, "REGISTO")
            Return False
        Else
            Return True
        End If
    End Function
    Public Sub ver()
        txt_nome.Enabled = True
        Txt_morada.Enabled = True
        Msk_cp.Enabled = True
        Msk_dnasc.Enabled = True
        txt_telemovel.Enabled = True
        txt_email.Enabled = True
        txt_nif.Enabled = True
        txt_nib.Enabled = True
        txt_bi.Enabled = True
    End Sub
    Private Sub ligado()
        cmd_novo.Enabled = True
        cmd_gravar.Enabled = False
        cmd_editar.Enabled = True
        cmd_imp.Enabled = True
        Pic_menu.Enabled = True
    End Sub
    Private Sub desligado()
        cmd_novo.Enabled = False
        cmd_gravar.Enabled = True
        cmd_editar.Enabled = False
        cmd_imp.Enabled = False
        Pic_menu.Enabled = False
    End Sub

    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        nver()
    End Sub
    Public accao As String

    Private Sub Pic_menu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pic_menu.Click
        Me.Close()
        Form2.Show()
    End Sub

    Private Sub Txt_morada_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Txt_morada.LostFocus
        Txt_morada.BackColor = Color.LightSteelBlue
    End Sub

    Private Sub Msk_cp_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Msk_cp.LostFocus
        Msk_cp.BackColor = Color.LightSteelBlue
    End Sub

    Private Sub Msk_dnasc_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Msk_dnasc.LostFocus
        Msk_dnasc.BackColor = Color.LightSteelBlue
    End Sub

    Private Sub cmd_gravar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_gravar.Click
        If verificar() = True Then

            'maiusculas()
            liga_bd()
            If verifica_nif() = True Then
                Dim resp As String
                resp = MsgBox("DESEJA GUARDAR O REGISTO ?", MsgBoxStyle.YesNo, "GUARDAR?")
                If resp = vbYes Then
                    Dim strsql As String
                    strsql = "INSERT INTO empregados(nif_empregado,nome_empregado,morada_empregado,cod_postal,data_nasc,nr_telemovel,bi,nib,email) VALUES(" & txt_nif.Text & ",'" & txt_nome.Text & "','" & Txt_morada.Text & "','" & Msk_cp.Text & "',#" & Msk_dnasc.Text & "#,'" & txt_telemovel.Text & "','" & txt_bi.Text & "','" & txt_nib.Text & "','" & txt_email.Text & "')"
                    ligacao_bd.objCmd = New OleDbCommand(strsql, ligacao_bd.objConnection)
                    ligacao_bd.objCmd.ExecuteNonQuery()
                    MsgBox("REGISTO GUARDADO COM SUCESSO!", MsgBoxStyle.Information, "REGISTO GUARDADO")
                Else
                    MsgBox("REGISTO NÃO FOI GUARDADO!", MsgBoxStyle.Information, "REGISTO NÃO GUARDADO")
                End If

            End If
            ligacao_bd.objConnection.Close()

            nver()
            limpar()
        Else
            MsgBox("Preencha todos os campos!", MsgBoxStyle.Information, "PREENCHA CAMPOS")
        End If
    End Sub

    Private Sub limpar()
        txt_nome.Text = ""
        Txt_morada.Text = ""
        Msk_cp.Text = ""
        Msk_dnasc.Text = ""
        txt_telemovel.Text = ""
        txt_email.Text = ""
        txt_nif.Text = ""
        txt_nib.Text = ""
        txt_bi.Text = ""
    End Sub
    Public Sub liga_bd()
        ligacao_bd.LIGACAO()
        ligacao_bd.objConnection = New OleDbConnection(ligacao_bd.configuracao_ligacao)
        ligacao_bd.objConnection.Open()
    End Sub

Ou será que tenho que fazer o editar no outro form onde tenho o procurar? Se calhar será melhor  :bored:

Share this post


Link to post
Share on other sites
progster

Pois, mas parece-me que é uma "base" para a Daniela C verificar se consegue ou não resolver o problema.

Pelo menos para a parte de "editar" os dados do empregado.


Não resolvo dúvidas por PM.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.