TOPICO FACIL

SERGIO.CARDOSO 27/05/2005 11:07:18
#85458
Este é facil:

Ja tenho a instrucao SQL ...

SQL = "SELECT Sum(CREDIARIO.VALOR) AS SomaDeVALOR
FROM CREDIARIO
HAVING (((CREDIARIO.CODIGO)="123456") AND ((Month([VENC]))=10) AND ((Year([VENC]))=2004))" ' ( com algumas adaptacoes ... )

A questao é a seguinte: Como faco para a soma ir para um textbox de uma maneira direta ?
Tenho como fugir de colocar um controle DATA ?
TRUHILLO 27/05/2005 11:44:51
#85471
Resposta escolhida
O mais "difícil" vc fez que é conseguir a soma. Agora é só jogar no textbox:

Text1.Text = tbCrediario("SomaDeVALOR").Value

Vc pode (e deve) fugir dos controles DATA assim que estiver bem entendido sobre como usar comandos SQL.

Use declarações de conexão (Dim conDB as ADODB.Connection) e recordsets (Dim tbCrediario as ADODB.Recordset) para manipular os dados via código.

Set tbCrediario = conDB.Open("SELECT Sum(CREDIARIO.VALOR) AS SomaDeVALOR
FROM CREDIARIO
HAVING (((CREDIARIO.CODIGO)="123456") AND ((Month([VENC]))=10) AND ((Year([VENC]))=2004))")

Se não for esta a solução da sua dúvida, retorne...
SERGIO.CARDOSO 01/06/2005 12:00:54
#86362
Valeu Paulo...
Mas, o caso e que ficou um pouco lentinho. Tentei de varias formas de acesso ( alias sao tantas que eu tento e uso que isto aqui ta uma bagunca ...).O form nao, ate que ficou beleza, o problema acho que e porque a cada registro(+- 15000,ACCESS97) o sistema tem que acessar a tabela e colocar a soma, entao fica lento ( tanto e que quando eu tiro esta funcao de soma e deixo as outras coisas, funciona direitinho ( eh eh ).
Como eu disse antes, acho que o acesso tem que ser de uma maneira mais direta (rapida, que nao empassoque )...
[S77]

"Nao desistir, Cristo vem logo..."
TRUHILLO 01/06/2005 13:01:17
#86373
Algumas dicas para tornar a leitura mais rápida:

- Abandone o objeto Data e faça tudo via código com ADO.
- Abandone o Access97 e migre seus bancos de dados para engines mais recentes, confiáveis e rápidas como SQL Server, Postgree, MySQL ou Firebird. Eu uso esse último e não tenho do que reclamar.
Tópico encerrado , respostas não são mais permitidas