TABELAS

USUARIO.EXCLUIDOS 21/05/2004 11:08:10
#25958
Pessoal, meu problema é o seguinte, conforme abaixo estou montando uma planilha com os dados de um banco de nome Materiais uso duas Tabelas - (baixas) e (Localizacao).
1º Problema - Na tabela Baixa exite dados repetidos, ou seja, ex: cód. 000649 02 pc e 000649 05 pc, preciso mostrar uma vez esse cód. e somar suas quantidades, é possivel?

2º Problema - Na tabela Localizacao tenho a descricao do material, preciso casar essa descricao com o cód. da Tabela Baixa, é possivel? Na Tabela Localizacao eu tenho cadastrado tambem o cód.

Se eu colocar uma rotina para cada busca, funciona parcialmente, ja testei. No caso de carregar primeiramente os códigos de baixas dos materiais cai no primeiro problema. E quanto a descrição, carrega todas não comparado com o cód. ja carregado. Alguem pode me dar uma luz?

Private Sub MontaBaixas()
Dim BdBaixas As DAO.Database
Dim TbBaixas As DAO.Recordset, TbLc As DAO.Recordset
Dim Ln3
Ln3 = 4
Plan421.Range("a4:m5000").ClearContents
Set BdBaixas = OpenDatabase("C:\Estoque\Materiais.mdb")
Set TbBaixas = BdBaixas.OpenRecordset("SELECT * FROM BAIXAS ORDER BY CODIGO", dbOpenSnapshot)
Set TbLc = BdLc.OpenRecordset("SELECT * FROM LOCALIZACAO ORDER BY CÓ“DIGO", dbOpenSnapshot)

Do Until TbBaixas.EOF
Ln3 = Ln3 + 1
Plan421.Range("A" & Ln3) = TbBaixas("Codigo")
Plan421.Range("C" & Ln5) = TbLc("Descrição")
Ln3 = Ln3 + 1
TbBaixas.MoveNext
Loop
BdBaixas.Close
USUARIO.EXCLUIDOS 21/05/2004 11:11:56
#25961
Resposta escolhida
1) SELECT Codigo, Count(OutroCampo) AS Total FROM BAixa
GROUP BY Codigo;

2) SELECT Baixa.*,Localizacao.Descricao FROM Baixa,Localizacao WHERE Localizacao.CodBaixa=Baixa.Cod
USUARIO.EXCLUIDOS 21/05/2004 13:21:21
#25981
Desculpe, viajei.

1) SELECT Codigo, Sum(Saida) AS Total FROM BAixa
GROUP BY Codigo;

Vê se funciona.

Abraços,
USUARIO.EXCLUIDOS 21/05/2004 13:47:13
#25986
E ele é um campo numérico ?

Pq testei aqui isso e funcionou.

Abraços,
USUARIO.EXCLUIDOS 21/05/2004 14:05:55
#25994
Então é isso, pq o sum espera um valor.

Tenta assim

SELECT Codigo, Sum(Val(Saida)) AS Total FROM BAixa
GROUP BY Codigo;

Acho q a função Val deve funcionar. Se não existir, tem de achar uma para converter para ÂÂÂ'numérico para poder usar o SUM.

Fico no aguardo.

Abraços,
USUARIO.EXCLUIDOS 21/05/2004 14:06:31
#25995
Dica,
nunca use string para armazenar valores numéricos, ainda + se vc vai fazer operações com eles.

Abraços,
USUARIO.EXCLUIDOS 21/05/2004 14:13:29
#25999
eu prefiro assim

TBBaixas.movefirst
Do While NotTbBaixas.EOF
Ln3 = Ln3 + 1
Plan421.Range("A" & Ln3) = TbBaixas("Codigo")
Plan421.Range("E" & Ln3) = TbBaixas("TOTAL")
Ln3 = Ln3 + 1
TbBaixas.MoveNext
Loop


Abraços,
USUARIO.EXCLUIDOS 21/05/2004 14:32:49
#26005
sim
é uma opção
no access pode ser número (double)

Abraç.s
USUARIO.EXCLUIDOS 21/05/2004 16:51:30
#26035
Set TbLc = BdBaixas.OpenRecordset("SELECT BAIXAS.*,LOCALIZACAO.DESCRIÇÃO FROM BAIXAS,LOCALIZACAO WHERE LOCALIZACAO.CÓ“DIGO=BAIXAS.CODIGO", dbOpenSnapshot

Tem um campo Codigo acentuado e o outro não...

Não é isso ?

Abraços,
Tópico encerrado , respostas não são mais permitidas