Ir para conteúdo

Arquivado

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

sweet-tooth

Preciso de uma rotina/ou trocar de componente

Recommended Posts

Eu to fazendo a primeira tela de venda,e to usando o MSHFlexGrid,mas não sei se esse é o controle ideal.

Eu estou usando o MSHFlexGrid,por que queria usar ListBox,mas como o MSHFlexGrid tem colunas pra separar os campos achei que ficaria melhor.

Bem,no form existe a textbox onde você escreve o nome do produto ao qual quer buscar,e o valor está sendo retornado no MSHFlexGrid (vou passar a chama-lo de FLEX agora).Onde recebo retorno do nome completo,código,quantidade em estoque,tipo e preço do produto,tudo em suas devidas colunas,bem organizado como queria.E localizando o produto que eu quero na lista,clicaria no botão "Adicionar",onde ele pegaria apenas o produto selecionado e adicionaria em outro Flex,onde vai se formar a lista completa do pedido.

 

Mas aí vem o primeiro problema:

 

1-***Pra realizar uma busca,gostaria de não ter que escrever o nome completo.Por exemplo se quiser buscar um Pentiun 4 HT 3.0,odiaria ter que escrever esse nome todo,o ideal seria escrever pentiun,daí ele lista todos componentes que tem Pentiun no início do nome,me mostra a lista e eu escolheria o Pentiun 4 HT 3.0 entre eles.O problema é que no Flex,você tem que especificar em quais linhas e colunas cada dado vai entrar,e se eu não faço idéia de quantos produtos tem,como vou específicar quantas e em quais linhas e colunas vão entrar cada registro?

 

O que estou fazendo no momento para teste,é apenas com uma linha no Flex,mas assim,teria que escrever o nome completo e certo.

 

2-*** Volto a ficar preso por causa das linhas.Eu faço a busca,acho o nome do produto que quero,clico em adicionar e ele sai do Flex de consulta pro Flex pedido.Mas eu não sei quantos produtos vou comprar ainda,como preparar as linhas seguintes pra receberem mais dados de pedido?

 

3-***Talvez esteja ligado também ao fato de não saber o numero de linhas e está ligado a Flex do pedido.Eu só consigo adicionar uma linha de pedido.Se eu fazer outra busca,quando eu clicar no botão adicionar,ele vai sobrepor o registro anterior,e pra piorar,são adicionados nas linhas seguintes,pedaços do código que eu usei na coluna 1,vejam a foto 2.

 

Alguem pode me ajudar a corrigir esse problema??Ou recomendar outro componente?O que eu não gostaria de fazer é colocar uma textbox para cada registro que precise,ia ficar parecendo mais uma tela de cadastro,e aliás se for pra fazer assim é melhor eu atribuir a função de vender logo a tela de cadastro mesmo,uso a mesma tela pra cadastrar,editar,deletar,consultar,vender.....

 

Código usado no botão adicionar:

 

Private Sub cmdadicionar_Click()

If flex <> "" Then ****aFlex é a primeira MSHFlexgrid,a de consulta apenas...a de pedido é a Flex2

'Tamanho

flex2.ColWidth(0) = 1300

flex2.ColWidth(1) = 3000

flex2.ColWidth(2) = 2500

flex2.ColWidth(3) = 1000

flex2.ColWidth(4) = 950

 

'Atribuindo nome as colunas

flex2.Row = 0

flex2.Col = 0

flex2.Text = "Código"

 

flex2.Col = 1

flex2.Text = "Produto"

flex2.Col = 2

flex2.Text = "Classe"

flex2.Col = 3

flex2.Text = "Quantidade"

flex2.Col = 4

flex2.Text = "Preço"

 

''''Adicionando os registros

frmvenda.flex2.AddItem ("coluna0,coluna1,coluna2,coluna4") ''''Essas são variáveis onde ficaram armazenadas valores das colunas 0,1,2 e 4 da Flex de consulta

 

flex2.Row = 1

flex2.Col = 0

flex2.Text = coluna0

 

flex2.Col = 1

flex2.Text = coluna1

 

flex2.Col = 2

flex2.Text = coluna2

 

'flex2.Col = 3

'flex2.Text = Textquantidade.Text

 

flex2.Col = 4

flex2.Text = coluna4

 

' flex.Clear

 

Else

MsgBox "Não há nenhum produto a ser adicionado!", vbInformation, "Erro"

Exit Sub

End If

End Sub

 

 

Imagem Postada

 

 

E aqui o que acontece quando o botão adicionar é usado mais de uma vez

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para solucionar esse problema de linhas é só ir adicionando mais 1 na propriedade ROWS que indicada quantas linah tem a flex e é passível de alterações.

 

Para fazer a busca por partes do texto caso você esteja usando SQL a consulta ficaria assim:

Select * from tabela where nome LIKE 'Pentiun%'

Note que o % seria como o * no localizar do windows.

 

E outra coisa muito útil para você pode ser a propriedade TEXTMATRIX com ela você pode pegar ou alterar o valor das células sem jogar o foco nela:

flex.textmatrix(linha,coluna)

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.