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]Criar registro automático

    Compartilhe
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 23/05/2011

    [Resolvido]Criar registro automático

    Mensagem  Ney Santos em 25/8/2018, 04:24

    Boa noite!
    TEnho uam tabela com clientes cujas coeltas são automaticas: ou seja já é definido que o caminhao deve passar todos os dias para efetuar coletas.
    Nessa tabela existe um campo que determina isso.
    Baseado nisso criei ua consulta que filtra esse tipo de cliente, e com isso aliemnto um form. continuo
    Nesse form tem um botão onde tenho o seguinte código para gerar ordem de coleta.
    Private Sub Comando7_Click()
    Dim BancoDeDados As Database
    Dim Tabordem As Recordset
     Mensagem = "Pedido de Coleta"
     
       'Inserindo o lançamento
       Set BancoDeDados = CurrentDb
       Set Tabordem = BancoDeDados.OpenRecordset("tblOrdensServiço")
                       Dim Y As Variant
     
     Y = DMax("[PKidOrdemServiço]", "tblOrdensServiço")
     If IsNull(Y) Then
     Y = 0
     End If
      With Tabordem
               .AddNew
               !PKidOrdemServiço = (Y + 1)
              ' Me.CpCódigo = !PKidOrdemServiço
                !FKidColaborador = Null
               !DataCol = Date
               !Hora = Time
               !IDCLIENTE = Me.CpIdCliente
               !Solicitante = "Autoamtico"
        !Atendente = 3
        !Volumes = 1
        !Peso = 1
     '  Me.CpData = !DataCol
     '  Me.cpHora = !Hora
     escolha = (MsgBox("Confirma coleta ?", vbYesNo, "Confirmação"))
     If escolha = vbYes Then
     .Update
     DoCmd.GoToRecord , , acNext
     Else
     DoCmd.CancelEvent
     End If
      End With
    End Sub


    Bom o código funciona perfeitamente, mas preciso modificalo para que essas coeltas fose gerardas em um unico clique, e tambem impedir que essa coleta automatica fosse criada mais de uaam vez ao dia.
    Alguam ideia de como posso fazer  isso?

    Att
    Ney Santos


    Última edição por Alexandre Neves em 27/8/2018, 17:32, editado 1 vez(es) (Razão : Corrigi título (de 'Criar registro auitomatico' para 'Criar registro automático'))
    avatar
    tauron
    VIP
    VIP

    Respeito às Regras 100%

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

    Re: [Resolvido]Criar registro automático

    Mensagem  tauron em 25/8/2018, 13:34

    Amigo poste seu bd assim fica melhor para ajudar.
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 23/05/2011

    Re: [Resolvido]Criar registro automático

    Mensagem  Ney Santos em 26/8/2018, 01:37

    segue bd compactado
    Anexos
    Banco de dados.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (260 Kb) Baixado 11 vez(es)
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 23/05/2011

    Re: [Resolvido]Criar registro automático

    Mensagem  Ney Santos em 27/8/2018, 05:46

    alguem tem uma sugestao?
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 23/05/2011

    Re: [Resolvido]Criar registro automático

    Mensagem  Ney Santos em 29/8/2018, 01:07

    Boa noite!
    Alguem tem alguma sugestão?
    Ou alguma função que verifique se na data atual ja exista uma coleta para aquele cliente evitando que se cadstre 2 coletas para o emsmo cliente no esmo dia?
    Como eu expliquei no começo essas coeltas são automaticas, devido ao criterio na tbl clienets que diz que esse cliente tem coleta automatica.
    Oque gostaria de fazer e impedir que essa coletra fosse lançada mais de uam vez no emso dia.
    sendo permitida uam nova coelta soemnte no dia seguinte.
    avatar
    tauron
    VIP
    VIP

    Respeito às Regras 100%

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

    Re: [Resolvido]Criar registro automático

    Mensagem  tauron em 29/8/2018, 01:48

    Não tinha visto seu arquivo, chegando agora em casa ja baixei e vou tentar entender a dinamica.
    avatar
    tauron
    VIP
    VIP

    Respeito às Regras 100%

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

    Re: [Resolvido]Criar registro automático

    Mensagem  tauron em 29/8/2018, 03:11

    Veja se estamos no caminho certo.
    Anexos
    Banco de dados_v12.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (186 Kb) Baixado 15 vez(es)
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 23/05/2011

    Re: [Resolvido]Criar registro automático

    Mensagem  Ney Santos em 29/8/2018, 16:22

    bom dia!
    Qual foi a mudançla efetuada?
    eu não localizai
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 23/05/2011

    Re: [Resolvido]Criar registro automático

    Mensagem  Ney Santos em 29/8/2018, 21:01

    Desculpe deposi lendo atentamente o novo código vi a sua alteração.
    pelo que enetendi vc conseguiu impedir que as coletas automasticas sejam efetuadas mais de uma vez no dia.Bom é por ai mesmo.
    porem gostaria de saber se existe alguma maneira de adaptar esse código para que ele lançasse todos as coeltas de uma vez num unico clique.
    avatar
    tauron
    VIP
    VIP

    Respeito às Regras 100%

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

    Re: [Resolvido]Criar registro automático

    Mensagem  tauron em 30/8/2018, 10:22

    Então, nessa hora vou pedir ajuda aos "mestres". Embarassed
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 23/05/2011

    Re: [Resolvido]Criar registro automático

    Mensagem  Ney Santos em 30/8/2018, 13:26

    Razz Razz Razz Razz
    Estava testando atentamente e vi que ele ainda permite cdastrar a coleta 2 vezes para o emsmo cliente
    caso não tenha mudado de registro.
    Vamos supor que o cliente clique 2 vezes por engano no mesmocliente ele acaba gerando a coleta.
    ja tentei alguns código pra impedir mas nao consigo
    avatar
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 487
    Registrado : 13/12/2016

    Re: [Resolvido]Criar registro automático

    Mensagem  Alexandre Fim em 30/8/2018, 13:59

    Bom dia Ney,

    Baixei o seu sistema e estou analisando.
    Assim que eu tiver uma solução eu posto aqui.

    []'s

    avatar
    tauron
    VIP
    VIP

    Respeito às Regras 100%

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

    Re: [Resolvido]Criar registro automático

    Mensagem  tauron em 30/8/2018, 14:48

    bom dia Ney, sim o codigo nao está completo pois falta a parte onde deve gerar uma ordem de serviço não conclui tudo.
    Faca uma teste simples:

    Imediatamente abaixo da linha "docmd.gotorecord,, acnewrec", acrescente as linhas abaixo:

    DoCmd.Close acForm, "tblCliente Consulta"
    DoCmd.OpenForm "tblCliente Consulta"



    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 23/05/2011

    Re: [Resolvido]Criar registro automático

    Mensagem  Ney Santos em 30/8/2018, 16:02

    Prezado Alexandre !
    Obrigado pelo retorno, fico no aguardo.

    Att
    Ney
    avatar
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 487
    Registrado : 13/12/2016

    Re: [Resolvido]Criar registro automático

    Mensagem  Alexandre Fim em 30/8/2018, 16:04

    Ney,

    Criei um formulário chamado "frmColeta", onde voce pode selecionar um ou mais clientes para geração da coleta.

    Seguem imagens

    Un ou mais clientes:

    [Você precisa estar registrado e conectado para ver esta imagem.]


    Todos os clientes selecionados através do checkbox  "Selecionar todos os clientes"

    [Você precisa estar registrado e conectado para ver esta imagem.]


    Ao clicar em Gerar coleta, o sistema verifica todos os clientes que estão selecionados e gera a coleta automaticamente.

    Faça os testes e qualquer problema nos avise.

    Boa sorte

    []'s
    Anexos
    Coleta.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (209 Kb) Baixado 6 vez(es)
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 23/05/2011

    Re: [Resolvido]Criar registro automático

    Mensagem  Ney Santos em 30/8/2018, 18:01

    Prezado Alexandre!
    Muito obrigado o visual está show de bola, porem o codigo funcionou somente uma vez.
    Explico:
    fiz os teste e tudo ok, dai mudei a data do cpu paar simular um novo dia e independente da nova data ser antes ou depois da data de hoje ele ja não gera, informa que as coletas ja estão feitas.
    Olhando seu código verifiquei que a seguinte linha trata dessa parte:
    If icont = .ListCount - 1 Then
               Validar = False
               MsgBox "Não existem coletas para gerar.", vbExclamation, "Aviso"
           Else
               Validar = True
           End If
    creio que aqui deveria haver a comparção para verificar se a data atual ja existe coleta, caso nao houvessse a funçao seria executada.
    Porem não faço a minima ideoa de como mudar essa linha.
    Não estou muito acostumado com sua maneira de programar, que alias me parece ser muito mais prática do que a que eu uso.
    att

    Ney
    avatar
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 487
    Registrado : 13/12/2016

    Re: [Resolvido]Criar registro automático

    Mensagem  Alexandre Fim em 30/8/2018, 18:11

    Ok Ney...entendi.
    Mas só pode ter uma coleta para o mesmo cliente no mesmo dia, correto?

    Já vou arrumar e aproveitar para documentar o código pra vc enter o que foi feito.

    Ate mais.

    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 23/05/2011

    Re: [Resolvido]Criar registro automático

    Mensagem  Ney Santos em 30/8/2018, 18:21

    isso mesmo!
    Como eu expliquei no começo do topico, criei uma consulta que filtra os clientes cuja coleta é automática.
    Dessa forma caso o cleinte pare de  enviar coleta todo dias, bast ir em seu cadastro e desmnarcar essa opção.
    Outra coisa que notei , é que ele carrega a lista das coeltas na  minha ideia seria carregar a lista dos clietes que são automaticos.
    Outra coisa que percebi a lista esta carregando todos os clientes quando deveria carregar somente clientes cujo campo"Automatico" da Tbl Cliente e verdadeiro"
    Espero ter explicado bem.


    Att

    Ney
    avatar
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 487
    Registrado : 13/12/2016

    Re: [Resolvido]Criar registro automático

    Mensagem  Alexandre Fim em 30/8/2018, 19:25

    Ok...sem problemas.
    avatar
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 487
    Registrado : 13/12/2016

    Re: [Resolvido]Criar registro automático

    Mensagem  Alexandre Fim em 30/8/2018, 21:25

    Olá Ney,

    Fiz as devidas implementações, conforme você solicitou.
    Eu comentei cada rotina do código pra você entender melhor o que elas executam.

    OBS: Para mudar a Data de Coleta não é necessário alterar a data do PC, é só alterar a data no campo que o listbox é gerado. Quando houver a necessidade de bloquear, vá na propriedade do campo e bloqueie.

    Boa sorte.

    Espero ter ajudado.

    []'s
    Anexos
    ColetaNew.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (219 Kb) Baixado 6 vez(es)
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 23/05/2011

    Re: [Resolvido]Criar registro automático

    Mensagem  Ney Santos em 30/8/2018, 21:49

    Prezado Alexandre!
    Muito obrigado, oque dizer depois de uma aula como essa?
    Lendo seus cometarios pude entender perfeitamente oque voce criou.
    Só posso dizer que estou maravilahdo com esa aula, e vejo como preciso aprender a programar
    não afzia ideia que existia esse tipo de linguagem para o acces tambem e percebo como sou limitado.
    Meu muito obrigado, pra mim ficou mais que perfeito.
    avatar
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 487
    Registrado : 13/12/2016

    Re: [Resolvido]Criar registro automático

    Mensagem  Alexandre Fim em 30/8/2018, 22:06

    Prezado Ney,

    A cada dia que passa aprendemos mais.

    Tudo o que eu fiz está na internet e se possível, procure aprender mais sobre Programação VBA, pois desta forma você tem mais controle do que está desenvolvendo e a manutenção fica mais fácil quando se faz num lugar só.

    O importante é que você entendeu o funcionamento das rotinas no código. Sempre que puder, faça mais VBA. Arrisque !!! Tente !!!

    Um grande abraço!!!
    Boa sorte




      Data/hora atual: 15/10/2018, 20:50