Nº DE ITENS
tenho um banco acess com uma tabela chamada [Ô]Vendidos[Ô]
Cons campos ID, Produto, Quantidade, V_Vendido
Veja na imagem tenho 4 iten de Agua minenal e 2 itens de palitos.
eu gostaria q ao vez desses item se repetires, ficasse assim
ID | Produto | Quantidade | V_vendido
Ag.Mineral 4 R$4,00
Palitos 2 R$4,00
Obs: o campo ID, pode ser excluido.
Cons campos ID, Produto, Quantidade, V_Vendido
Veja na imagem tenho 4 iten de Agua minenal e 2 itens de palitos.
eu gostaria q ao vez desses item se repetires, ficasse assim
ID | Produto | Quantidade | V_vendido
Ag.Mineral 4 R$4,00
Palitos 2 R$4,00
Obs: o campo ID, pode ser excluido.
olha o zip ai pra se alguem poder fazer isso
Eu faria sem ADODC pois o retorno é a imagem do COMANDO SQL que você enviar.
No seu caso, o resposta além de totalizar a quantidade de cada item, ainda terá que multiplicar pelo valor unitário da venda (que não é obrigatório ser o mesmo para cada venda) e mostrar o total.
No seu caso, o resposta além de totalizar a quantidade de cada item, ainda terá que multiplicar pelo valor unitário da venda (que não é obrigatório ser o mesmo para cada venda) e mostrar o total.
como eu faço em Ado ( codigo ) ?
use select Group BY
Uma coisa GESSINGER percebo que na tabela vendidos vôce coloca o nome do produto coloque o ID do produto, assim fica mais normatizado.
a select abaixo faz exatamente o que você precisa
Uma coisa GESSINGER percebo que na tabela vendidos vôce coloca o nome do produto coloque o ID do produto, assim fica mais normatizado.
a select abaixo faz exatamente o que você precisa
sSQL = [Ô]Select orcament.empresa_id, orcament.numlanc, orcament_temp.codigo[Ô]
sSQL = sSQL & [Ô] From orcament, orcament_temp[Ô]
sSQL = sSQL & [Ô] Where empresa_id = 1[Ô]
sSQL = sSQL & [Ô] and orcament.numlanc = orcament_temp.numlanc[Ô]
sSQL = sSQL & [Ô] group by orcament_temp.codigo;[Ô]
Citação::
como eu faço em Ado ( codigo ) ?
Não sei se vai funcionar, mas:
select ID,Produto,count(ID) as QTDETOT, sum(V_vendido*QTDETOT) as VALORTOTAL from TABELA group by ID
SELECT IDFIL, TITULO, DESCRIC, CUSTO, VALTAX, COUNT(TITULO) AS CONTARDETITULO, SUM(CDIAS) AS SOMADECDIAS, SUM(MULTA) AS SOMADEMULTA, SUM(VALPAG) AS SOMADEVALPAG, SUM(VALNPA) AS SOMADEVALNPA, SUM(VALACR) AS SOMADEVALACR, SUM(VALDES) AS SOMADEVALDES, SUM(SALDO) AS SOMADESALDO
FROM LOCACOESTEMP
GROUP BY IDFIL, TITULO, DESCRIC, CUSTO, VALTAX;
Exempo Count Conta os itens
qualquer duvida me passa o banco de dados para eu acertar para você
FROM LOCACOESTEMP
GROUP BY IDFIL, TITULO, DESCRIC, CUSTO, VALTAX;
Exempo Count Conta os itens
qualquer duvida me passa o banco de dados para eu acertar para você
Obanco ja ta ai postado
Você também pode criar uma tabela temporária, indexada pelo produto, vinculada com a sua tabela e somar a quantidade bem como também somar o valor
Temp.AddNew
Temp!Data = suatabela!Data
Temp!ID = suatabela!ID
Temp!Produto = suatabela!Produto
Temp!Valor = suatabela!!Valor
Temp.Update
ai sim vou consultar o formulario pe tabela temp.
Temp.AddNew
Temp!Data = suatabela!Data
Temp!ID = suatabela!ID
Temp!Produto = suatabela!Produto
Temp!Valor = suatabela!!Valor
Temp.Update
ai sim vou consultar o formulario pe tabela temp.
Sub MyLigaDataBase()
Dim MyCaminho As String
Dim MyNameDataBase As String
Dim MyStringConnect As String
Dim MyStringConnectFull As String
Dim MySQL As String
MyNameDataBase = [Ô]Banco.MDB[Ô]
MyCaminho = App.Path & [Ô]/[Ô]
MySQL = [Ô]SELECT Vendidos.Produto, Count(Vendidos.Produto) AS ContarDeProduto, Sum(Vendidos.V_vendido) AS SomaDeV_vendido From Vendidos GROUP BY Vendidos.Produto;[Ô]
MyStringConnect = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & MyCaminho & MyNameDataBase & [Ô];Persist Security Info=False[Ô]
MyStringConnectFull = MyStringConnect
Adodc1.ConnectionString = MyStringConnectFull
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = MySQL
Adodc1.EOFAction = adStayEOF
Adodc1.Refresh
End Sub
Sub MyCarregaGrade()
With DataGrid1
.Columns(0).DataField = [Ô]Produto[Ô]
.Columns(0).Width = 5805
.Columns(0).Caption = [Ô]Produto[Ô]
.Columns(1).DataField = [Ô]ContarDeProduto[Ô]
.Columns(1).Width = 1500
.Columns(1).Caption = [Ô]Quantidade[Ô]
.Columns(1).NumberFormat = [Ô]#,##0[Ô]
.Columns(2).DataField = [Ô]SomaDeV_vendido[Ô]
.Columns(2).Width = 1100
.Columns(2).Caption = [Ô]Total[Ô]
.Columns(2).NumberFormat = [Ô]R$ #,##0.00[Ô]
End With
End Sub
Dim MyCaminho As String
Dim MyNameDataBase As String
Dim MyStringConnect As String
Dim MyStringConnectFull As String
Dim MySQL As String
MyNameDataBase = [Ô]Banco.MDB[Ô]
MyCaminho = App.Path & [Ô]/[Ô]
MySQL = [Ô]SELECT Vendidos.Produto, Count(Vendidos.Produto) AS ContarDeProduto, Sum(Vendidos.V_vendido) AS SomaDeV_vendido From Vendidos GROUP BY Vendidos.Produto;[Ô]
MyStringConnect = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & MyCaminho & MyNameDataBase & [Ô];Persist Security Info=False[Ô]
MyStringConnectFull = MyStringConnect
Adodc1.ConnectionString = MyStringConnectFull
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = MySQL
Adodc1.EOFAction = adStayEOF
Adodc1.Refresh
End Sub
Sub MyCarregaGrade()
With DataGrid1
.Columns(0).DataField = [Ô]Produto[Ô]
.Columns(0).Width = 5805
.Columns(0).Caption = [Ô]Produto[Ô]
.Columns(1).DataField = [Ô]ContarDeProduto[Ô]
.Columns(1).Width = 1500
.Columns(1).Caption = [Ô]Quantidade[Ô]
.Columns(1).NumberFormat = [Ô]#,##0[Ô]
.Columns(2).DataField = [Ô]SomaDeV_vendido[Ô]
.Columns(2).Width = 1100
.Columns(2).Caption = [Ô]Total[Ô]
.Columns(2).NumberFormat = [Ô]R$ #,##0.00[Ô]
End With
End Sub
Tópico encerrado , respostas não são mais permitidas