Bom dia galera. Estou utilizando o seguinte código em um campo de um subformulário, no evento Antes de Atualizar (Access 2010):
'Verifica valores duplicados
'Nesse caso verifica o 'Produto' e a 'Marca'
Dim strCampo As String, strTabela As String, strCriterio1 As String
Dim strTexto As String, strTitulo As String
Dim intTipo As Integer, Resposta As Integer
strCampo = "[Produto] and [CodigoVendas]"
strTabela = "[Tbl_VendasDet]"
strCriterio1 = "[Produto] = form.[txt_Produto] and [CodigoVendas] = form.[CodigoVendas]"
strTexto = "Este código de material já existe."
strTexto = strTexto & vbCrLf & "Deseja excluir?"
intTipo = vbYesNo + vbQuestion
strTitulo = "Valor Duplicado"
' Anexar ao evento AntesDeAtualizar
If Not IsNull(DLookup(strCampo, strTabela, strCriterio1)) Then
' Se o valor estiver duplicado, exibe uma mensagem.
If MsgBox(strTexto, intTipo, strTitulo) = vbYes Then
SendKeys "{ESC}{ESC}"
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
End If
End If
txt_Produto_Exit:
Exit Sub
txt_Produto_Err:
MsgBox "Erro. Verifique!" & vbCrLf & Err.Description
Resume txt_Produto_Exit
O subformulário está definido como "Formulário Contínuo". Quando estou no campo e pressiono TAB ele aparece a caixa de mensagem, mas por trás do formulário. Se eu clicar no campo (que é do tipo listbox) e escolher o item, ele aparece a mensagem normal. Mas se eu utilizar TAB, a msgbox fica por trás do form.
Alguém tem alguma dica do que seja?
Obrigado
'Verifica valores duplicados
'Nesse caso verifica o 'Produto' e a 'Marca'
Dim strCampo As String, strTabela As String, strCriterio1 As String
Dim strTexto As String, strTitulo As String
Dim intTipo As Integer, Resposta As Integer
strCampo = "[Produto] and [CodigoVendas]"
strTabela = "[Tbl_VendasDet]"
strCriterio1 = "[Produto] = form.[txt_Produto] and [CodigoVendas] = form.[CodigoVendas]"
strTexto = "Este código de material já existe."
strTexto = strTexto & vbCrLf & "Deseja excluir?"
intTipo = vbYesNo + vbQuestion
strTitulo = "Valor Duplicado"
' Anexar ao evento AntesDeAtualizar
If Not IsNull(DLookup(strCampo, strTabela, strCriterio1)) Then
' Se o valor estiver duplicado, exibe uma mensagem.
If MsgBox(strTexto, intTipo, strTitulo) = vbYes Then
SendKeys "{ESC}{ESC}"
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
End If
End If
txt_Produto_Exit:
Exit Sub
txt_Produto_Err:
MsgBox "Erro. Verifique!" & vbCrLf & Err.Description
Resume txt_Produto_Exit
O subformulário está definido como "Formulário Contínuo". Quando estou no campo e pressiono TAB ele aparece a caixa de mensagem, mas por trás do formulário. Se eu clicar no campo (que é do tipo listbox) e escolher o item, ele aparece a mensagem normal. Mas se eu utilizar TAB, a msgbox fica por trás do form.
Alguém tem alguma dica do que seja?
Obrigado