Boa noite,
Agradeço a vossa ajuda para a seguinte questão:
Estou a criar uma base de dados em Access versão 2016. Estou a criar uma base de dados que registe as entradas e saídas, ao inserir o utilizador e a senha automaticamente aparece o registo de entrada, o nome e o processo da pessoa. Quando tento salvar as alterações do registo, fica gravado sobre outro registo, eliminando o registo anterior. O que pretendo saber é como devo fazer para que actualize os registos e não os apague?
Os códigos que coloquei são os seguintes:
Private Sub Comando12_Click()
Dim nprocesso As Integer
Dim Nome_do_aluno As String
Dim n_processo As Integer
Dim Nome_do_aluno1 As String
Dim Data1 As Currency
Dim HoraEntrada As Currency
Dim Responsávelentrada As String
Dim HoraSaída As Currency
Dim Responsávelsaída As String
If Nz(DLookup("Senha", "Utilizadores", "Utilizador = '" & Me.Texto8.Value & "'")) = Me.Texto10 = False Then
MsgBox ("Utilizador ou senha incorretos, tente novamente."), vbCritical, "Erro"
Else
If IsNull(check1 And check2) Or check1 = False And check2 = False Then
MsgBox ("Selecione uma das opções abaixo."), vbCritical, "Aviso"
If IsNull(Me.Texto8 And Me.Texto10) Then
MsgBox ("Insira o utilizador/senha!"), vbCritical, "Aviso"
End If
End If
End If
If check1 = True And Nz(DLookup("Senha", "Utilizadores", "Utilizador = '" & Me.Texto8.Value & "'")) = Me.Texto10 Then
DoCmd.OpenForm ("Entrada")
Forms![Entrada]![nprocesso] = DLookup("[NºProcesso]", "Utilizadores", "[Utilizador] = '" & Me.Texto8.Value & "'")
Forms![Entrada]![Nome_do_aluno] = DLookup("[Nome_do_aluno]", "Utilizadores", "[Utilizador]='" & Me.Texto8.Value & "'")
DoCmd.Close acForm, "FPrincipal"
Else
If check2 = True And Nz(DLookup("Senha", "Utilizadores", "Utilizador = '" & Me.Texto8.Value & "'")) = Me.Texto10 Then
DoCmd.OpenForm ("Saída")
Forms![Saída]![n_processo] = DLookup("[NºProcesso]", "Utilizadores", "[Utilizador] = '" & Me.Texto8.Value & "'")
Forms![Saída]![Nome_do_aluno1] = DLookup("[Nome_do_aluno]", "Utilizadores", "[Utilizador]='" & Me.Texto8.Value & "'")
Forms![Saída]![Data1] = DLast("Data", "TBL_Entradas/Saídas dos alunos", "[NºProcesso]= Forms![Saída]![n_processo]")
Forms![Saída]![HoraEntrada] = DLast("Hora_entrada", "TBL_Entradas/Saídas dos alunos", "[NºProcesso]=Forms![Saída]![n_processo]")
Forms![Saída]![Responsávelentrada] = DLast("Responsável_entrada", "TBL_Entradas/Saídas dos alunos", "[NºProcesso]=Forms![Saída]![n_processo]")
Forms![Saída]![HoraSaída] = DLast("HoraSaída1", "TBL_Entradas/Saídas dos alunos", "[NºProcesso]=Forms![Saída]![n_processo]")
Forms![Saída]![Responsávelsaída] = DLast("Responsável_saída", "TBL_Entradas/Saídas dos alunos", "[NºProcesso]=Forms![Saída]![n_processo]")
DoCmd.Close acForm, "FPrincipal"
If IsNull(Forms![Saída]![HoraSaída]) Then
Forms![Saída]![HoraSaída] = Now()
End If
End If
End If
End Sub
Obrigado desde já pela vossa ajuda
Agradeço a vossa ajuda para a seguinte questão:
Estou a criar uma base de dados em Access versão 2016. Estou a criar uma base de dados que registe as entradas e saídas, ao inserir o utilizador e a senha automaticamente aparece o registo de entrada, o nome e o processo da pessoa. Quando tento salvar as alterações do registo, fica gravado sobre outro registo, eliminando o registo anterior. O que pretendo saber é como devo fazer para que actualize os registos e não os apague?
Os códigos que coloquei são os seguintes:
Private Sub Comando12_Click()
Dim nprocesso As Integer
Dim Nome_do_aluno As String
Dim n_processo As Integer
Dim Nome_do_aluno1 As String
Dim Data1 As Currency
Dim HoraEntrada As Currency
Dim Responsávelentrada As String
Dim HoraSaída As Currency
Dim Responsávelsaída As String
If Nz(DLookup("Senha", "Utilizadores", "Utilizador = '" & Me.Texto8.Value & "'")) = Me.Texto10 = False Then
MsgBox ("Utilizador ou senha incorretos, tente novamente."), vbCritical, "Erro"
Else
If IsNull(check1 And check2) Or check1 = False And check2 = False Then
MsgBox ("Selecione uma das opções abaixo."), vbCritical, "Aviso"
If IsNull(Me.Texto8 And Me.Texto10) Then
MsgBox ("Insira o utilizador/senha!"), vbCritical, "Aviso"
End If
End If
End If
If check1 = True And Nz(DLookup("Senha", "Utilizadores", "Utilizador = '" & Me.Texto8.Value & "'")) = Me.Texto10 Then
DoCmd.OpenForm ("Entrada")
Forms![Entrada]![nprocesso] = DLookup("[NºProcesso]", "Utilizadores", "[Utilizador] = '" & Me.Texto8.Value & "'")
Forms![Entrada]![Nome_do_aluno] = DLookup("[Nome_do_aluno]", "Utilizadores", "[Utilizador]='" & Me.Texto8.Value & "'")
DoCmd.Close acForm, "FPrincipal"
Else
If check2 = True And Nz(DLookup("Senha", "Utilizadores", "Utilizador = '" & Me.Texto8.Value & "'")) = Me.Texto10 Then
DoCmd.OpenForm ("Saída")
Forms![Saída]![n_processo] = DLookup("[NºProcesso]", "Utilizadores", "[Utilizador] = '" & Me.Texto8.Value & "'")
Forms![Saída]![Nome_do_aluno1] = DLookup("[Nome_do_aluno]", "Utilizadores", "[Utilizador]='" & Me.Texto8.Value & "'")
Forms![Saída]![Data1] = DLast("Data", "TBL_Entradas/Saídas dos alunos", "[NºProcesso]= Forms![Saída]![n_processo]")
Forms![Saída]![HoraEntrada] = DLast("Hora_entrada", "TBL_Entradas/Saídas dos alunos", "[NºProcesso]=Forms![Saída]![n_processo]")
Forms![Saída]![Responsávelentrada] = DLast("Responsável_entrada", "TBL_Entradas/Saídas dos alunos", "[NºProcesso]=Forms![Saída]![n_processo]")
Forms![Saída]![HoraSaída] = DLast("HoraSaída1", "TBL_Entradas/Saídas dos alunos", "[NºProcesso]=Forms![Saída]![n_processo]")
Forms![Saída]![Responsávelsaída] = DLast("Responsável_saída", "TBL_Entradas/Saídas dos alunos", "[NºProcesso]=Forms![Saída]![n_processo]")
DoCmd.Close acForm, "FPrincipal"
If IsNull(Forms![Saída]![HoraSaída]) Then
Forms![Saída]![HoraSaída] = Now()
End If
End If
End If
End Sub
Obrigado desde já pela vossa ajuda