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]Utilizar DCount dentro de Update

    avatar
    Lu Kobe
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 26/08/2013

    [Resolvido]Utilizar DCount dentro de Update Empty [Resolvido]Utilizar DCount dentro de Update

    Mensagem  Lu Kobe 2/7/2014, 15:28

    Bom dia a todos!
    Utilizo muito esse fórum para minhas dúvidas, mas nunca cheguei a precisar abrir um tópico... Acho que agora é o caso! Smile

    Seguinte: Tenho um banco com 3 níveis de dados (3 tabelas vinculadas): A primeira (001crit), possui vários registros vinculados da segunda (002item), que possui vários registros vinculados da terceira (003afirm)...
    Em português (!): São vários Critérios, que possuem vários Itens vinculados, que possuem várias Afirmativas vinculadas. As tabelas possuem relação um-pra-muitos...

    Tenho um form para a tabela 001crit, com subfor pra tabela 002item e um form popup para a tabela 003afirm...
    Um dos campos da tabela 002item é a quantidade de registros vincuados da tabela 003afirm.

    Fiz um código para o evento "fechar" do form popup (que exclui, edita vínculo aos Itens e inclui Afirmativas), utilizando Update com Dcount para atualizar o campo de qtde de afirmativas da tabela 002itens, mas o código está zerando esse campo para todos os registros...

    Segue o código:
    Private Sub Form_Close()

    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset

      Set dbs = CurrentDb
      Set rst = dbs.OpenRecordset("002item")
     
      Do Until rst.EOF
      DoCmd.RunSQL "UPDATE 002item SET 002item.itemqaf = DCount('[afirmn]', '003afirm', [itemn] = '[002item].[itemn]');"
      rst.MoveNext
      Loop

    Form_003Itemsub.Refresh

    End Sub
    _________________________________

    Estou a 3 dias tentando fazer esse código funcionar... Sem sucesso...
    Peço socorro!!!
    Abraço!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Utilizar DCount dentro de Update Empty Re: [Resolvido]Utilizar DCount dentro de Update

    Mensagem  Alvaro Teixeira 2/7/2014, 16:27

    Olá,

    [002item].[itemn] é algum campo do formulário Form_003Itemsub?

    Se for exprimentar assim

    DoCmd.RunSQL "UPDATE 002item SET 002item.itemqaf = DCount('[afirmn]', '003afirm', [itemn] = """ &[002item].[itemn] &""");"
    avatar
    Lu Kobe
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 26/08/2013

    [Resolvido]Utilizar DCount dentro de Update Empty Re: [Resolvido]Utilizar DCount dentro de Update

    Mensagem  Lu Kobe 2/7/2014, 17:24

    Oi, ahteixeira!

    Pro código do Update e Dcount estou utilizando somente os campos das duas tabelas envolvidas: 003afirm (que será atualizada pelo form popup) e 002item (que terá o campo itemqaf atualizado pelo código, após as atualizações da 003afirm).

    Tentei usar os campos do formulário, mas não dá certo porque o código só utiliza a informação do campo em foco do subform, e a quantidade de afirmativas pode alterar para mais de um item se, por exemplo, no form popup eu alterar, para um afirmativa, a vinculação de um item para outro...

    O campo [itemn] é o campo em comum (com relação um-para-muitos) das tabelas 002item e 003afirm.

    Outra questão que identifiquei é que eu não posso usar aspas duplas dentro do Dcount, por ele estar dentro do Update.
    avatar
    Lu Kobe
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 26/08/2013

    [Resolvido]Utilizar DCount dentro de Update Empty Re: [Resolvido]Utilizar DCount dentro de Update

    Mensagem  Lu Kobe 2/7/2014, 17:35

    Estou anexando o bd simplificado para facilitar!!
    Smile
    Anexos
    [Resolvido]Utilizar DCount dentro de Update AttachmentDatabase1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (77 Kb) Baixado 10 vez(es)
    avatar
    Lu Kobe
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 26/08/2013

    [Resolvido]Utilizar DCount dentro de Update Empty Re: [Resolvido]Utilizar DCount dentro de Update

    Mensagem  Lu Kobe 3/7/2014, 17:28

    Ninguém????
     Crying or Very sad 
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Utilizar DCount dentro de Update Empty Re: [Resolvido]Utilizar DCount dentro de Update

    Mensagem  Alvaro Teixeira 3/7/2014, 18:24

    Ola,

    Hoje tou com pouco tempo, mas não está esquecido
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Utilizar DCount dentro de Update Empty Re: [Resolvido]Utilizar DCount dentro de Update

    Mensagem  Alvaro Teixeira 4/7/2014, 01:57

    Olá

    Exprimenta assim

    Código:

    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    Dim contador As String

       Set dbs = CurrentDb
       Set rst = dbs.OpenRecordset("002item")
      
       Do Until rst.EOF
        contador = DCount("[afirmn]", "003afirm", "[itemn] = '" & rst.Fields(1) & "'")
        DoCmd.RunSQL "UPDATE 002item SET 002item.itemqaf = '" & contador & "' WHERE [002item].[itemn] = '" & rst.Fields(1) & "';"
       rst.MoveNext
       Loop

    Form_003Itemsub.Refresh

    Fico aguardar retorno
    avatar
    Lu Kobe
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 26/08/2013

    [Resolvido]Utilizar DCount dentro de Update Empty Re: [Resolvido]Utilizar DCount dentro de Update

    Mensagem  Lu Kobe 4/7/2014, 14:56

    Uau!!! Ficou perfeito, ahteixeira!!
    Funcionou redondo!

    Obrigada!
     lol! 

    Conteúdo patrocinado


    [Resolvido]Utilizar DCount dentro de Update Empty Re: [Resolvido]Utilizar DCount dentro de Update

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 1/5/2024, 22:21