Prezados meu nome é José Roberto, segue meu problema:
Não estou conseguindo cancelar edição do registro no subForm ja tentei de inúmeras formas inclusive varias delas encontrei aqui no Maximo Access, e tbm não funcionou.
obsv. no form principal está funcionando normalmente, meu problema é no subForm.
segue linhas de código usadas:
Private Sub Form_Unload(Cancel As Integer) '"não deu certo"
If Me.Dirty Then
If MsgBox("Deseja sair sem salvar ? ", vbYesNo, "ALERTA") = vbYes Then
Me.Undo
DoCmd.Close
Else
Form_frmOrcamento.dtEmissao.SetFocus
End If
Else
DoCmd.Close
End If
End Sub
######################
Public StrOld as String '"assim tbm não deu certo"
Public StrNew as String
No evento do botão:
Dim ctl As Control
'Dicas para os controles
For Each ctl In Me.frmOrcamentoSub.Controls
' Percorre todos os tipos de controles
Select Case ctl.ControlType
Case acTextBox ', acComboBox, acListBox, acOptionGroup, acCheckBox
StrNew = StrNew & ctl.OldValue & ","
End Select
Next ctl
If StrComp(StrOld, StrNew) = -1 Then
StrOld = Null
StrNew = Null
No subform no evento Antes de atualizar:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim ctl As Control
'Dicas para os controles
For Each ctl In Me.Controls
' Percorre todos os tipos de controles
Select Case ctl.ControlType
Case acTextBox ', acComboBox, acListBox, acOptionGroup, acCheckBox
StrOld = StrOld & ctl.OldValue & ","
End Select
Next ctl
End Sub
abraços .... desde já agradeço
Não estou conseguindo cancelar edição do registro no subForm ja tentei de inúmeras formas inclusive varias delas encontrei aqui no Maximo Access, e tbm não funcionou.
obsv. no form principal está funcionando normalmente, meu problema é no subForm.
segue linhas de código usadas:
Private Sub Form_Unload(Cancel As Integer) '"não deu certo"
If Me.Dirty Then
If MsgBox("Deseja sair sem salvar ? ", vbYesNo, "ALERTA") = vbYes Then
Me.Undo
DoCmd.Close
Else
Form_frmOrcamento.dtEmissao.SetFocus
End If
Else
DoCmd.Close
End If
End Sub
######################
Public StrOld as String '"assim tbm não deu certo"
Public StrNew as String
No evento do botão:
Dim ctl As Control
'Dicas para os controles
For Each ctl In Me.frmOrcamentoSub.Controls
' Percorre todos os tipos de controles
Select Case ctl.ControlType
Case acTextBox ', acComboBox, acListBox, acOptionGroup, acCheckBox
StrNew = StrNew & ctl.OldValue & ","
End Select
Next ctl
If StrComp(StrOld, StrNew) = -1 Then
StrOld = Null
StrNew = Null
No subform no evento Antes de atualizar:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim ctl As Control
'Dicas para os controles
For Each ctl In Me.Controls
' Percorre todos os tipos de controles
Select Case ctl.ControlType
Case acTextBox ', acComboBox, acListBox, acOptionGroup, acCheckBox
StrOld = StrOld & ctl.OldValue & ","
End Select
Next ctl
End Sub
abraços .... desde já agradeço