CONTAR SEM REPETICOES

FLASHED 06/10/2011 06:26:42
#386064
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 & [Ô]    este.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 & [Ô]    este.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
RODRIGOFERRO 06/10/2011 07:07:01
#386066
Eu posso estar errado e aparecer alguem aqui e matar isso a pau, (o que nao sera eu por se tratar de vb6) mas acredito que voce ira precisar postar a estrutura da sua tabela para o pessoal saber certinho do que estafalando, ja que essa rotina se trata de codigo+Banco..

Abraços
FLASHED 06/10/2011 07:12:44
#386068
Este código está no vb de um banco do access...
MARCELO.TREZE 06/10/2011 10:40:47
#386087
E esse tópico aqui, o que a gente faz com ele?

http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=385834&varWorld=

por favor leia as regras, vc abriu dois tópicos com a mesma duvida
JONATHANSTECKER 06/10/2011 10:47:36
#386089
Por favor obedeça as regras de uso abaixo para que o Fórum não fique congestionado, e todos possam utilizar o Fórum da melhor maneira possível, evitando sobrecarga do servidor em tráfego e do banco de dados em número de registros.
Regras de conduta

  • Postagem duplicada
    Não poste tópicos repetidos no Fórum só para eles aparecerem no começo da lista, pelo contrário, aguarde, pois sempre haverá como ajudá-lo.

    Você já possui um tópico com a mesma dúvida, onde foram postadas sugestões e você não deu retorno.
    CONTAR SEM REPETICOES
  • Tópico encerrado , respostas não são mais permitidas