Boa noite a todos. ** Uso Access 2003.
A rotina abaixo até ontem estava funcionando normalmente, mas a partir de hoje começou a dar a mensagem: “O comando ou ação ‘RepetirConsulta’ não está disponível agora” e aponta para a linha “DoCmd.Requery "F102_ConsumoXPagto" após atualizar o campo ‘TipoContabil’ no evento “Após atualizar”.
Após essa mensagem coloquei o comando ‘On Error Resume Next’. Resultado: A mensagem de erro não mais aparece, no entanto, não mostra/atualiza o registro com o comando “DoCmd.Requery "F102_ConsumoXPagto", que seria para mostrar de forma automática a inserção de um novo registro no subformulário “F102_ConsumoXPagto”. O registro foi inserido normalmente, mas só mostra se eu clicar em algum campo do Formulário principal, visto que o subformulário em questão está em uma Guia.
Detalhes:
Formulário principal: F10_Consumo
Subformulário: F102_ConsumoXPagto
Ação da Rotina: Após atualizar o campo ‘TipoContabil para código 1 ou 5 ou 6, cria um novo registro no subformulário e deveria mostrar de forma automática a inserção desse novo registro no subformulário, o que antes acontecia, embora eu não tenha feito mais nenhuma inclusão ou alteração no formulário ou subformulário e nem na rotina em questão.
Gostaria da ajuda dos senhores, mais uma vez, as buscas que fiz no fórum não foram suficientes para dar uma luz ou não tinham nada relacionado com a mensagem de erro acima relatada.
Private Sub TipoContabil_AfterUpdate()
On Error Resume Next 'TESTE: Para mensagem de erro "O Comando ou ação 'Repetir Consulta' não está disponível agora'. FUNCIONOU ? Sim, mas não está mais mostrando o novo registro inserido de forma automática.
DoCmd.GoToControl "F102_ConsumoXPagto"
If TipoContabil = 1 Or TipoContabil = 5 Or TipoContabil = 6 Then '1:Dinheiro / 5:Cartão de Crédito / 6: Cartão Refeição
Me!ModoPagto = 1 '1: Pagto. Único
Me.ValorSomatorio = ValorAPagar
Me!ValorPago = ValorAPagar
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "F102_ConsumoXPagto" 'Abre Formulário [DESTINO]
stLinkCriteria = "[IDConsumo]=" & Me![TipoContabil] 'CampoID da Autonumeração [DESTINO] + Campo de ORIGEM que chama a rotina
DoCmd.OpenForm stDocName, , , stLinkCriteria
MsgBox "ATENÇÃO!! Será feito o Lançamento automático para Pagamento!", vbInformation, "Sistema - Alerta"
DoCmd.OpenForm "F102_ConsumoXPagto", acNormal, , , acFormAdd 'Abre Formulário [DESTINO]
DoCmd.GoToRecord , , acNewRec 'Inclui Novo Registro no Formulário [DESTINO]
Forms!F102_ConsumoXPagto!IDConsumo = Forms!F10_Consumo!CodConsumo 'ORIGEM: F10_Consumo!CodConsumo X DESTINO: F102_ConsumoXPagto!IDConsumo
Forms!F102_ConsumoXPagto!ValorPagto = Forms!F10_Consumo!ValorAPagar 'ORIGEM: F10_Consumo!ValorAPagar X DESTINO: F102_ConsumoXPagto!ValorPagto
Forms!F102_ConsumoXPagto!DataPagto = Forms!F10_Consumo!DataConsumo 'ORIGEM: F10_Consumo!DataConsumo X DESTINO: F102_ConsumoXPagto!DataPagto
Forms!F102_ConsumoXPagto!IDOperadora = Forms!F10_Consumo!TipoContabil 'ORIGEM: F10_Consumo!TipoContabil X DESTINO: F102_ConsumoXPagto!IDOperadora
DoCmd.Close acForm, "F102_ConsumoXPagto", acSaveYes 'Fecha Formulário [DESTINO]
DoCmd.Requery "F102_ConsumoXPagto" 'Atualiza SubFormulário após incluir Novo Registro
Exit Sub
MsgBox Err.Description
End If
End Sub
A rotina abaixo até ontem estava funcionando normalmente, mas a partir de hoje começou a dar a mensagem: “O comando ou ação ‘RepetirConsulta’ não está disponível agora” e aponta para a linha “DoCmd.Requery "F102_ConsumoXPagto" após atualizar o campo ‘TipoContabil’ no evento “Após atualizar”.
Após essa mensagem coloquei o comando ‘On Error Resume Next’. Resultado: A mensagem de erro não mais aparece, no entanto, não mostra/atualiza o registro com o comando “DoCmd.Requery "F102_ConsumoXPagto", que seria para mostrar de forma automática a inserção de um novo registro no subformulário “F102_ConsumoXPagto”. O registro foi inserido normalmente, mas só mostra se eu clicar em algum campo do Formulário principal, visto que o subformulário em questão está em uma Guia.
Detalhes:
Formulário principal: F10_Consumo
Subformulário: F102_ConsumoXPagto
Ação da Rotina: Após atualizar o campo ‘TipoContabil para código 1 ou 5 ou 6, cria um novo registro no subformulário e deveria mostrar de forma automática a inserção desse novo registro no subformulário, o que antes acontecia, embora eu não tenha feito mais nenhuma inclusão ou alteração no formulário ou subformulário e nem na rotina em questão.
Gostaria da ajuda dos senhores, mais uma vez, as buscas que fiz no fórum não foram suficientes para dar uma luz ou não tinham nada relacionado com a mensagem de erro acima relatada.
Private Sub TipoContabil_AfterUpdate()
On Error Resume Next 'TESTE: Para mensagem de erro "O Comando ou ação 'Repetir Consulta' não está disponível agora'. FUNCIONOU ? Sim, mas não está mais mostrando o novo registro inserido de forma automática.
DoCmd.GoToControl "F102_ConsumoXPagto"
If TipoContabil = 1 Or TipoContabil = 5 Or TipoContabil = 6 Then '1:Dinheiro / 5:Cartão de Crédito / 6: Cartão Refeição
Me!ModoPagto = 1 '1: Pagto. Único
Me.ValorSomatorio = ValorAPagar
Me!ValorPago = ValorAPagar
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "F102_ConsumoXPagto" 'Abre Formulário [DESTINO]
stLinkCriteria = "[IDConsumo]=" & Me![TipoContabil] 'CampoID da Autonumeração [DESTINO] + Campo de ORIGEM que chama a rotina
DoCmd.OpenForm stDocName, , , stLinkCriteria
MsgBox "ATENÇÃO!! Será feito o Lançamento automático para Pagamento!", vbInformation, "Sistema - Alerta"
DoCmd.OpenForm "F102_ConsumoXPagto", acNormal, , , acFormAdd 'Abre Formulário [DESTINO]
DoCmd.GoToRecord , , acNewRec 'Inclui Novo Registro no Formulário [DESTINO]
Forms!F102_ConsumoXPagto!IDConsumo = Forms!F10_Consumo!CodConsumo 'ORIGEM: F10_Consumo!CodConsumo X DESTINO: F102_ConsumoXPagto!IDConsumo
Forms!F102_ConsumoXPagto!ValorPagto = Forms!F10_Consumo!ValorAPagar 'ORIGEM: F10_Consumo!ValorAPagar X DESTINO: F102_ConsumoXPagto!ValorPagto
Forms!F102_ConsumoXPagto!DataPagto = Forms!F10_Consumo!DataConsumo 'ORIGEM: F10_Consumo!DataConsumo X DESTINO: F102_ConsumoXPagto!DataPagto
Forms!F102_ConsumoXPagto!IDOperadora = Forms!F10_Consumo!TipoContabil 'ORIGEM: F10_Consumo!TipoContabil X DESTINO: F102_ConsumoXPagto!IDOperadora
DoCmd.Close acForm, "F102_ConsumoXPagto", acSaveYes 'Fecha Formulário [DESTINO]
DoCmd.Requery "F102_ConsumoXPagto" 'Atualiza SubFormulário após incluir Novo Registro
Exit Sub
MsgBox Err.Description
End If
End Sub