MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]botão de alterar com inputbox

    Compartilhe

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 13/10/2011

    [Resolvido]botão de alterar com inputbox

    Mensagem  ifahidalgo em Qua 07 Maio 2014, 20:50

    Senhores

    Preciso de um Help.

    tenho um formulário de alteração de dados onde utilizo uma inputbox conforme codigo abaixo

    Private Sub Form_Open(Cancel As Integer)
    Dim strsql As String, rstTemp As DAO.Recordset

    xcod = InputBox("Informe o Nome completo", "Alteração de Login")

    strsql = "Select * from tblusers where nome = '" & xcod & "'"

    Set rstTemp = CurrentDb.OpenRecordset(strsql, dbOpenSnapshot)
    If rstTemp.EOF Then
    MsgBox "Nome digitado não encontrado no Banco de Dados", vbQuestion, "Atenção!!!"
    DoCmd.Close
    DoCmd.OpenForm "frmcaduser", acNormal
    Else
    'rstTemp.MoveFirst
    txtnome = rstTemp("nome")
    txtUser = rstTemp("user")
    txtSenha = rstTemp("senha")
    txtnivelseguranca = rstTemp("nivelseguranca")


    rstTemp.Close
    txtnome.SetFocus
    End If

    Sendo que o codigo executado em access 2003, funciona certinho. Quando executo em access 2010, acontece o seguinte;
    ao entrar na tela do inputbox, se eu digitar um nome que não esteja no banco, deixar sem nenhuma informação ou clicar no cancelar, acontece que ele procede com a mensagem do msgbox e mesmo assim entra no form de alteração. o normal seria ele sair do form de alteração e ir para o de form de cadastro "frmcaduser".

    Alguem pode me ajudar
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3430
    Registrado : 04/04/2010

    Re: [Resolvido]botão de alterar com inputbox

    Mensagem  Avelino Sampaio em Qui 08 Maio 2014, 09:49

    Olá!

    Estude a dica 22 e veja se consegue adaptar a sua necessidade:

    [Você precisa estar registrado e conectado para ver este link.]

    Aguardamos

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 13/10/2011

    Re: [Resolvido]botão de alterar com inputbox

    Mensagem  ifahidalgo em Qui 08 Maio 2014, 14:42

    Avelino bom dia

    segui a dica e funcionou perfeitamente, mas agora acontece o seguinte.

    antes de abrir o form com o codigo colocado anteriormente fiz as alterações conforme abaixo;

    Private Sub Form_Open(Cancel As Integer)
    Dim strsql As String, rstTemp As DAO.Recordset
    Dim x As Variant

    xcod = InputBox("Informe o Nome completo", "Alteração de Login")

    strsql = "Select * from tblusers where nome = '" & xcod & "'"

    Set rstTemp = CurrentDb.OpenRecordset(strsql, dbOpenSnapshot)

    If IsNull(xcod) Or StrPtr(xcod) = 0 Then
    MsgBox "Você cancelou ou clicou no botão OK sem entrar com o valor...!", vbQuestion, "Atenção!!!"
    DoCmd.CancelEvent
    DoCmd.OpenForm "frmaltuser", acNormal
    Else
    If rstTemp.EOF Then
    MsgBox "Nome digitado não encontrado no Banco de Dados", vbQuestion, "Atenção!!!"
    [color=#ff6699]DoCmd.CancelEvent
    DoCmd.OpenForm "frmcaduser", acNormal
    Else
    'rstTemp.MoveFirst
    txtnome = rstTemp("nome")
    txtUser = rstTemp("user")
    txtSenha = rstTemp("senha")
    txtnivelseguranca = rstTemp("nivelseguranca")

    rstTemp.Close
    txtnome.SetFocus
    End If
    End If


    End Sub

    mas quando executa uma das linha em vermelho, apresenta erro

    erro em tempo de execução "2501":
    A Ação OpenForm foi cancelada

    evento do botão que abre esse formulario

    Private Sub cmdeditar_Click()
    DoCmd.Close
    DoCmd.OpenForm "frmaltuser", acNormal
    End Sub
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3430
    Registrado : 04/04/2010

    Re: [Resolvido]botão de alterar com inputbox

    Mensagem  Avelino Sampaio em Qui 08 Maio 2014, 14:54

    Olá!

    Experimete usar o CANCEL do evento "ao abrir"

    de:

    DoCmd.CancelEvent

    Para:

    cancel = true

    Sucesso!

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 13/10/2011

    Re: [Resolvido]botão de alterar com inputbox

    Mensagem  ifahidalgo em Qui 08 Maio 2014, 16:00

    desculpe minha ignorância, mas não sei como fazer.

    meu codigo ficou assim

    If IsNull(xcod) Or StrPtr(xcod) = 0 Then
    MsgBox "Você cancelou ou clicou no botão OK sem entrar com o valor...!", vbQuestion, "Atenção!!!"
    DoCmd.CancelEvent
    DoCmd.OpenForm "frmcaduser", acNormal
    end if

    no evento open do form



    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 13/10/2011

    Re: [Resolvido]botão de alterar com inputbox

    Mensagem  ifahidalgo em Qui 22 Maio 2014, 16:00

    Consegui arrumar as coisas

      Data/hora atual: Ter 12 Dez 2017, 14:10