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


    [Resolvido]Erro na Condicao do Inner Join

    avatar
    Convidado
    Convidado


    [Resolvido]Erro na Condicao do Inner Join Empty Erro na Condicao do Inner Join

    Mensagem  Convidado Sex 25 Jan 2013, 20:51

    Boa noite !

    Depois de muito quebra a cabeça vim pedir ajuda mais uma vez !

    estou tentando fazer um inner join com duas tabelas.
    O problemas é que ao invés de trazer registro somente da condição Where esta trazendo calcula de toda tabela.

    Tenho uma tabela de nome Tbl_Hora_Extra e faco o inner join na tabela Tbl_Hrx_Compensadas onde nesse segunda tabelas quero trazer as horas de cada funcionário já compensou, mas ao invés disso a consulta que criei esta trazendo em todas as linha o mesmo resultado (A soma de toda tabela)

    Alguém poderia me dar uma ajudinha.
    obrigado !


    https://dl.dropbox.com/u/19875180/InnerJoin.rar
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Erro na Condicao do Inner Join Empty Re: [Resolvido]Erro na Condicao do Inner Join

    Mensagem  Cláudio Más Sáb 26 Jan 2013, 09:14

    Bom dia,

    Crie uma consulta com o nome de Qry_Compensadas e a seguinte instrução SQL:

    SELECT Tbl_Hrx_Compensadas.Hrx_ID_Funcionario, Int(Sum(DateDiff('n',0,[Hrx_Comp_Tempo]))/60) & ':' & Format(Sum(DateDiff('n',0,[Hrx_Comp_Tempo])) Mod 60,'00') AS Hrs_Compesadas
    FROM Tbl_Hrx_Compensadas
    GROUP BY Tbl_Hrx_Compensadas.Hrx_ID_Funcionario


    A instrução SQL da Qry_Calculo ficaria assim:

    SELECT Tbl_Hora_Extra.Hrx_Supervisao, Tbl_Funcionarios.NOME, Tbl_Funcionarios.ID_FUNCIONARIO, Tbl_Hora_Extra.Hrx_funcao, Int(Sum(DateDiff('n',0,Hrx_Folgaveis))/60) & ':' & Format(Sum(DateDiff('n',0,Hrx_Folgaveis)) Mod 60,'00') AS Hrx_Folg, Int(Sum(DateDiff('n',0,[Hrx_110_120]))/60) & ':' & Format(Sum(DateDiff('n',0,[Hrx_110_120])) Mod 60,'00') AS Hrx_NaoFolg, Qry_Compensadas.Hrs_Compesadas
    FROM (Tbl_Funcionarios LEFT JOIN Qry_Compensadas ON Tbl_Funcionarios.ID_FUNCIONARIO = Qry_Compensadas.Hrx_ID_Funcionario) INNER JOIN Tbl_Hora_Extra ON Tbl_Funcionarios.ID_FUNCIONARIO = Tbl_Hora_Extra.Hrx_ID_Funcionario
    GROUP BY Tbl_Hora_Extra.Hrx_Supervisao, Tbl_Funcionarios.NOME, Tbl_Funcionarios.ID_FUNCIONARIO, Tbl_Hora_Extra.Hrx_funcao, Qry_Compensadas.Hrs_Compesadas
    avatar
    Convidado
    Convidado


    [Resolvido]Erro na Condicao do Inner Join Empty Re: [Resolvido]Erro na Condicao do Inner Join

    Mensagem  Convidado Sáb 26 Jan 2013, 12:01

    Bom dia Claudio!

    Obrigado pela gentileza de responder.

    Funcionou e é justamente esse resultado que eu esperava, mas seria possivel fazer tudo em uma instrução SQL somente ao inves de um consulta consultar outra ?

    Eu irei usar a instrução no proprio VBA (StrSelect = "Select...")


    Obrigado mais uma vez por responder e fico no aguardo !
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Erro na Condicao do Inner Join Empty Re: [Resolvido]Erro na Condicao do Inner Join

    Mensagem  Cláudio Más Sáb 26 Jan 2013, 13:04

    Vê se é isso:

    SELECT Tbl_Hora_Extra.Hrx_Supervisao, Tbl_Funcionarios.NOME, Tbl_Funcionarios.ID_FUNCIONARIO, Tbl_Hora_Extra.Hrx_funcao, Int(Sum(DateDiff('n',0,Hrx_Folgaveis))/60) & ':' & Format(Sum(DateDiff('n',0,Hrx_Folgaveis)) Mod 60,'00') AS Hrx_Folg, Int(Sum(DateDiff('n',0,[Hrx_110_120]))/60) & ':' & Format(Sum(DateDiff('n',0,[Hrx_110_120])) Mod 60,'00') AS Hrx_NaoFolg, a.Hrs_Compesadas
    FROM (Tbl_Funcionarios LEFT JOIN (SELECT a.Hrx_ID_Funcionario, Int(Sum(DateDiff('n',0,[Hrx_Comp_Tempo]))/60) & ':' & Format(Sum(DateDiff('n',0,[Hrx_Comp_Tempo])) Mod 60,'00') AS Hrs_Compesadas FROM Tbl_Hrx_Compensadas AS a GROUP BY a.Hrx_ID_Funcionario) AS a ON Tbl_Funcionarios.ID_FUNCIONARIO = a.Hrx_ID_Funcionario) INNER JOIN Tbl_Hora_Extra ON Tbl_Funcionarios.ID_FUNCIONARIO = Tbl_Hora_Extra.Hrx_ID_Funcionario
    GROUP BY Tbl_Hora_Extra.Hrx_Supervisao, Tbl_Funcionarios.NOME, Tbl_Funcionarios.ID_FUNCIONARIO, Tbl_Hora_Extra.Hrx_funcao, a.Hrs_Compesadas
    avatar
    Convidado
    Convidado


    [Resolvido]Erro na Condicao do Inner Join Empty Re: [Resolvido]Erro na Condicao do Inner Join

    Mensagem  Convidado Sáb 26 Jan 2013, 13:10

    Genial Claudio!

    Muito obrigado.

    Resolvido.

    Conteúdo patrocinado


    [Resolvido]Erro na Condicao do Inner Join Empty Re: [Resolvido]Erro na Condicao do Inner Join

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Dom 28 Abr 2024, 18:15