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]Update VBA - com variáveis

    Compartilhe

    xoxe
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 230
    Registrado : 27/03/2016

    [Resolvido]Update VBA - com variáveis

    Mensagem  xoxe em Qua 13 Jul 2016, 14:16

    Bom dia!

    Estou tentando (e tomando surra rs) para fazer update pelo VBA, porém não estou conseguindo.

    Segue código

    Código:
    Dim stDocName, servico1, servico2, UserAdm, DiaEscala1, DiaEscala2, HoraEscala1, HoraEscala2, SupResp1, SupResp2 As String
        servico1 = servico1txt
        servico2 = servico2txt
        UserAdm = txtUserAtual
        DiaEscala1 = DiaEscala1txt
        DiaEscala2 = DiaEscala2txt
        HoraEscala1 = HoraEscala1txt
        HoraEscala2 = HoraEscala2txt
        SupResp1 = SupResp1txt
        SupResp2 = SupResp2txt
       
       
        If IsNull(chave1txt) Or IsNull(chave2txt) Then
        MsgBox "Por favor, informe uma chave", vbExclamation, "Mensagem"
           
        ElseIf UserAdm = "Trafego" Then


        CurrentDb.Execute "UPDATE TabEscala SET Servico = 'servico1', DiaEscala = 'DiaEscala1', HoraEscala = 'HoraEscala1', SupResp = 'SupResp1' WHERE (([ChaveOp]=[Formulários]![FrmEscala]![chave2txt]) AND ([DiaFDS]=[Formulários]![FrmEquipe]![DiaTxt]))"
        CurrentDb.Execute "UPDATE TabEscala SET Servico = 'servico2', DiaEscala = 'DiaEscala2', HoraEscala = 'HoraEscala2', SupResp = 'SupResp2' WHERE (([ChaveOp]=[Formulários]![FrmEscala]![chave1txt]) AND ([DiaFDS]=[Formulários]![FrmEquipe]![DiaTxt]))"

         
        MsgBox "Troca efetuada!", vbInformation, "Sucesso"

    chave1txt = ""
    chave2txt = ""

    refresh
       
       
       
    End if

    Está dando erro de parametros. eram esperados 2 Rolling Eyes


    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.

    wellingtoneo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 181
    Registrado : 30/07/2012

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  wellingtoneo em Qua 13 Jul 2016, 15:56

    Bom dia!

    Amigo, o que está entre ' ' é referente as variáveis declaradas no inicio do código? Se sim, tente colocar ' & variável & ' veja:

    Código:
    CurrentDb.Execute "UPDATE TabEscala SET Servico =' & servico1 &', DiaEscala =' & DiaEscala1 & ', HoraEscala =' & HoraEscala1 &', SupResp =' & SupResp1 & ' WHERE (([ChaveOp]=[Formulários]![FrmEscala]![chave2txt]) AND ([DiaFDS]=[Formulários]![FrmEquipe]![DiaTxt]))"

    xoxe
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 230
    Registrado : 27/03/2016

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  xoxe em Qua 13 Jul 2016, 16:09

    Permanece dando a mensagem "Parametros insuficientes. Eram esperados 2"


    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.

    wellingtoneo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 181
    Registrado : 30/07/2012

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  wellingtoneo em Qua 13 Jul 2016, 16:17

    Você realizou o procedimento nas duas consultas?
    Olha se a Cláusula Where está dando problemas de referência.
    Coloca um ponto de interrupção no código e na janela de verificação imediata cola o código abaixo.

    ?(([ChaveOp]=[Formulários]![FrmEscala]![chave2txt]) AND ([DiaFDS]=[Formulários]![FrmEquipe]![DiaTxt]))

    no resultado você pode olhar se o parâmetros estão corretos.

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2302
    Registrado : 14/08/2013

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  FabioPaes em Qua 13 Jul 2016, 16:45

    Senhores, salvo engano as Variaveis ficam entre " & &" para Numero e '"& &"' para Texto.


    Servico = " & servico1 &"


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    xoxe
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 230
    Registrado : 27/03/2016

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  xoxe em Qua 13 Jul 2016, 17:01

    E para hora??


    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.

    wellingtoneo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 181
    Registrado : 30/07/2012

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  wellingtoneo em Qua 13 Jul 2016, 17:08

    se não me engano para hora e data é # #.

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2302
    Registrado : 14/08/2013

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  FabioPaes em Qua 13 Jul 2016, 17:19

    A data Fica entre " " o diferencial e que entre o # inicio e #Fim...

    # " & Me.CampoData & " #


    É aconselhado tambem formatar essa data para mm/dd/yyyy para evitar uma confusao pelo VBA... Ex: 06/05/2016 pode ser compreendido que o mes é 06 e o dia é 05.


    FIcando assim: # " & Format(Me.CampoData, "mm/dd/yyyy") & " #


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    xoxe
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 230
    Registrado : 27/03/2016

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  xoxe em Qua 13 Jul 2016, 18:19

    Código:
    CurrentDb.Execute "UPDATE TabEscala SET Servico = '" & servico1 & "', DiaEscala = '" & DiaEscala1 & "', HoraEscala = # " & Format(HoraEscala1, "mm/dd/yyyy") & " #, SupResp = '" & SupResp1 & "' WHERE (([ChaveOp]=[Formulários]![FrmEscala]![chave2txt]) AND ([DiaFDS]=[Formulários]![FrmEquipe]![DiaTxt]))"


    Modifiquei o código, mas permanece com o erro Parâmetros insuficientes. Eram esperados 2.


    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2302
    Registrado : 14/08/2013

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  FabioPaes em Qua 13 Jul 2016, 19:42

    So nos resta pedir seu exemplo amigo... Posta aqui favor!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    xoxe
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 230
    Registrado : 27/03/2016

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  xoxe em Qua 13 Jul 2016, 20:14

    Re: Update VBA - com variáveis
    Mensagem  FabioPaes Hoje à(s) 13:19
    +
    ----
    -
    A data Fica entre " " o diferencial e que entre o # inicio e #Fim...

    # " & Me.CampoData & " #


    É aconselhado tambem formatar essa data para mm/dd/yyyy para evitar uma confusao pelo VBA... Ex: 06/05/2016 pode ser compreendido que o mes é 06 e o dia é 05.


    FIcando assim: # " & Format(Me.CampoData, "mm/dd/yyyy") & " #


    Agora que me liguei, é para HORA e não DATA.

    De qualquer modo, segue Banco de dados, formulário principal "FrmEquipe" [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2302
    Registrado : 14/08/2013

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  FabioPaes em Qua 13 Jul 2016, 20:34

    Para hora continua da mesma forma que lhe falei... # ... #

    Fiquei perdido no seu sistema, nao sei como simular o erro!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    xoxe
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 230
    Registrado : 27/03/2016

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  xoxe em Qua 13 Jul 2016, 20:38

    Isso é a escala de trabalho dos operadores aqui da Central de atendimento.

    Simule por exemplo escolhendo um supervisor qualquer e selecione a data 16/07/2016.
    Lá clique em troca e em seguida informe a chave de 2 operadores diferentes e veja se ocorrerá a troca.


    Consegui ser claro?


    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.

    wellingtoneo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 181
    Registrado : 30/07/2012

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  wellingtoneo em Qua 13 Jul 2016, 22:02

    Amigo, tente o código a baixo, se funcionar, como exercício aplica na segunda consulta...
    Código:

     CurrentDb.Execute "UPDATE TabEscala SET [Servico] = '" & servico1 & "', [DiaEscala] = '" & DiaEscala1 & "', [HoraEscala] = '" & HoraEscala1 & "', [SupResp] ='" & SupResp1 & "' WHERE (([ChaveOp]='" & Forms!FrmEscala!chave2txt & "') AND ([DiaFDS]= #" & Format(Forms!FrmEquipe!DiaTxt, "mm/dd/yyyy") & "#))"

    xoxe
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 230
    Registrado : 27/03/2016

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  xoxe em Qui 14 Jul 2016, 11:08

    Perfeito, funcionou!


    Só uma duvida, como estou declarando variáveis, o valor ficará armazenado nelas, correto?

    Estava fazendo de outra forma (pelo assistente do access) e em alguns momentos ocorria duplicidade de valores.

    [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.

    wellingtoneo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 181
    Registrado : 30/07/2012

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  wellingtoneo em Qui 14 Jul 2016, 14:15

    Os valores armazenados nas variáveis ficando nela durante aquele procedimento. Após isso eles são eliminados. Agora, pelo que eu vir do seu sistema, se a pessoa esquecer de clica em consulta antes de realizar a troca as informações não são alteradas... Acho que esse é o problema da duplicação. O que você acha?

    xoxe
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 230
    Registrado : 27/03/2016

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  xoxe em Qui 14 Jul 2016, 14:27

    Nem é, se não clicar em consulta os campos ficarão vazios (nulos), creio que seja realmente como estava antes..

    Já fiz a alteração no sistema daqui na empresa, irei observar se teremos reclamações.. Caso contrário, penso em outra solução!

    Obrigado pela ajuda de todos!



    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.

    wellingtoneo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 181
    Registrado : 30/07/2012

    Re: [Resolvido]Update VBA - com variáveis

    Mensagem  wellingtoneo em Qui 14 Jul 2016, 14:49

    Ok, qualquer coisa estamos ai...

      Data/hora atual: Dom 04 Dez 2016, 14:15