Olhem só,eu consegui concluir quase 100% a tela de vendas aqui usando Flexgrid.
Estaria tudo perfeito se não fosse um problema que acabei de encontrar.Tenho duas tabelas e os dados devem sair da primeira para a segunda tabela,na tabela1 coluna 3 é retornado a quantidade do produto em estoque,ao dar 2 cliques na primeira tabela é aberto um inputbox onde é digitado a quantidade do produto que deverá ser adicionado na segunda tabela,eu queria fazer algo que se o valor digitado na inputbox for maior que o valor trazido para a coluna3 (que é a quantidade em estoque) desse uma mensagem de erro e exit sub,então fiz isso:
quant = InputBox("Digite a quantidade", "Quantidade")
qtdestoque = flex.TextMatrix(flex.Row, 3)
If quant > qtdestoque Then
MsgBox "Quantidade maior que a disponível!", vbCritical, "Erro"
Exit Sub
Else
flex2.AddItem .......
sendo quant a variável quant é o valor da inputbox,e qtdestoque o valor da coluna3 referente a linha que será adicionada.
Mas vejam o que acontece,se no estoque tiver 40 do produto x,retornará 40 na flex coluna 3,e aí acontece algo curioso,se eu digitar na inputbox qualquer numero acima de 4(com apenas uma casa decimal)eu entro na primeira condição do if e da erro.Se eu quiser adicionar 1,2,3 ou 4 na flex2,digito dessa forma no inputbox e vai sem problema,mas agora se for digitar 5,6,7,8 ou 9 tenho que digitar 05,06,07,08 e 09...
Se tiver na coluna3/estoque tiver 15 e eu quiser adicionar de 2 desse produto até 9 na lista,tenho que usar o 0 na frente também.
Então fica nisso,se tiver 30 produtos,se eu for ter que colocar 4 tem que usar 04,se tiver 60 produtos e eu quiser de 7 pra cima tenho que colocar 0 na frente de qualquer digito.Eu a principio pensei que éra problema com casas decimais,porque se tem 30 e eu digito 4 e ele diz que não tem tudo isso no estoque ele podia estar entendendo que 4 éra 40,mas se eu digitar 20 ele entenderia como 200,e não acontece isso.
O que pode ser isso?
O problema de digitar o 0 na frente,é que mais pra frente preciso realizar operações envolvendo a variável quant,e toda vez que digito o 0 na frente de algum numero na inputbox da sempre type mismatch.
Pergunta
sweet-tooth
Olhem só,eu consegui concluir quase 100% a tela de vendas aqui usando Flexgrid.
Estaria tudo perfeito se não fosse um problema que acabei de encontrar.Tenho duas tabelas e os dados devem sair da primeira para a segunda tabela,na tabela1 coluna 3 é retornado a quantidade do produto em estoque,ao dar 2 cliques na primeira tabela é aberto um inputbox onde é digitado a quantidade do produto que deverá ser adicionado na segunda tabela,eu queria fazer algo que se o valor digitado na inputbox for maior que o valor trazido para a coluna3 (que é a quantidade em estoque) desse uma mensagem de erro e exit sub,então fiz isso:
quant = InputBox("Digite a quantidade", "Quantidade")
qtdestoque = flex.TextMatrix(flex.Row, 3)
If quant > qtdestoque Then
MsgBox "Quantidade maior que a disponível!", vbCritical, "Erro"
Exit Sub
Else
flex2.AddItem .......
sendo quant a variável quant é o valor da inputbox,e qtdestoque o valor da coluna3 referente a linha que será adicionada.
Mas vejam o que acontece,se no estoque tiver 40 do produto x,retornará 40 na flex coluna 3,e aí acontece algo curioso,se eu digitar na inputbox qualquer numero acima de 4(com apenas uma casa decimal)eu entro na primeira condição do if e da erro.Se eu quiser adicionar 1,2,3 ou 4 na flex2,digito dessa forma no inputbox e vai sem problema,mas agora se for digitar 5,6,7,8 ou 9 tenho que digitar 05,06,07,08 e 09...
Se tiver na coluna3/estoque tiver 15 e eu quiser adicionar de 2 desse produto até 9 na lista,tenho que usar o 0 na frente também.
Então fica nisso,se tiver 30 produtos,se eu for ter que colocar 4 tem que usar 04,se tiver 60 produtos e eu quiser de 7 pra cima tenho que colocar 0 na frente de qualquer digito.Eu a principio pensei que éra problema com casas decimais,porque se tem 30 e eu digito 4 e ele diz que não tem tudo isso no estoque ele podia estar entendendo que 4 éra 40,mas se eu digitar 20 ele entenderia como 200,e não acontece isso.
O que pode ser isso?
O problema de digitar o 0 na frente,é que mais pra frente preciso realizar operações envolvendo a variável quant,e toda vez que digito o 0 na frente de algum numero na inputbox da sempre type mismatch.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.