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


4 participantes

    [Resolvido]Contar sem repetições

    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Contar sem repetições Empty Contar sem repetições

    Mensagem  Flashed 4/10/2011, 09:58

    Boas

    Estou a tentar contar o numero de funcionário que estiveram a trabalhar numa determinada maquina e a fazer um Distinct sobre eles! Pois quero o total de funcionários que tiveram a trabalhar mas sem repetições!

    Dai estar a tentar juntar o distinct e o count! Mas não esta a dar lá muito resultado!
    Como fazo para contar o números de pessoas mas sem contar a mesma pessoa duas vezes.

    Código:

    Private Sub numerodepessoas()
    Dim ws As DAO.Workspace
    Dim Db As DAO.Database
    Dim StrSql As String
    Dim Rs As DAO.Recordset

    Set ws = DBEngine.Workspaces(0)
    Set Db = ws.OpenDatabase(CurrentProject.Path & "\teste.accdb", False, False, "MS Access;PWD=senha")

    StrSql = "SELECT Distinct (numero) as total1 FROM teste WHERE projecto = '" & Me.txtID & "' And tarefa = " & CInt(Me.Text54)
    Set Rs = Db.OpenRecordset(StrSql)
    Rs.MoveFirst
    Do
    CurrentDb.Execute "UPDATE Horas SET numerodepessoas='" & Rs.Fields("total1") & "' WHERE projecto ='" & Me.txtID & "' And tarefa=" & Me.Text54 & ";"
    Rs.MoveNext
    Loop
    End Sub

    /////////////////////////////////////////////

    Private Sub Horas()
    On Error GoTo TrataErro
    Dim Db As DAO.Database
    Dim Rs As DAO.Recordset
    Dim ws As DAO.Workspace
    Dim StrSql As String
    Dim StrNumFunc As String
    Dim inti As Integer

    Set ws = DBEngine.Workspaces(0)
    Set Db = ws.OpenDatabase(CurrentProject.Path & "\teste.accdb", False, False, "MS Access;PWD=senha")

    StrSql = "SELECT * FROM Horas"

    Set Rs = Db.OpenRecordset(StrSql)
    StrNumFunc = DCount("*", "[Horas]")
    inti = 0
    fInLoop = True
    fExitLoop = False
    Do Until inti >= StrNumFunc Or fExitLoop
    DoEvents
    inti = inti + 1
    Me.txtInti = inti
    Me.txtID = Rs!projecto
    Me.Text54 = Rs!tarefa
    Rs.MoveNext


    Call numerodepessoas

    Loop
    fInLoop = False
    Exit Sub
    TrataErro:
    If Err.Number = 2220 Then
    MsgBox "XXXXX"
    Else
    Resume Next
    End If
    End Sub
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  Alexandre Neves 4/10/2011, 11:33

    Bom dia, Flashed

    Em vez de
    StrSql = "SELECT Distinct (numero) as total1 FROM teste WHERE projecto = '" & Me.txtID & "' And tarefa = " & CInt(Me.Text54)
    coloque
    StrSql = "SELECT Count(numero) as total1 FROM teste WHERE projecto = '" & Me.txtID & "' And tarefa = " & CInt(Me.Text54)
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  Flashed 4/10/2011, 11:40

    Bom dia

    Já testei assim!

    Mas conta os registo repetidos!

    Ex. tenho joão 2 vezes e rita 6 vezes

    Devia contar só dois empregados!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  Alexandre Neves 4/10/2011, 11:55

    Não entendi bem a questão.
    Será assim
    SELECT COUNT(Numero) as Total1 FROM (SELECT DISTINCT Numero
    FROM teste WHERE projecto = '" & Me.txtID & "' And tarefa = " & CInt(Me.Text54))
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  Flashed 4/10/2011, 12:11

    Continua a dar a soma de todos os empregados mas a contar os repetidos.

    Passo a explicar:

    tblteste
    Coluna empregados:

    João
    João
    Joana
    João
    Rita
    Joana
    Paula

    tbl empregados
    Total de empregados

    joão - 3
    Joana - 2
    Rita - 1
    Paula - 1

    entendem?

    cumps e obrigado
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  Alexandre Neves 4/10/2011, 12:14

    Pois, o campo é 'empregados' e não 'numero'
    SELECT COUNT(Empregados) as Total1 FROM (SELECT DISTINCT Empregados
    FROM teste WHERE projecto = '" & Me.txtID & "' And tarefa = " & CInt(Me.Text54))
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  Flashed 4/10/2011, 12:33

    Foi um exemplo, o campo é numero
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  Avelino Sampaio 4/10/2011, 13:12

    Olá

    Tente utilizar uma consulta de agrupamento

    Algo assim:

    Select count(*) as total FROM (SELECT teste.empregados FROM teste GROUP BY teste.empregados)

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  Avelino Sampaio 4/10/2011, 13:19

    Se funcionar, acrescente a filtragem

    Select count(*) as total FROM (SELECT teste.empregados FROM teste GROUP BY teste.empregado HAVING (projecto = '" & Me.txtID & "' And tarefa = " & CInt(Me.Text54)))

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  Flashed 4/10/2011, 14:22

    Avelino não entendi a formula!

    Importa-se de explicar?
    Obrigado
    avatar
    Flashed
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 258
    Registrado : 03/05/2011

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  Flashed 6/10/2011, 10:30

    Avelino não funcionou! Sad Acho que estou com problemas no update!...
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  vieirasoft 13/10/2011, 21:39

    Estou a puxar o tópico para cima. se já tiver resolvido, agradeço o seu retorno.
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  vieirasoft 17/10/2011, 21:39

    Como não houve retorno, o tópico passa a resolvido. Qualquer coisa reabra, por favor.

    Conteúdo patrocinado


    [Resolvido]Contar sem repetições Empty Re: [Resolvido]Contar sem repetições

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/11/2024, 15:42