juliocesarm
New Member
- Joined
- Aug 11, 2016
- Messages
- 1
Hello guys,
sorry for the stupid question but I was watching Youtube to do that and the deadline of my master thesis is the next Monday!
The problem is, I have 3 forms and this form is to update my data. If I change any data it is not updating.
I was looking a video in YouTube, in the original video the guys used Flag = 0, if I use Flag =1 only the "txt_nome" is updated (because it is in column 1). I tried used Flag = 2, Flag >0.... it is not working.
Everything is working (clean, delete) but I nedd a form that update all my data (if have any change), it is updating only the "txt_nome".
Thank you
sorry for the stupid question but I was watching Youtube to do that and the deadline of my master thesis is the next Monday!
The problem is, I have 3 forms and this form is to update my data. If I change any data it is not updating.
I was looking a video in YouTube, in the original video the guys used Flag = 0, if I use Flag =1 only the "txt_nome" is updated (because it is in column 1). I tried used Flag = 2, Flag >0.... it is not working.
Everything is working (clean, delete) but I nedd a form that update all my data (if have any change), it is updating only the "txt_nome".
Code:
'Variáveis utilizadas em todo o formulário
Dim flag As Integer
Dim Campo As String
Dim Linha As Integer
Dim Linha_Encon As Integer
Dim FileName As Variant
Dim dir As String
'Rotina para editar um registo
Public Sub btn_edit_Click()
If flag = 1 Then 'Flag igual a 0 indica que a edição foi realizada (if i put flag=0, it is not working)
'Atualizando os dados da planilha com os inseridos pelo usuário na edição
Cells(Linha_Encon, 1).Value = txt_nome
Cells(Linha_Encon, 2).Value = txt_bi
Cells(Linha_Encon, 3) = txt_nasc
Cells(Linha_Encon, 4) = txt_morada
Cells(Linha_Encon, 5) = txt_localidade
Cells(Linha_Encon, 6) = txt_cp
Cells(Linha_Encon, 7) = txt_email
Cells(Linha_Encon, 8) = txt_tel
Cells(Linha_Encon, 9) = txt_tlm
Cells(Linha_Encon, 10) = box_fase
Cells(Linha_Encon, 11) = box_anoletivo
Cells(Linha_Encon, 12) = box_curso
Cells(Linha_Encon, 13) = box_ramo
Cells(Linha_Encon, 14) = box_inscricao
Cells(Linha_Encon, 15) = txt_naluno
Cells(Linha_Encon, 16) = box_licenciatura
Cells(Linha_Encon, 17) = box_universidade
Cells(Linha_Encon, 18) = txt_claslic
Cells(Linha_Encon, 19) = txt_pos
Cells(Linha_Encon, 20) = txt_ativprof
Cells(Linha_Encon, 21) = txt_empresaprof
Cells(Linha_Encon, 22) = txt_temapt
Cells(Linha_Encon, 23) = txt_temaen
Cells(Linha_Encon, 24) = box_status
Cells(Linha_Encon, 25) = box_orientador
Cells(Linha_Encon, 26) = box_coorientador
Cells(Linha_Encon, 27) = box_orientadorempresa
Cells(Linha_Encon, 28) = box_empresa
Cells(Linha_Encon, 29) = txt_datainicio
Cells(Linha_Encon, 30) = txt_uc
Cells(Linha_Encon, 31) = box_anoletivodissertacao
Cells(Linha_Encon, 32) = txt_dataapresentacao
Cells(Linha_Encon, 33) = txt_sala
Cells(Linha_Encon, 34) = box_horario
Cells(Linha_Encon, 35) = txt_classificacaon
Cells(Linha_Encon, 36) = box_classificacao
Cells(Linha_Encon, 37) = box_juri
Cells(Linha_Encon, 38) = box_arguente
Cells(Linha_Encon, 39) = txt_obs
Cells(Linha_Encon, 40) = txt_homdc
Cells(Linha_Encon, 41) = txt_homddept
Cells(Linha_Encon, 42) = txt_homcp
Cells(Linha_Encon, 43) = txt_pauta
Cells(Linha_Encon, 44) = txt_pagina
Cells(Linha_Encon, 45) = box_declaracao
Cells(Linha_Encon, 46) = txt_link
Cells(Linha_Encon, 47) = FileName
'Msg ao usuário e chamando o sub userForm_inicitialize
MsgBox "Registo alterado com sucesso"
Userform_Initialize
'Habilitando os botões de Edição e exclusão
btn_edit.Visible = True
btn_excluir.Visible = True
Limpar_RA.Visible = True
'Bloqueando a alteração da imagem
Mudar_Img.Enabled = False
foto.Enabled = False
Else 'Flag diferente de 0 indica que a edição foi requisitada e os botões tendem a serem liberados
'Habilitando a alteração das imagens pelo usuário
Mudar_Img.Enabled = True
foto.Enabled = True
'Verificando se Existe Imagem cadastrada
If Cells(Linha_Encon, 47) = FALSO Then
img_add = ThisWorkbook.Path & "\imagens\add_photo.jpg"
foto.Picture = LoadPicture()
End If
'Por segurança a variável FileName assume o valor atual do cadastro
FileName = Cells(Linha_Encon, 47)
End If
End Sub
'Rotina de Exclusão de Cliente
Public Sub btn_excluir_Click()
Dim Ans As Integer
Ans = MsgBox("Deseja realmente remover o registo?", vbYesNo)
Select Case Ans
Case vbYes
Worksheets("ALUNO").Rows(Linha_Encon).Delete
MsgBox "Aluno excluído com sucesso!"
Limpar_RA_Click
box_nome.SetFocus
Case vbNo
box_nome.SetFocus
End Select
End Sub
Private Sub Label1_Click()
End Sub
Public Sub Limpar_RA_Click()
'Limpando os campos comuns
box_nome = ""
box_bi = ""
box_nalunos = ""
txt_nome = ""
txt_bi = ""
txt_nasc = ""
txt_morada = ""
txt_localidade = ""
txt_cp = ""
txt_email = ""
txt_tel = ""
txt_tlm = ""
box_fase = ""
box_anoletivo = ""
box_curso = ""
box_ramo = ""
box_inscricao = ""
txt_naluno = ""
box_licenciatura = ""
box_universidade = ""
txt_claslic = ""
txt_pos = ""
txt_ativprof = ""
txt_empresaprof = ""
txt_temapt = ""
txt_temaen = ""
box_status = ""
box_orientador = ""
box_coorientador = ""
box_orientadorempresa = ""
box_empresa = ""
txt_datainicio = ""
txt_uc = ""
box_anoletivodissertacao = ""
txt_dataapresentacao = ""
txt_sala = ""
box_horario = ""
txt_classificacaon = ""
box_classificacao = ""
box_juri = ""
box_arguente = ""
txt_obs = ""
txt_homdc = ""
txt_homddept = ""
txt_homocp = ""
txt_pauta = ""
txt_pagina = ""
box_declaracao = ""
txt_link = ""
'Limpando a imagem
foto.Picture = LoadPicture()
'Bloqueando os botões EDIT e EXCLUIR
btn_edit.Visible = False
btn_excluir.Visible = False
'Focalizando no campo nome
box_nome.SetFocus
End Sub
Public Sub Mudar_Img_Click()
Dim Finfo As String
Dim FilterIndex As Integer
Dim Title As String
Dim File As Variant
Finfo = "Pictures (*.jpg*),*.*"
FilterIndex = 1
Title = "Selecione um arquivo para importar"
File = Application.GetOpenFilename(Finfo, FilterIndex, Title)
If File = False Then
MsgBox "Nenhuma imagem foi selecionada."
Else
foto.Picture = LoadPicture(File)
foto.PictureSizeMode = fmPictureSizeModeStretch
FileName = File
End If
End Sub
Private Sub txt_nome_Change()
End Sub
'Ao iniciar o form
Public Sub Userform_Initialize()
flag = 1 'Variável que controla o evento Chance dos Textbox
btn_edit.Visible = False
btn_excluir.Visible = False
End Sub
'Ao mudar algo no campo txt_nome o rotina acessa o procedimento verificação
Public Sub box_nome_Change()
If flag = 1 Then
Campo = box_nome
Linha = 1
verificacao
End If
End Sub
'Ao mudar algo no campo txt_bi o rotina acessa o procedimento verificação
Public Sub box_bi_Change()
If flag = 1 Then
Campo = box_bi
Linha = 2
verificacao
End If
End Sub
'Ao mudar algo no campo txt_naluno rotina acessa o procedimento verificação
Public Sub box_naluno_Change()
If flag = 1 Then
Campo = box_naluno
Linha = 15
verificacao
End If
End Sub
'Rotina para verificar se existe um cadastro
Public Sub verificacao()
Dim i As Integer 'Variável contadora
'Encontrando a quantidade de linhas usadas na planilha
cont = Worksheets("ALUNO").UsedRange.Rows.Count
'Selecionando a planilha a ser usada como banco de dados
Worksheets("ALUNO").Select
If flag = 1 Then
For i = 2 To cont
If Cells(i, Linha) = Campo Then
'Condicionais necessários para evitar que os campos
'não alterem seus valores caso estejam em uso
If Linha <> 1 Then
flag = 0
box_nome = Cells(i, 1)
flag = 1
End If
If Linha <> 2 Then
flag = 0
box_bi = Cells(i, 2)
flag = 1
End If
If Linha <> 15 Then
flag = 0
box_naluno = Cells(i, 15)
flag = 1
End If
btn_edit.Visible = True
btn_excluir.Visible = True
'Preenchendo os campos com os dados do Aluno encontrado
txt_nome = Cells(i, 1)
txt_bi = Cells(i, 2)
txt_nasc = Cells(i, 3)
txt_morada = Cells(i, 4)
txt_localidade = Cells(i, 5)
txt_cp = Cells(i, 6)
txt_email = Cells(i, 7)
txt_tel = Cells(i, 8)
txt_tlm = Cells(i, 9)
box_fase = Cells(i, 10)
box_anoletivo = Cells(i, 11)
box_curso = Cells(i, 12)
box_ramo = Cells(i, 13)
box_inscricao = Cells(i, 14)
txt_naluno = Cells(i, 15)
box_licenciatura = Cells(i, 16)
box_universidade = Cells(i, 17)
txt_claslic = Cells(i, 18)
txt_pos = Cells(i, 19)
txt_ativprof = Cells(i, 20)
txt_empresaprof = Cells(i, 21)
txt_temapt = Cells(i, 22)
txt_temaen = Cells(i, 23)
box_status = Cells(i, 24)
box_orientador = Cells(i, 25)
box_coorientador = Cells(i, 26)
box_orientadorempresa = Cells(i, 27)
box_empresa = Cells(i, 28)
txt_datainicio = Cells(i, 29)
txt_uc = Cells(i, 30)
box_anoletivodissertacao = Cells(i, 31)
txt_dataapresentacao = Cells(i, 32)
txt_sala = Cells(i, 33)
box_horario = Cells(i, 34)
txt_classificacaon = Cells(i, 35)
box_classificacao = Cells(i, 36)
box_juri = Cells(i, 37)
box_arguente = Cells(i, 38)
txt_obs = Cells(i, 39)
txt_homdc = Cells(i, 40)
txt_homddept = Cells(i, 41)
txt_homocp = Cells(i, 42)
txt_pauta = Cells(i, 43)
txt_pagina = Cells(i, 44)
box_declaracao = Cells(i, 45)
txt_link = Cells(i, 46)
'Verificando se Existe Imagem cadastrada
If Cells(i, 47) <> FALSO Then
foto.Picture = LoadPicture(Cells(i, 47))
Else
'Imagem limpa
img_add = ThisWorkbook.Path & "\imagens\add_photo.jpg"
foto.Picture = LoadPicture()
End If
Linha_Encon = i
Exit Sub
Else
btn_edit.Visible = False
btn_excluir.Visible = False
'Condicionais necessários para evitar que os campos não alterem seus valores caso estejam em uso
If Linha <> 1 Then
flag = 0
box_nome = ""
flag = 1
End If
If Linha <> 2 Then
flag = 0
box_bi = ""
flag = 1
End If
If Linha <> 15 Then
flag = 0
box_naluno = ""
flag = 1
End If
'Preenchendo os campos com os dados do Aluno encontrado
txt_nome = ""
txt_bi = ""
txt_nasc = ""
txt_morada = ""
txt_localidade = ""
txt_cp = ""
txt_email = ""
txt_tel = ""
txt_tlm = ""
box_fase = ""
box_anoletivo = ""
box_curso = ""
box_ramo = ""
box_inscricao = ""
txt_naluno = ""
box_licenciatura = ""
box_universidade = ""
txt_claslic = ""
txt_pos = ""
txt_ativprof = ""
txt_empresaprof = ""
txt_temapt = ""
txt_temaen = ""
box_status = ""
box_orientador = ""
box_coorientador = ""
box_orientadorempresa = ""
box_empresa = ""
txt_datainicio = ""
txt_uc = ""
box_anoletivodissertacao = ""
txt_dataapresentacao = ""
txt_sala = ""
box_horario = ""
txt_classificacaon = ""
box_classificacao = ""
box_juri = ""
box_arguente = ""
txt_obs = ""
txt_homdc = ""
txt_homddept = ""
txt_homocp = ""
txt_pauta = ""
txt_pagina = ""
box_declaracao = ""
txt_link = ""
foto.Picture = LoadPicture()
foto.PictureSizeMode = fmPictureSizeModeStretch
End If
Next i
End If
End Sub
Thank you