MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

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 : 303
    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

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    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


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 303
    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

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    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!


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 303
    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 : 303
    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: Dom 04 Dez 2016, 20:17