VB6 - PEDIDO DE VENDA
Boa tarde!
To desenvolvendo um sistema e estou com uma dúvida no Pedido de Venda. O meu cliente as vezes tem que juntar os Ãtens do pedido, por exemplo:
Viga I x 6,00 mts
Viga I x 6,20 mts
Viga I x 5,20 mts
...
(Lembrando que cada produto acima tem um ID diferente)
Ele gostaria que saÃsse no pedido:
Viga I Quantidade: 17,40 mts
Alguém tem alguma idéia de como resolver isso?
Obrigado,
Ricardo
To desenvolvendo um sistema e estou com uma dúvida no Pedido de Venda. O meu cliente as vezes tem que juntar os Ãtens do pedido, por exemplo:
Viga I x 6,00 mts
Viga I x 6,20 mts
Viga I x 5,20 mts
...
(Lembrando que cada produto acima tem um ID diferente)
Ele gostaria que saÃsse no pedido:
Viga I Quantidade: 17,40 mts
Alguém tem alguma idéia de como resolver isso?
Obrigado,
Ricardo
Segue um exemplo para te auxiliar:
Dim v(3) As String, s() As String, i As Byte, soma As Double
[txt-color=#007100][ô]O vetor [Ô]v()[Ô] só foi inserido para teste[/txt-color]
v(0) = [Ô]Viga I x 6,00 mts[Ô]
v(1) = [Ô]Viga I x 6,20 mts[Ô]
v(2) = [Ô]Viga I x 5,20 mts[Ô]
For i = 0 To 2
s() = Split(v(i), [Ô]x [Ô])
soma = soma + CDbl(Left(s(1), InStr(1, s(1), [Ô] [Ô])))
Next i
MsgBox Format(soma, [Ô]###,##0.00[Ô])
o ideal seria vc criar um sub grupo no cadastro...
como vc disse que cada um dos itens tem uma ID seria algo assim
grupo id item
1 1 Viga I x 6,00
1 2 Viga I x 6,20
1 3 Viga I x 5,20
como vc disse que cada um dos itens tem uma ID seria algo assim
grupo id item
1 1 Viga I x 6,00
1 2 Viga I x 6,20
1 3 Viga I x 5,20
Valeu TECLA, mas não funcionaria, pois tem produtos com mais de uma medida: Viga I 8[Ô] x 50 x 6,00.
NICOLLAS2, eu já tinha pensado nessa dica de criar um sub-grupo, acho que deve ser a solução mais viável.
Se alguém tiver uma outra idéia vai ser muito bem vinda...
[]'s
NICOLLAS2, eu já tinha pensado nessa dica de criar um sub-grupo, acho que deve ser a solução mais viável.
Se alguém tiver uma outra idéia vai ser muito bem vinda...
[]'s
O ideal é criar o subgrupo e separar a quantidade para poder somar depois por grupo e nao pelo item do grupo.
O Ideal é que os produtos tivessem cadastro de Tamanho/Medida, pois já que é em metros no campo seria armazenado o tamanho correto ai seria mais fácil de somar.
Uma pergunta em uma medida como esta - Viga I 8[Ô] x 50 x 6,00 - você tiraria apenas a medida 6,0 para soma
Neste caso a meihor idela é criar subgrupos e campos especÃficos pra as medidas, e através do relacionamento com o grupo de [Ô]mercadoria[Ô] por exemplo listar e somar os valores para exibição. Forma mais acerta e que causaria menos bugs e chateação a vc e seu cliente.
Caso ocorra a necessidade de verificação da bitola ou outra medida além do cumprimento, seria bom um novo subgrupo ou uma verificação diretamente no código e podendo usar também group by nas querys.
Caso ocorra a necessidade de verificação da bitola ou outra medida além do cumprimento, seria bom um novo subgrupo ou uma verificação diretamente no código e podendo usar também group by nas querys.
Valeu pessoal pelas dicas!!!
MARCELO-TREZE, exatamente, apenas o comprimento.
Hoje a minha base de dados está assim:
GRUPO: VIGA I
Medida1: 8[Ô]
Medida2: 50
Medida3: 6,00
Se eu comparar o GRUPO e a MEDIDA1 e MEDIDA2, eu também conseguiria fazer essa soma ne? E não precisaria mudar um monte de coisa no meu sistema com a inclusao do sub-grupo...
Vlws!
MARCELO-TREZE, exatamente, apenas o comprimento.
Hoje a minha base de dados está assim:
GRUPO: VIGA I
Medida1: 8[Ô]
Medida2: 50
Medida3: 6,00
Se eu comparar o GRUPO e a MEDIDA1 e MEDIDA2, eu também conseguiria fazer essa soma ne? E não precisaria mudar um monte de coisa no meu sistema com a inclusao do sub-grupo...
Vlws!
Na realidade se tudo estivesse separado seria mais fácil mesmo
mas o código apresentado pelo colega TECLA já resolve veja o mesmo código apenas com algumas alterações
bom veja que os dados no vetor V possuem caracteristicas diferentes, porem a soma é a correta teste e veja
Lembrando codigo do colega tecla.
mas o código apresentado pelo colega TECLA já resolve veja o mesmo código apenas com algumas alterações
Private Sub Command1_Click()
Dim v(3) As String, s() As String, i As Byte, soma As Double
[ô]O vetor [Ô]v()[Ô] só foi inserido para teste
v(0) = [Ô]Viga I x 6,00 mts[Ô]
v(1) = [Ô]Viga I x 6,20 mts[Ô]
v(2) = [Ô]Viga I 8[ô] x 50 x 6,00 mts[Ô]
For i = 0 To 2
s() = Split(v(i), [Ô]x [Ô])
soma = soma + CDbl(Replace(s(UBound(s)), [Ô]mts[Ô], [Ô][Ô]))
Next i
MsgBox [Ô] Quantidade=[Ô] & soma
End Sub
bom veja que os dados no vetor V possuem caracteristicas diferentes, porem a soma é a correta teste e veja
Lembrando codigo do colega tecla.
se for o que eu entendi, e se os registros já estiverem inseridos no banco, quando vc montar o pedido, faça uma query, como por ex: select sum(quantidade) where idpedido=1 group by descricaoitem.... que dai ele insere tudo numa linha só na nota, cupom, ou em qq outro pedido...
Tópico encerrado , respostas não são mais permitidas