MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


    [Resolvido]Executar rotina num Form

    avatar
    luisev
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    [Resolvido]Executar rotina num Form Empty Executar rotina num Form

    Mensagem  luisev 10/6/2011, 23:55

    Boas pessoal,
    Necessito de ajuda pelo seguinte:
    Na rotina abaixo descrita, se a inserir num botao de comando ela funciona. Corre a rotina para cada registo.
    No entanto necessito de a executar ao abrir de um formulario oculto. Tanto no arranque como no carregar do form só me actualiza um registo!
    Sabem dizer-me onde a posso colocar para que corra os registos todos?
    Um abraço,

    DoCmd.GoToRecord , , acFirst
    Me.primeiro = Me.ID
    DoCmd.GoToRecord , , acLast
    Me.ultimo = Me.ID

    DoCmd.GoToRecord , , acFirst
    DoCmd.OpenQuery "Consulta1", acViewNormal, acEdit
    Ciclo:
    If Me.ID <> Me.ultimo Then
    DoCmd.GoToRecord , , acNext
    DoCmd.OpenQuery "Consulta1", acViewNormal, acEdit
    GoTo Ciclo
    Else
    Exit Sub
    DoCmd.Close
    End If
    avatar
    Convidado
    Convidado


    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  Convidado 10/6/2011, 23:59

    Tente transformá-la em uma sub privada.. Assim

    Private Sub Start_Click()
    DoCmd.GoToRecord , , acFirst
    Me.primeiro = Me.ID
    DoCmd.GoToRecord , , acLast
    Me.ultimo = Me.ID

    DoCmd.GoToRecord , , acFirst
    DoCmd.OpenQuery "Consulta1", acViewNormal, acEdit
    Ciclo:
    If Me.ID <> Me.ultimo Then
    DoCmd.GoToRecord , , acNext
    DoCmd.OpenQuery "Consulta1", acViewNormal, acEdit
    GoTo Ciclo
    Else
    Exit Sub
    DoCmd.Close
    End If

    End Sub


    e No evento ao carregar desse form..

    Call Start_Click
    avatar
    luisev
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  luisev 11/6/2011, 00:18

    Caro amigo,
    Já experimentei e não deu.
    Por alguma razão ele não faz o ciclo if then, nem taopouco memoriza o primeiro e ultimo registo.
    No entanto, se clicar num botão de comando, ele corre toda a rotina!!!
    A dificuldade está em ao abriro formulário, e por ele só memorizar o 1º e o ultimo registo e a rotina if then... e fechar...
    Luis,
    avatar
    Convidado
    Convidado


    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  Convidado 11/6/2011, 00:26

    Faz o seguinte..
    Marca as linha em tempo de execução e roda a rotina... no form..
    Nao com o botao.. e sim com essa nova maneira que quer executar...

    abra o form e ele vai mostra a execução de linha por linha.. e ve onde esta o problema..
    onde interrompe a execução..

    Depois me fale..
    avatar
    Convidado
    Convidado


    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  Convidado 11/6/2011, 00:29

    Voce esta abrindo o form em oculto usando macro?

    DoCmd.GoToRecord , , acFirst
    Me.primeiro = Me.ID 'Primeiro, ultimo e ID são campos não acoplados?
    DoCmd.GoToRecord , , acLast
    Me.ultimo = Me.ID
    avatar
    luisev
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  luisev 11/6/2011, 00:37

    Não. Estou a abrir o form a partir de outro.
    Os campos primeiro e ultimo, são campos que nao fazer parte da tabela, apenas o ID.
    avatar
    Convidado
    Convidado


    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  Convidado 11/6/2011, 00:40

    Eentão abre um form através de outro certo?

    Se coloca a rotina em um botão da certo..
    Pergunto.. o botão em que form... no que esta aberto ou no que vai abrir?
    avatar
    luisev
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  luisev 11/6/2011, 00:43

    no que vou abrir.
    era suposto abrir, correr a rotina ao abrir ou carregar form, mas não dá.
    só corre a consulta num registo (o primeiro).
    avatar
    Convidado
    Convidado


    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  Convidado 11/6/2011, 01:01

    Pelo que eu entendi este form que abre utiliza valores contidos no form de origem certo?

    Se for isso não da certo pois a rotina esta sendo executada antes do form carregar os dados que a rotina usa...

    pois se essa rotina depender de valores no form que abrirá, e por sua vez este form depender de valores no form de origem..

    teria que carregar os valores primeiro e execurtar a rotina após isso...
    avatar
    luisev
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  luisev 11/6/2011, 01:03

    E como faço para marcar as linhar em tempo de execução e rodar a rotina?

    Sou novato nisto...
    avatar
    Convidado
    Convidado


    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  Convidado 11/6/2011, 01:08

    onde tem os códigos..
    tem uma barra do lado.. clique emcima dela e aparecera uma bolinha vermelha.. faça isso para todas as linhas que qer verificar... feche o VB
    e rode o form...

    Qualquer coisa post seu BD ou me envie..

    Harysohn@hotmail.com
    avatar
    luisev
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  luisev 12/6/2011, 23:09

    Boas pessoal,
    Como não consegui resolver como queria, optei por mostrar o form que antes estava oculto, onde apenas mostro um botao de comando do mesmo tamanho do form onde sou obrigado a clicar, executando assim o código.
    Penso que talvez o problema esteja no facto de estar a tentar correr o código antes dos dados do formulario estarem carregados.
    Apesar de ja ter contornado o problema, se alguem souber uma forma de inserir algum comando tipo delay ou ainda algum comando que no timer execute o código de um botao de comando, agradecia que me ajudassem.
    Cumprimentos,
    Luis,
    avatar
    Convidado
    Convidado


    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  Convidado 12/6/2011, 23:21

    Foi o que falei acima Luis... Veja:
    Pelo que eu entendi este form que abre utiliza valores contidos no form de origem certo?

    Se for isso não da certo pois a rotina esta sendo executada antes do form carregar os dados que a rotina usa...

    pois se essa rotina depender de valores no form que abrirá, e por sua vez este form depender de valores no form de origem..

    teria que carregar os valores primeiro e execurtar a rotina após isso...



    isso tem que ser executado depois de carregar os dados.. é so colocar no evento que acontece depois de o form estar carregado
    avatar
    luisev
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  luisev 13/6/2011, 19:21

    Boas tardes,
    Os dados do form nada tem a ver com os os anteriores abertos. As tabelas nem sequer são as mesmas. Quanto a isso não pode ser a causa da não execução do código. Fico sem saber o porquê de não funcionar. No entanto já contornei o problema de outra forma. Coloquei o código no evento timer,com intervalo de 1000. Já tinha tentado antes mas entrava em loop e desisti. Mas agora descobri que posso usar o evento enable=false. Contornei assim o problema.
    Obrigado,
    Luis,
    avatar
    Convidado
    Convidado


    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  Convidado 13/6/2011, 19:23

    Se resolveu.. resolvido está..
    O Fórum agradece o retorno!

    Conteúdo patrocinado


    [Resolvido]Executar rotina num Form Empty Re: [Resolvido]Executar rotina num Form

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 17:56