QUERY FUNCIONA NO ACCESS MAS NO VB 6.0 NAO

MARCOSREZENDE 21/03/2012 10:00:04
#397798
Marcelo, fiz as adaptações necessárias conforme você me explicou, porém está dando o seguinte erro:
Ponto e vírgula (;) faltando no final da instrução SQL.

Minha query ficou assim:
[Ô]SELECT Funcionários.Código, Funcionários.Nome, Cred_desc.Data, Cred_desc.Valor, Convênios.Descrição [Ô] + _
[Ô]FROM Funcionários INNER JOIN (Convênios INNER JOIN Cred_desc ON Convênios.Código_convênio = Cred_desc.Código_convênio) ON Funcionários.Código = [Ô] + _
[Ô]Cred_desc.Código_funcionário [Ô] + _
[Ô]ORDER BY Funcionários.Nome, Funcionários.Código, Cred_desc.Data PIVOT Convênios.Descrição[Ô]

Já tentei colocar o (;) depois da instrução (PIVOT Convênios.Descrição), mas de nada adiantou.
MARCELO.TREZE 21/03/2012 10:43:28
#397806
tentou tirar o pivot

ficaria assim

[Ô]SELECT Funcionários.Código, Funcionários.Nome, Cred_desc.Data, Cred_desc.Valor, Convênios.Descrição [Ô] + _
[Ô]FROM Funcionários INNER JOIN (Convênios INNER JOIN Cred_desc ON Convênios.Código_convênio = Cred_desc.Código_convênio) ON Funcionários.Código = [Ô] + _
[Ô]Cred_desc.Código_funcionário [Ô] + _
[Ô]ORDER BY Funcionários.Nome, Funcionários.Código, Cred_desc.Data;[Ô]
MARCOSREZENDE 21/03/2012 11:45:37
#397824
Tentei, e deu um outro erro mais doido ainda:
Nenhum valor foi fornecido para um ou mais parâmetros necessários.

Marcelo, como o nosso colega KERPLUNK já disse: será que o PIVOT em conexões ADO funciona mesmo? estou começando a achar que não.
Não teria algum outro método para montar essa query ???
MARCELO.TREZE 21/03/2012 11:51:56
#397825
Tente novamente com esta alteração

[Ô]SELECT Funcionários.Código, Funcionários.Nome, Cred_desc.Data, Cred_desc.Valor, Convênios.Descrição [Ô] + _
[Ô]FROM Funcionários INNER JOIN (Convênios INNER JOIN Cred_desc ON Convênios.Código_convênio = Cred_desc.Código_convênio) ON Funcionários.Código = [Ô] + _
[Ô]Cred_desc.Código_funcionário [Ô] + _
[Ô]ORDER BY Funcionários.Código, Funcionários.Nome, Cred_desc.Data, Cred_desc.Valor, Convênios.Descrição;[Ô]
MARCOSREZENDE 21/03/2012 13:36:26
#397845
Marcelo dessa forma ele realmente funciona, porém a consulta acaba ficando assim:

CÓDIGO NOME DATA VALOR CONVÊNIO
0001 JOÃO 21/03/2012 100,00 UNIMED
0002 MARIA 21/03/2012 150,00 SERPRAN
0003 JOSé 21/03/2012 200,00 GOOD-CARD

Na verdade eu utilizo (PIVOT Convênios.Descrição) para que a consulta fique assim:
CÓDIGO NOME DATA UNIMED SERPRAN CODD-CARD
0001 JOÃO 21/03/2012 100,00 0,00 0,00
0002 MARIA 21/03/2012 0,00 150,00 0,00
0003 JOSé 21/03/2012 0,00 0,00 200,00


No access ele aceita perfeitamente a query em questão, mas no VB eu não sei o que ocorre, ele sempre dá erro.
LLAIA 21/03/2012 13:50:39
#397853
Cara. Então deixe a Consulta salva no BD, e faça a consulta com ADOCommand e ADOParameter.
ROBIU 21/03/2012 13:56:59
#397858
Você testou da forma que postei antes?

Citação:

[txt-color=#e80000]Obs: Não coloque acentos, caracteres especiais ou espaços em nome de campos de sua tabela.[/txt-color]
Use a própria consulta do Access, sem filtros, no select vb6 como você faz com as tabelas. Por exemplo, Se a tabela Pivot no Access for [Ô]ConsMedia[Ô], você faz um select assim:

Select * From ConsMedia Where Cod_Aluno=[ô][Ô] & Txt1.Text & [Ô][ô][Ô]



MARCOSREZENDE 21/03/2012 14:47:40
#397874
Roberto,me desculpe, não entendi. O que eu deveria fazer com a Query abaixo?


TRANSFORM Min(Cred_desc.Valor) AS Valor
SELECT Funcionários.Nome, Funcionários.Código, Cred_desc.Data
FROM Funcionários INNER JOIN (Convênios INNER JOIN Cred_desc ON Convênios.[Código convênio] = Cred_desc.[Código convênio]) ON Funcionários.Código = Cred_desc.[Código funcionário]
GROUP BY Funcionários.Nome, Funcionários.Código, Cred_desc.Data, Funcionários.Código
PIVOT Convênios.Descrição;

Essa query é a que funciona no Access
MARCOSREZENDE 21/03/2012 14:49:22
#397877
LLAIA, obrigado pela postagem.

Como faço essa consulta com ADOCommand e ADOParameter via VB, poderia me dar um exemplo ?
ROBIU 21/03/2012 14:57:17
#397879
Então, essa query no access é uma consulta access que tem um nome. Ela pode ser usada normalmente no vb6 como você usa uma tabela.
Ex.:
Tabela access [Ô]Select * From NomeDaTabela[Ô]
Consulta Access [Ô]Select * From NomeDaConsulta[Ô]
Página 2 de 3 [22 registro(s)]
Tópico encerrado , respostas não são mais permitidas