Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sweet-tooth

caí num loop infinito

Recommended Posts

Quero que a tela de vendas faça busca atravez do tipo do produto,mas para isso,teria que ehcner o flexgrid com todos produtos do tipo selecionado,eu usei o seguinte código no evento lostfocus da combobox:If cbotipo <> "" Then strsql = "select * from estoque where tipo_prod = '" & cbotipo & "' "x = 1 ''>>Variável usada apenas incrementar o numero de linhaslinha = 0 ''>>Variável para determinar o numero da linhacoluna = 0 ''>> Variável usada para determinar o numero da colunaWith flex Do While Not rs.EOF >>>>> flex.TextMatrix(linha, coluna) = rs![cod_prod] coluna = coluna + 1 flex.TextMatrix(linha, coluna) = rs![produto_prod] coluna = coluna + 1 flex.TextMatrix(linha, coluna) = rs![tipo_prod] coluna = coluna + 1 flex.TextMatrix(linha, coluna) = rs![quantidade_prod] coluna = coluna + 1 flex.TextMatrix(linha, coluna) = rs![preco_venda] coluna = 0 x = x + 1 linha = linha + 1 flex.Rows = .Row + x LoopO que acontece...No momento em que a combobox perde o foco,aparece um scroll no lado direito da Flex apenas e o VB trava.Colocando uma msgbox linha no final antes do loop (para mandar mensagens avisando em qual linha está),dá pra notar ele enchendo a flex.Mas o problema,é que ele ta enchendo a Flex com um loop infinito,não vai parar nunca!E pra piorar,ele ta enchendo sempre com o mesmo produto,tenho 5 produtos cadastrados como tendo sendo do mesmo tipo,deveriam aparecer estes 5 e pronto,mas sabe-se lá porque ele apenas enche a Flex com o mesmo sempre.

Compartilhar este post


Link para o post
Compartilhar em outros sites

PESSOAL,PODEM ESQUECER O QUE ESTÁ ACIMA.Já consegui resolver,o problema éra que tava faltando o rs.MovenextAgora,falta só um passo pra finalizar com MHSFlexGrid.Agora que consigo encher a Flex com até todos produtos do estoque se necessário,preciso saber como selecionar um para ir para lista de compras.Pois se faço a busca por tipo,retornam 10 produtos/linhas,preciso saber como adicionar o produto/linha referente a compra do cleinte,pois é dificil pensar numa situação que o cliente levaria a lista toda...No caso a lista de compras é outra Flex,e para adicionar dados da Flex para Flex2 eu coloquei o valor de cada linha/coluna em uma Matriz,e consigo adicionar uma linha da Flex (a de busca) na Flex2 (lista de compras).O problema é que agora retornam várias linhas,e do jeito que fiz toda vez que eu tento adicionar uma linha na Flex2,ele adiciona sempre a primeira da Flex1.Como que eu vou especificar qual linha será adicionada?Se eu quiser adicionar a linha 5 por exemplo?Quando clicar no botão adicionar,tem que inserir a linha selecionada, a que está com foco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada na propriedade ROW da FlexGrid. Ela retorna a linha que está com o foco no momento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.