Bom dia pessoal preciso de uma ajuda com programação em VBA.
Eu preciso duplicar um registro que esta mostrando na tela e alterar alguns comando, queria utilizar os comandos de SQL
Estou com problema na parte que ele copia os registros de cada campo. A lógica funciona mas ele gera um erro na macro ao rodar que eu tenho q ficar apertando aprar a macro. O erro é um erro 2950 que aparece nas janela da Macro do access. E ele pede para parar a macro exatamente a mesma quantidade de campos. Vejo que o problema se da no armazenamento desse registro para jogar num novo registro.
Abaixo a lógica que eu implementei
Eu desabilito e habilito os campos para que não se possa alterar nada a menos que ele clique no botão.
Private Sub btnAlterar_Click()
Dim resultado As VbMsgBoxResult
resultado = MsgBox("Deseja fechar a vigencia deste IATA?", vbYesNo, "Tomando uma decisão")
If resultado = vbYes Then
MsgBox "Você acaba de confirmar a ação"
Me.iata_barter.Enabled = True
Me.iata_base.Enabled = True
Me.iata_category.Enabled = True
Me.iata_channel.Enabled = True
Me.iata_channel_type.Enabled = True
Me.iata_code.Enabled = False
Me.iata_company_name.Enabled = True
Me.iata_effective_end.Enabled = True
Me.iata_effective_start.Enabled = True
Me.iata_group.Enabled = True
Me.iata_name.Enabled = True
Me.iata_office.Enabled = True
Me.iata_point_of_sale.Enabled = True
Me.iata_uop_base.Enabled = True
Me.iata_uop_id.Enabled = True
Me.iata_code.Enabled = True
iata_effective_end = Date - 1
DoCmd.RunCommand acCmdSelectRecord (Problema Aqui)
DoCmd.RunCommand acCmdCopy (Problema Aqui)
DoCmd.RunCommand acCmdRecordsGoToNew (Problema Aqui)
DoCmd.RunCommand acCmdSelectRecord (Problema Aqui)
DoCmd.RunCommand acCmdPaste (Problema Aqui)
iata_effective_start = Date
iata_effective_end = #12/31/3000#
Else
MsgBox "Você acaba de recusar a ação"
Me.iata_barter.Enabled = True
Me.iata_base.Enabled = True
Me.iata_category.Enabled = True
Me.iata_channel.Enabled = True
Me.iata_channel_type.Enabled = True
Me.iata_code.Enabled = False
Me.iata_company_name.Enabled = True
Me.iata_effective_end.Enabled = True
Me.iata_effective_start.Enabled = True
Me.iata_group.Enabled = True
Me.iata_name.Enabled = True
Me.iata_office.Enabled = True
Me.iata_point_of_sale.Enabled = True
Me.iata_uop_base.Enabled = True
Me.iata_uop_id.Enabled = True
Me.iata_code.Enabled = True
End If
End Sub
Alguem pode me dar uma força??
Obrigado,
Eu preciso duplicar um registro que esta mostrando na tela e alterar alguns comando, queria utilizar os comandos de SQL
Estou com problema na parte que ele copia os registros de cada campo. A lógica funciona mas ele gera um erro na macro ao rodar que eu tenho q ficar apertando aprar a macro. O erro é um erro 2950 que aparece nas janela da Macro do access. E ele pede para parar a macro exatamente a mesma quantidade de campos. Vejo que o problema se da no armazenamento desse registro para jogar num novo registro.
Abaixo a lógica que eu implementei
Eu desabilito e habilito os campos para que não se possa alterar nada a menos que ele clique no botão.
Private Sub btnAlterar_Click()
Dim resultado As VbMsgBoxResult
resultado = MsgBox("Deseja fechar a vigencia deste IATA?", vbYesNo, "Tomando uma decisão")
If resultado = vbYes Then
MsgBox "Você acaba de confirmar a ação"
Me.iata_barter.Enabled = True
Me.iata_base.Enabled = True
Me.iata_category.Enabled = True
Me.iata_channel.Enabled = True
Me.iata_channel_type.Enabled = True
Me.iata_code.Enabled = False
Me.iata_company_name.Enabled = True
Me.iata_effective_end.Enabled = True
Me.iata_effective_start.Enabled = True
Me.iata_group.Enabled = True
Me.iata_name.Enabled = True
Me.iata_office.Enabled = True
Me.iata_point_of_sale.Enabled = True
Me.iata_uop_base.Enabled = True
Me.iata_uop_id.Enabled = True
Me.iata_code.Enabled = True
iata_effective_end = Date - 1
DoCmd.RunCommand acCmdSelectRecord (Problema Aqui)
DoCmd.RunCommand acCmdCopy (Problema Aqui)
DoCmd.RunCommand acCmdRecordsGoToNew (Problema Aqui)
DoCmd.RunCommand acCmdSelectRecord (Problema Aqui)
DoCmd.RunCommand acCmdPaste (Problema Aqui)
iata_effective_start = Date
iata_effective_end = #12/31/3000#
Else
MsgBox "Você acaba de recusar a ação"
Me.iata_barter.Enabled = True
Me.iata_base.Enabled = True
Me.iata_category.Enabled = True
Me.iata_channel.Enabled = True
Me.iata_channel_type.Enabled = True
Me.iata_code.Enabled = False
Me.iata_company_name.Enabled = True
Me.iata_effective_end.Enabled = True
Me.iata_effective_start.Enabled = True
Me.iata_group.Enabled = True
Me.iata_name.Enabled = True
Me.iata_office.Enabled = True
Me.iata_point_of_sale.Enabled = True
Me.iata_uop_base.Enabled = True
Me.iata_uop_id.Enabled = True
Me.iata_code.Enabled = True
End If
End Sub
Alguem pode me dar uma força??
Obrigado,