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


2 participantes

    [Resolvido]Loop dando erro

    avatar
    braine
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 80
    Registrado : 16/01/2014

    [Resolvido]Loop dando erro Empty [Resolvido]Loop dando erro

    Mensagem  braine 25/7/2017, 19:12

    Quero quando Clicar em "Cancelar" ele exclua os lançamentos todos do ultimo para o primeiro. Utilizando o "Formexclusaoitem".

    Já o utilizo dando duplo Click para cancelar um a um do listbox. Funciona corretamente desfazendo os lançamentos.

    Já aqui ele da erro na opção em negrito abaixo. Se esperar alguns segundos ele continua normalmente.

    Private Sub Cancelar_Click()
    Dim Cancelar As Byte
    Dim itens As Byte
    Do While Cancelar < Me!TotalItens 'Será executado exatamente a quantia de itens da nota'
     
    DoCmd.OpenForm "formexclusaoiten", , , "NumeroItens =" & TotalItens
    Forms!formexclusaoiten.Visible = True 'mostra o formulário "formexclusaoiten"
    Forms!formexclusaoiten!Excluir.SetFocus

    'Diminui o item excluido
    itens = Forms!fornotafiscal!TotalItens - 1
    Forms!fornotafiscal!TotalItens = Null
    Forms!fornotafiscal!TotalItens = itens

      Cancelar = Cancelar + 1
    Loop
    End Sub

    [Resolvido]Loop dando erro Formul13
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Loop dando erro Empty Re: [Resolvido]Loop dando erro

    Mensagem  Cláudio Más 25/7/2017, 21:50

    Manda o foco para o formulário, antes do botão Excluir:

    Forms!formexclusaoiten.SetFocus
    Forms!formexclusaoiten!Excluir.SetFocus
    avatar
    braine
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 80
    Registrado : 16/01/2014

    [Resolvido]Loop dando erro Empty Re: [Resolvido]Loop dando erro

    Mensagem  braine 26/7/2017, 14:44

    Funciona quando "Exclui" o 1º item, quando vai fazer o segundo para.

    Segue o formulário para você ver. Coloquei a "Exclusão" por "duplo Click", para excluir manualmente um a um e funciona corretamente.

    Se puder me ajudar agradeço.

    Formulario "ForNotaFiscal".

    Já tem 4 lançamentos, se Clicar em "Cancelar Nota"
    Anexos
    [Resolvido]Loop dando erro AttachmentFormulario cancelar.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (555 Kb) Baixado 4 vez(es)
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Loop dando erro Empty Re: [Resolvido]Loop dando erro

    Mensagem  Cláudio Más 26/7/2017, 15:25

    Acho que toda a programação pode ser substituída pelas duas linhas abaixo:

    CurrentDb.Execute "Delete * From TabitensNota Where NotaFiscal = '" & Me!NotaFiscal & "'"
    Me!Lista.Requery
    avatar
    braine
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 80
    Registrado : 16/01/2014

    [Resolvido]Loop dando erro Empty Re: [Resolvido]Loop dando erro

    Mensagem  braine 26/7/2017, 17:07

    Sim apaga realmente, mas não desfaz as alterações que foram feitas na tabempenhoitens.
    E quando tiver vários empenhos pode acontecer de ter varias notas com o mesmo numero pois tem varias empresas que entregam produtos.

    Se tiver como guardar os valores em variaveis e atualizar os valores direto na tabempenhoitens conforme for atualizando excluindo, acho que daria certo.

    Só não sei como fazer
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Loop dando erro Empty Re: [Resolvido]Loop dando erro

    Mensagem  Cláudio Más 26/7/2017, 20:33

    Aí já são várias outras dúvidas, melhor dividir em mais posts para outros também poderem ajudar.
    avatar
    braine
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 80
    Registrado : 16/01/2014

    [Resolvido]Loop dando erro Empty Re: [Resolvido]Loop dando erro

    Mensagem  braine 31/7/2017, 12:03

    Resolvido segue o Codigo abaixo como ficou do botão cancelar:

    Dim entr As Integer
    Dim aen As Integer
    Dim val As Integer
    Dim Itens As Byte

    Do Until Me!TotalItens = 0

    DoCmd.Requery

    entr = Forms!fornotafiscal!ConsAcertoEmpenho.Form!entregue.Value - Forms!fornotafiscal!ConsItenExclusao.Form!entregue.Value
    aen = Forms!fornotafiscal!ConsAcertoEmpenho.Form!Aentregar.Value
    val = Forms!fornotafiscal!ConsAcertoEmpenho.Form!valorentregue.Value

    'Atualiza os campos "Entregue", "AEntregar" e "ValorEntregue"
    Forms!fornotafiscal!ConsAcertoEmpenho.Form!entregue = Null 'limpa o campo Entregue
    Forms!fornotafiscal!ConsAcertoEmpenho.Form!entregue = entr ' - Forms!fornotafiscal!ConsItenExclusao!entregue 'Atualiza o valor Entregue

    Forms!fornotafiscal!ConsAcertoEmpenho.Form!Aentregar = Null 'limpa o campo Aentregar
    Forms!fornotafiscal!ConsAcertoEmpenho.Form!Aentregar = aen + Forms!fornotafiscal!ConsItenExclusao!entregue 'Atualiza o valor Aentregar

    Forms!fornotafiscal!ConsAcertoEmpenho.Form!valorentregue = Null 'limpa o campo Valor Entregue
    Forms!fornotafiscal!ConsAcertoEmpenho.Form!valorentregue = Forms!fornotafiscal!ConsAcertoEmpenho!entregue * Forms!fornotafiscal!ConsItenExclusao!PrecoUnitario 'Atualiza o Valor Entregue

    'Atualiza o Status da mercadoria
    Select Case Forms!fornotafiscal!ConsAcertoEmpenho.Form!entregue.Value
    Case Is = 0
    Forms!fornotafiscal!ConsAcertoEmpenho.Form!Status.Value = "Não Entregue"

    Case Is = Forms!fornotafiscal!ConsAcertoEmpenho.Form!Quantidade.Value
    Forms!fornotafiscal!ConsAcertoEmpenho.Form!Status.Value = "Entregue"

    Case Is < Forms!fornotafiscal!ConsAcertoEmpenho.Form!Quantidade.Value
    Forms!fornotafiscal!ConsAcertoEmpenho.Form!Status.Value = "Parcial"

    End Select

    Itens = Forms!fornotafiscal!TotalItens - 1
    Forms!fornotafiscal!TotalItens = Null
    Forms!fornotafiscal!TotalItens = Itens

    DoCmd.Requery
    Loop

    End Sub

    Conteúdo patrocinado


    [Resolvido]Loop dando erro Empty Re: [Resolvido]Loop dando erro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 22:28