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


5 participantes

    [Resolvido]Contar dados não repetidos

    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Contar dados não repetidos

    Mensagem  dteixa 7/10/2012, 02:17

    BOAS
    Mais uma duvida que deixo aos mestres,

    Numa caixa de texto em um formulário é possivel contar os valores de um campo que não sejam repetidos?
    Ex.

    COLUNA A

    João
    Manuel
    Maria
    Maria
    João
    Paulo

    Total do campo (4)

    Tentei assim, mas conta tudo:
    =contar([nomedocampo])
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2115
    Registrado : 13/04/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Fernando Bueno 7/10/2012, 04:19

    dteixa boa noite.

    Acredito que seja como neste post veja:

    http://maximoaccess.forumeiros.com/t2197-resolvidonao-contar-campos-iguais


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Resolvido]Contar dados não repetidos 16rzeq
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 7/10/2012, 04:44

    Boas
    é mais ou menos isso, mas sem ser em SQL,
    pretendia direto na caixa de texto, tipo na Origem do Controlo
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Alexandre Neves 7/10/2012, 09:26

    Não terá solução fácil sem VBA


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2115
    Registrado : 13/04/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Fernando Bueno 7/10/2012, 10:25

    Concordo com Alexandre, não consigo enxergar nenhum metodo a não ser em VBA


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Resolvido]Contar dados não repetidos 16rzeq
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 8/10/2012, 01:41

    ok que seja em SQL, alguém pode indicar o código , por favor
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  criquio 8/10/2012, 01:59

    Uma forma de se fazer isso pode ser criando uma função assim:

    Private Function ContaGente() As Double

    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT DISTINCT NomeDoCampo FROM NomeDaTabela")

    ContaGente = rs.RecordCount

    rs.Close
    Set rs = Nothing

    End Function


    Agora, na origem do campo, coloque:

    =ContaGente()


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 8/10/2012, 02:49

    CRIQUIO,
    Agradeço a tua colaboração, mas não funcionou,
    dá no campo #nome?

    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  criquio 8/10/2012, 02:57

    Você criou a função no cabeçalho do módulo, fora dos eventos do formulário? Ou seja, abaixo das linhas Option Compare Database e, se existir, a linha Option Explicit? Colocou os nomes corretos da tabela e do campo que quer contar?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 8/10/2012, 03:43

    hummmm
    isso assim dito parece muito complicado Razz
    podes fazer um exemplo e por aqui para download?
    obrigado
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  criquio 8/10/2012, 03:49

    É simples de fazer. Você deve abrir o formulário no modo estrutura e abrir o módulo VBA dele. A primeira linha nesse módulo deve ser Option Compare Database. A função deve ser colada logo depois dessa linha. Depois de colar, basta mudar NomeDoCampo para o nome do campo que você quer contar e NomeDaTabela para o nome da tabela aonde está esse campo. Depois é só salvar, voltar na estrutura do formulário e colocar o nome da função na origem do campo aonde quer que apareça a quantidade:
    =ContaGente()


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 8/10/2012, 19:32

    Criquio, boas
    funciona sim, mas agora para complicar mais um pouco
    num subformulário o resultado é o total da tabela e não o filtrado, como resolver isso
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  criquio 8/10/2012, 19:54

    Deve ter um campo em comum a todos os registros do subform, certo? Transfira a função para o subformulário passando esse campo em comum no parâmetro de filtragem.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 8/10/2012, 20:59

    CRiquio, lol
    tens de falar numa linguagem que eu perceba Razz

    a tabela tem o nome CBsOutros e os campos NºOR, CBs, Viat e Bomb
    o SUBFormulário tem o nome de CBSOutrosSubformulário
    eu quero o resultado do nº de CBs filtrado por NºOR
    entendes?
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Lupércio 9/10/2012, 16:02

    Bom dia amigos, veja um exemplo que fiz bem simples!
    Anexos
    [Resolvido]Contar dados não repetidos AttachmentEXEMPLO CONTAR REGISTROS NÃO DUPLICADOS.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (27 Kb) Baixado 228 vez(es)
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Lupércio 9/10/2012, 16:14

    Testei criquio a tua função funfou beleza! Parabéns!
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 9/10/2012, 16:40

    Boas Lupércio
    Eu já tinha testado e verificado que funciona,
    o problema é quando estas num subformulário com a informação filtrada.

    só quero ver o total do sub e não o total da tabela, entendes?
    obrigado
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Lupércio 9/10/2012, 17:02

    Tem como postar parte do banco!
    Você quer contar os registros que está no subform ainda aberto é isso?







    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  criquio 9/10/2012, 18:02

    Uma ideia, supondo que tenha um campo no formulário principal que seja comum a todos os registros do subformulário e supondo que o nome desse campo na tabela seja Código e no formulário principal tambem:

    Código:
    ...
    Set rs = CurrentDb.OpenRecordset("SELECT DISTINCT NomeDoCampo FROM NomeDaTabela WHERE Código=" & Forms!NomeFormPrincipal!Código & "")
    ...


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 9/10/2012, 22:47

    Ora vamos lá então ver se assim já entendem
    no vídeo do link em baixo mostro onde quero o total (campo VERDE)

    https://www.youtube.com/watch?v=nhX6NmOjrFU&feature=youtu.be

    a BD é esta
    Anexos
    [Resolvido]Contar dados não repetidos Attachmentcontar_CBs.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (265 Kb) Baixado 80 vez(es)
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 11/10/2012, 00:35

    fui abandonado, pale
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Alexandre Neves 11/10/2012, 07:15

    Bom dia, dteixa
    REGRAS DO FÓRUM
    ...
    6. Respeite toda a equipe Staff e demais membros deste fórum.
    ...


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 11/10/2012, 07:58

    ???????????
    onde e quando eu faltei ao respeito a alguem?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Alexandre Neves 11/10/2012, 08:52

    Trate os membros com respeito. Eu cumprimentei-o com Bom dia
    O fórum é livre. Tem-se a obrigação de agradecer a ajuda prestada, mas não se tem o direito de ficar incomodado por não obter ajuda.
    Não escreva em maiúsculas, que significa gritar.
    A compreensão deve ser característica de todos, mas mais de quem precisa.
    Pense melhor, reflita, coloque-se no lugar de quem está interessado em ajudar e recebe uma resposta como a sua


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  criquio 11/10/2012, 12:11

    Eu não entendi muito bem o vídeo. No subformulário tem 3 registros mas você escreveu 2 no campo. Ao que parece a ideia é contar o número de registros do subformulário, é isso mesmo? Se for, tente colocar um campo de nome txtTotal por exemplo no rodapé do subformulário com a expressão =Count(*) e no formulário principal, coloque:

    =Forms!NomeDoFormPrincipal!NomeDoSubForm.Form!txtTotal


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 11/10/2012, 18:34

    Boas tardes,
    Alexandre Neves,
    não foi minha intenção faltar ao respeito a ninguém, as minhas desculpas.

    Criquio,
    eu escrevi o nº 2 porque eu quero contar os registos mas não repetidos, podes ver la no vídeo tem como ex.,
    1722- Boticas
    1705- Sabrosa
    1722- Botitas
    o total deve ser 2 porque um está repetido, dá para entender assim?
    obrigado
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Alexandre Neves 11/10/2012, 18:42

    Tudo bem, ultrapassado. Título alterado para apenas primeira maiúscula
    Acompanhe o fórum, mas fique a saber que se deve evitar o direccionamento das questões com inclinação para determinado membro, a menos que seja conveniente. Quando alguém lê uma dúvida direccionada pode julgar que o colega chamado possa interpretar como atropelo. Pode-se dizer: Ao colega tal ou outro que possa ajudar... e pomos no mesmo plano.
    Sobre a sua dúvida, abri o formulário Registo de Serviços e não entendi o que pretende.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 11/10/2012, 19:46

    Dá uma olhada lá no vídeo, quero o total da coluna "CBs" no subformulário, mas sem contar os repetidos
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Alexandre Neves 11/10/2012, 19:54

    Nomeie os controlos e campos de forma normalizada
    Indica Total CBs, é campo ou controlo?
    Onde vai buscar Total CBs?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 11/10/2012, 22:12

    CBs é um campo da tabela "CBsOutros", mas no caso eu quero o resultado não da tabela mas sim do subformulário "CBs Outros Subformulário" que é filtrado pelo "NºOr" do formulário "Registo de Serviços"
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Alexandre Neves 11/10/2012, 22:35

    dteixa,
    Precisa melhorar a nomeação de controlos e campos. Evite renomear campos, complica muito na hora de criar código.
    Coloque este código
    Private Sub CtlSeparador181_Change()
    If CtlSeparador181 = 1 Then
    Dim Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT DISTINCT CBs FROM [CBS outros] WHERE [NºOr]='" & DLookup("[NºOr]", "Registo_de_Serviços") & "';")
    If Not Rst.EOF Then Rst.MoveLast: Rst.MoveFirst
    TxtTotalCbs = Rst.RecordCount
    Set Rst = Nothing
    End If
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 11/10/2012, 23:51

    Não percebo nada disto lol!
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 12/10/2012, 01:54

    Bom, resolvi + ou - assim



    Private Function ContaCBs() As Double

    Dim rs As Recordset

    Set rs = CurrentDb.OpenRecordset("SELECT DISTINCT CBs FROM [CBS outros] WHERE [NºOr]='" & DLookup("[NºOr]", "Registo_de_Serviços") & "';")
    ContaCBs = rs.RecordCount
    Me.Txt9 = rs.RecordCount
    rs.Close
    Set rs = Nothing
    End Function

    e no evento "ao perder foco" do campo "CBs"

    Call ContaCBs

    Na BD de testes funciona bem mas quando importo para a minha BD Original já não funciona (sei que o problema está na Tabela "Registo_de_Serviços"

    como solucionar?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Alexandre Neves 12/10/2012, 18:06

    vá ao controlo separador, acontecimento AoAlterar, abra a janela de código e cole o código que indiquei.
    Experimentei e funcionou


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 12/10/2012, 22:23

    só uma duvida
    esta linha (TxtTotalCbs = Rst.RecordCount)
    o TxtTotalCbs é uma caixa do sub ou do form?
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 12/10/2012, 22:35

    ok, já vi é no form, mas está a dar-me o resultado 0


    confirmo que o problema está na tabela Registo_de_serviços
    na BD de testes funciona
    Na BD original já não funciona
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 13/10/2012, 21:16

    Boa Noite.
    para encerrar o topico, necessito de uma ultima ajuda,
    conforme já disse em cima estou com um problema que não sei identificar,
    depois de por os códigos do Alexandre Neves e do Criquio
    a tabela "Registo_de_Serviços" se estiver sem dados o calculo de CBs funciona bem mas se estiver com os dados antigos já não funciona,
    alguem sabe porque?

    a BD segue em anexo com as duas tabelas
    Anexos
    [Resolvido]Contar dados não repetidos Attachmentcontar_CBs_II.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.4 Mb) Baixado 69 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Alexandre Neves 15/10/2012, 18:39

    Boa tarde, teixa
    Coloque
    Private Sub CtlSeparador181_Change()
    If CtlSeparador181 = 1 Then
    Dim Rst As DAO.Recordset
    Set Rst = Me.CBs_Outros_subformulário.Form.RecordsetClone
    If Not Rst.EOF Then Rst.MoveLast: Rst.MoveFirst
    TxtTotalCbs = Rst.RecordCount
    Set Rst = Nothing
    End If
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 16/10/2012, 01:20

    Boas
    Obrigado por responder Alexandre
    assim ele conta só os registos do sub ,mas não distingue os repetidos.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Alexandre Neves 16/10/2012, 10:30

    Bom dia, teixa
    Isto está enrolado...
    Coloque
    Private Sub CtlSeparador181_Change()
    If CtlSeparador181 = 1 Then
    Dim Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT DISTINCT CBs FROM [CBs Outros] WHERE [NºOr]='" & Me.[NºOR] & "'")
    If Not Rst.EOF Then Rst.MoveLast: Rst.MoveFirst
    TxtTotalCbs = Rst.RecordCount
    Set Rst = Nothing
    End If
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 16/10/2012, 19:04

    Grande Alexandre
    quase perfeito, a funcionar a 99% cheers
    0 1% é porque não atualiza automaticamente ao sair do campo, mas assim já me safo
    muito obrigado
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Alexandre Neves 16/10/2012, 19:12

    Onde pretender actualizar, coloque NomeControlo.Requery


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  dteixa 17/10/2012, 00:56

    Estou um pouco perdido mas mesmo assim satisfeito.
    Obrigado a todos

    Conteúdo patrocinado


    [Resolvido]Contar dados não repetidos Empty Re: [Resolvido]Contar dados não repetidos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 07:40