USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Problemas com SQL
Fábio Cavalcant
PATOS
PB - BRASIL
Postada em 11/12/2004 16:43 hs            
Possuo duas tabelas uma de contas a pagar :
tabContasPagar {PagarFornecedor,PagarDocumento,PagarDocumentoTipo,PagarEmissão,PagarVencimento,ValorDébito}
 
E outra com os pagamentos destas devidas contas:
tabContasPagamento
{PagamentoDocumento,PagamentoData,PagamentoBanco,PagamentoCheque,PagamentoValor}
 
Estou tentando selecionar todas as contas de um determinado fornecedor com o total já pago para cada conta. Utilizei a seguinte instrução em SQL.
 
SELECT SUM(PG.PagamentoValor),P.PagarFornecedor,P.PagarDocumento,P.PagarDocumentoTipo,P.PagarEmissão,P.PagarVencimento,P.PagarValorDébito FROM tabContasPagar P, tabContasPagamento PG WHERE P.PagarFornecedor =  1 AND PG.PagamentoDocumento = P.PagarDocumento
 
Ao executar a rotina que possui este código ela retorna o seguinte erro:
The request properties can not be supported by this driver ODBC
 
Utilizo o MS ADO 2.1,  windows 98
Configurações da conexão com o BD que utilizo:
 
 provider = "MSDASQL"
 ConnectionString = "Driver={Microsoft Access Driver (*.mdb)}; Dbq=" & nomeBanco & ";Uid=Admin; Pwd=;"
 
onde "nomeBando" é o local e nome do banco de dados que estou utilizando.
 
Talvez seja apenas o driver que estou utilizando, como a mensagem de erro sugere.
Caso seja, que driver devo usar?
Se não for o que devo fazer?
 
Alguém pode me ajudar ?
Um abraço
Fábio.
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 12/12/2004 01:54 hs            
Olha uma hipótese é q qdo vc faz uma consulta usando o SUM vc não pode retornar esta consulta com mais de uma linha neste modo q vc está fazendo. Tente fazer somente:
 
SELECT SUM (PG.PagamentoValor) FROM tabContasPagar P, tabContasPagamento PG WHERE P.PagarFornecedor =  1 AND PG.PagamentoDocumento = P.PagarDocumento
 
Faça este teste para ver se retorna dados válidos. Se retornar é o problema q citei acima.
Então vc terá q usar cláusulas "Group by" e "having" em sua consulta SQL para ver se encaixa no resultado q vc quer.
 
um exemplo:
 

SELECT CategoryID,Sum(UnitsInStock)FROM Produtos GROUP BY CategoryID HAVING Sum(UnitsInStock)> 100;

 

Neste caso selecionamos por categoria do campo "CategoryID", somamos "UnitsInStock" q são maiores q 100:

 

CategoryID    Sum(UnitsInStock)

1                 150

2                 230

3                 300

 

Sendo q tinhamos, por exemplo uma tabela assim 

1                 100

1                  50

2                  80

2                 150

3                 150

3                 150

4                 30

4                 60

 

ok?
 
Se precisar eu ajudo na consulta...
qq dúvida é só postar novamente
 
t+
TÓPICO EDITADO
   
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
Postada em 13/12/2004 13:19 hs         
Select PagarFornecedor, PagarDocumento, Sum(PagamentoValor) AS TotalPago
From  tabContasPagar Inner Join tabContasPagamento On tabContasPagamento.PagamentoDocumento = tabContasPagar.PagarDocumento
Where PagarFornecedor = 1
Group By PagarFornecedor, PagarDocumento
 
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página