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]Dúvidas - Botoes em formularios

    Compartilhe
    avatar
    barroso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 17/08/2017

    [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  barroso em 4/2/2018, 22:27

    Boa tarde a todos me apareceram algumas dúvidas com uns botoes que estou criando para uns formularios  bounce

    A primeira dúvida é colocar mensagens em alguns botoes,

    tenho esse botao que funciona com a mensagem perfeitamente

    Código:
    Private Sub BT_next_project_Click()
    Me.Recordset.MoveNext
        If Me.Recordset.EOF Then
            Me.Recordset.MovePrevious
            MsgBox "This is the last project"
        End If
    End Sub

    Me avisa que é o ultimo projeto, necessito fazer o mesmo para estes botoes:

    Código:
    Private Sub BT_first_project_Click()
    Me.Recordset.MoveFirst
    End Sub

    Código:
    Private Sub BT_last_project_Click()
    Me.Recordset.MoveLast
    End Sub

    Como e onde devo adicionar o código da mensagem para que funcione corretamente?

    O mesmo eu gostaria de fazer com o botao de salvar, avisar que o projeto foi salvo, como devo fazer?

    Código:
    Private Sub BT_save_projects_control_Click()
    DoCmd.RunCommand acCmdSaveRecord
    End Sub

    E a outra dúvida seria a criacao de um botao para criar um novo registro em outro formulario (Menu principal).

    Código:
    Private Sub BT_novo_formato_pago_BR_Click()
    DoCmd.GoToRecord , , acNewRec
        Call Desabilitarbotoes2
        Me.BT_salvar_formato_pago_BR.Enabled = True
        Me.data_BR.SetFocus
    End Sub

    Esse botao cria um novo registro dentro do proprio formulario, eu queria poder criar um novo registro abrindo esse formulario desde um menu principal, ao clicar ele ja abrir direto um novo registro para este formulario.

    Alguem poderia me ajudar com isso?

    Desde já agradeco.  cheers

    Abracos afro afro afro
    avatar
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1064
    Registrado : 07/12/2011

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  tauron em 5/2/2018, 10:11

    Quanto siga o modelo do "bt_next_project" alterando a mensagem conforme o caso.

    tem como postar seu projeto de preferencia em 2007.
    avatar
    barroso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 17/08/2017

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  barroso em 7/2/2018, 02:47

    Olá amigo, ja resolvi o problema de criar o registro em outro formulario e com tua ideia resolvi o problema do botao salvar , mas ainda sigo com o problema dos botoes BT_first_project_Click e BT_last_project_Click, vou tentar explicar melhor minha dúvida,

    este botao abaixo de avancar, quando estou no ultimo registro me avisa.

    Código:
    Private Sub BT_next_project_Click()
    Me.Recordset.MoveNext
        If Me.Recordset.EOF Then
            Me.Recordset.MovePrevious
            MsgBox "This is the last project"
        End If
    End Sub

    queria que o mesmo acontecesse nos botoes

    Código:
    Private Sub BT_first_project_Click()
    Me.Recordset.MoveFirst
    End Sub

    Código:
    Private Sub BT_last_project_Click()
    Me.Recordset.MoveLast
    End Sub

    mas nao sei como adaptar este código, alguem pode me ajudar com isso? bounce

    Desde já agradeco afro
    avatar
    webruxim
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 103
    Registrado : 08/12/2013

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  webruxim em 7/2/2018, 08:50

    Bom dia tauron e barroso !

    tauron desculpe-me a intromissão.

    Se me permite um pitaco.

    barroso tente desta forma:

    Código:

        If Form.CurrentRecord = 1 Then 'se posição do registro = 1
            DoCmd.GoToRecord , , acFirst ' mantem-se no primeiro registro
            MsgBox "Você chegou ao primeiro registro", vbInformation, "Atenção"
        Else ' Se a posição do registro não for = 1  Então
            DoCmd.GoToRecord , , acFirst ' retorna posição até chegar o 1º registro
        End If
    avatar
    barroso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 17/08/2017

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  barroso em 7/2/2018, 18:43

    Ola webruxim obrigado por sua resposta, entao o botao ficaria assim?

    Código:
    Private Sub BT_first_project_Click()
    Me.Recordset.MoveFirst
    If Form.CurrentRecord = 1 Then
            DoCmd.GoToRecord , , acFirst
            MsgBox "Você chegou ao primeiro registro", vbInformation, "Atenção"
        Else
            DoCmd.GoToRecord , , acFirst
        End If
    End Sub

    Vou testar quando chegar em casa, e para o botao de last como ficaria?

    Obrigado por sua resposta!

    Que tenha um excelente dia.

    Abracos
    avatar
    barroso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 17/08/2017

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  barroso em 7/2/2018, 19:44

    Olá webruxim, testei seu código, resolveu parte do meu problema, sempre que eu clico neste botao ele vai pro registro 1 entao sempre ele vai me dar a mensagem que estou no registro 1, e nao é bem isso que eu queria, queria que quando apertar este botao ele ir pro registro 1 sem me dar nenhuma mensagem, mas caso eu ja estou no registro 1 e clico neste botao aí sim, ele me avisar que ja estou no primeiro registro, nao sei se me expliquei bem.

    E para o botao que vai para o ultimo registro? Como faria ja que nao posso definir um numero para o ultimo registro...


    Obrigado por sua ajuda.
    avatar
    webruxim
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 103
    Registrado : 08/12/2013

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  webruxim em 8/2/2018, 00:25

    Boa noite barroso, acredito que seria isso intão:

    Código:

    Private Sub BT_first_project_Click()

    If Form.CurrentRecord = 1 Then
            MsgBox "Você chegou ao primeiro registro", vbInformation, "Atenção"
            Exit sub
        Else
            DoCmd.GoToRecord , , acFirst
        End If
    End Sub

    e para o botao que vai para o ultimo registro... acredito que so mudar o acFirst para acLast
    avatar
    barroso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 17/08/2017

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  barroso em 8/2/2018, 03:03

    Fala webruxim, boa noite obrigado por seu tempo e atencao, entao amigo resolveu parte do problema, agora funciona como quero pro botao de first ele primeiro vai para o registro sem nenhuma mensagem e se eu volto a clicar ele me da a mensagem que estou no primeiro registro. Mas para o last nao funciona, vou tentar te explicar, tenho uma base com 3 registros, se eu estou no primeiro registro e clico no botao last ele se mantem no primeiro registro e me da a mensagem que eu estou no ultimo registro, se eu estou no segundo registro e clico no botao last ele vai para o terceiro sem nenhuma mensagem e se eu estou no terceiro ele mantem sem mensagem.

    Acredito que tenho que modificar algo aqui, porque a posicao do registro nao é igual a 1 verdade?

    Código:
    If Form.CurrentRecord = 1 Then 'se posição do registro = 1

    Nao tem algum valor que posso colocar depois do = que seja referente ao valor que seja o form atual? Ou seja sempre que eu estiver no mesmo form e clicar outra vez no botao ele me dar a mensagem...

    Desculpa por minha ignorancia e valeu pela forca.


    Boa noite.


    Abracos
    avatar
    webruxim
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 103
    Registrado : 08/12/2013

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  webruxim em 8/2/2018, 04:41

    Bom no caso do botao para o ultimo registro, seria nescessario criar uma função para contar os registros para fazer a condição:

    Codigo do Botao ir para ultimo registro:
    Código:

    Dim intX as integer

    intX = DCount("*", "NomedeSuaTabela")

    If Form.CurrentRecord = intX Then
            MsgBox "Você chegou ao último registro", vbInformation, "Atenção"
            Exit sub
        Else
            DoCmd.GoToRecord , , acLast
        End If
    avatar
    barroso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 17/08/2017

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  barroso em 10/2/2018, 19:57

    Ola webruxim, funcionou para o botao de last, tentei adaptar o mesmo codigo para o botao de first e nao consgui, estou com o botao de first com o codigo que voce me indicou antes, como eu adaptaria este codigo para o botao first?

    Obrigado pela forca.
    avatar
    webruxim
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 103
    Registrado : 08/12/2013

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  webruxim em 10/2/2018, 21:22

    amigo o botao fist é esse codigo...

    Código:


    Private Sub BT_first_project_Click()

    If Form.CurrentRecord = 1 Then
            DoCmd.GoToRecord , , acFirst
            MsgBox "Você chegou ao primeiro registro", vbInformation, "Atenção"
        Else
            DoCmd.GoToRecord , , acFirst
        End If
    End Sub
    avatar
    barroso
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 17/08/2017

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  barroso em 10/2/2018, 21:46

    Esse código estou usando estou usando para o botao first, mas queria entender este codigo que voce postou pro botao last para ver se é possivel usarlo em no botao first.

    Mas de qualquer forma resolveu meu problema.

    Obrigado por sua ajuda, dou o tópico como resolvido.
    avatar
    webruxim
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 103
    Registrado : 08/12/2013

    Re: [Resolvido]Dúvidas - Botoes em formularios

    Mensagem  webruxim em 10/2/2018, 23:34

    Código:

    Dim intX as integer 'declara uma variavel como numero

    intX = DCount("*", "NomedeSuaTabela") 'Conta todos (*) os registros da tabela "NomedeSuaTabela" essa contagem vai pra variavel intX

    If Form.CurrentRecord = intX Then 'Se o registro do formulario corrente for igual a variavel entao está no ultimo registro
            MsgBox "Você chegou ao último registro", vbInformation, "Atenção"
            Exit sub
        Else ' se nao
            DoCmd.GoToRecord , , acLast ' vai para o ultimo registro
        End If

    e desse modo nao da pra vc usar no botao first pq para o primeiro registro nao prescisa de contagem

    Código:

    If Form.CurrentRecord = 1 Then ' se no formulario corrente o registro é igual a 1 entao está no primeiro registro
            MsgBox "Você chegou ao primeiro registro", vbInformation, "Atenção"
        Else ' se nao
            DoCmd.GoToRecord , , acFirst 'vai para primeiro registro
        End If

    o forum agradece o seu retorno...

      Data/hora atual: 17/12/2018, 10:19