Boa tarde amigos! Tenho uma consulta de referencia cruzada conforme imagem abaixo. Quando abro ela sem o filtro do form, ela abre normalmente, mostrando todas as colunas corretamente (no caso, 7)
Porém, quando realizo a filtragem através do formulário, as colunas somem e a tabela que determina o titulo das colunas muda.
Pelo que estou percebendo, o erro está no código do botão, mas como é a primeira vez que utilizo esse recurso, não consigo corrigir o mesmo.
Estrutura da consulta antes de realizar a filtragem:
SQL consulta antes filtragem
Depois que realizo a filtragem:
SQL da consulta depois filtragem:
código que utilizo no botão do form:
Desde já, agradeço imensamente a ajuda dos colegas. Usei como referência esse link do Avelino Sampaio
http://www.redeaccess.com.br/viewtopic.php?t=914
Porém, quando realizo a filtragem através do formulário, as colunas somem e a tabela que determina o titulo das colunas muda.
Pelo que estou percebendo, o erro está no código do botão, mas como é a primeira vez que utilizo esse recurso, não consigo corrigir o mesmo.
Estrutura da consulta antes de realizar a filtragem:
SQL consulta antes filtragem
- Código:
TRANSFORM First(DETORC.prel) AS PrimeiroDeprel
SELECT DETORC.PROD, DETORC.BITOLA, DETORC.COMP, DETORC.POS, DETORC.COTA, DETORC.MED, CADORÇ.Loc
FROM TIPO INNER JOIN (CADORÇ INNER JOIN DETORC ON CADORÇ.loc = DETORC.LOC) ON TIPO.TIPO = DETORC.TIPO
GROUP BY CADORÇ.Loc, DETORC.PROD, DETORC.BITOLA, DETORC.COMP, DETORC.POS, DETORC.COTA, DETORC.MED, CADORÇ.Loc
PIVOT TIPO.TIPO;
Depois que realizo a filtragem:
SQL da consulta depois filtragem:
- Código:
TRANSFORM First(DETORC.prel) AS PrimeiroDeprel
SELECT DETORC.PROD, DETORC.BITOLA, DETORC.COMP, DETORC.POS, DETORC.COTA, DETORC.MED, CADORÇ.Loc
FROM CADORÇ INNER JOIN DETORC ON CADORÇ.loc = DETORC.LOC
WHERE CADORÇ.loc =652
GROUP BY CADORÇ.Loc, DETORC.PROD, DETORC.BITOLA, DETORC.COMP, DETORC.POS, DETORC.COTA, DETORC.MED, CADORÇ.Loc
PIVOT detorc.TIPO;
código que utilizo no botão do form:
- Código:
Private Sub fncMontaFiltroRefCruzada()
Dim qry As QueryDef
Dim strSql As String
Set qry = CurrentDb.QueryDefs("refcruz")
strSql = "TRANSFORM First(DETORC.prel) AS PrimeiroDeprel "
strSql = strSql & "SELECT DETORC.PROD, DETORC.BITOLA, DETORC.COMP, DETORC.POS, DETORC.COTA, DETORC.MED, CADORÇ.Loc FROM CADORÇ INNER JOIN DETORC ON CADORÇ.loc = DETORC.LOC "
strSql = strSql & " WHERE CADORÇ.loc =" & Me!frt 'campo do form que uso para filtragem
strSql = strSql & " GROUP BY CADORÇ.Loc, DETORC.PROD, DETORC.BITOLA, DETORC.COMP, DETORC.POS, DETORC.COTA, DETORC.MED, CADORÇ.Loc"
strSql = strSql & " PIVOT detorc.TIPO "
qry.sql = strSql
Set qry = Nothing
End Sub
Desde já, agradeço imensamente a ajuda dos colegas. Usei como referência esse link do Avelino Sampaio
http://www.redeaccess.com.br/viewtopic.php?t=914