Jump to content
Fórum Script Brasil
  • 0

Ajuda Com Tela De Venda E Mshflexgrid - C/foto


sweet-tooth
 Share

Question

Olá,esse é meu primeiro post aqui,tenho me cadastrado em alguns foruns pra conseguir ajuda em um projeto que estou fazendo,e tenho que apresenta-lo na escola semana que vem quando voltam as aulas.

Por sorte fiz muita coisa,só restam duas coisas agora,abrir um relatório do CR,e terminar a tela de vendas de produtos que é o pior.

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.

alguém 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

Vejam uma screen do problema aqui:

http://img293.imageshack.us/img293/1629/teste2uj5.jpg

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

então, pra saber o numero de linhas da flexgrid, acesse a propriedade rows. exemplo: flex1.Rows

ai pra adicionar a linha, eu faria assim:

With flex2
    .AddItem "", .Rows
    .TextMatrix(.Rows - 1, 1) = coluna0
    .TextMatrix(.Rows - 1, 2) = coluna1
    .TextMatrix(.Rows - 1, 3) = coluna2
    .TextMatrix(.Rows - 1, 4) = coluna4
End With
[/code]

Link to comment
Share on other sites

  • 0
Guest Visitante

Obrigado pela ajuda Kuroi!

Agora estou conseguindo adicionar quantos registros quiser,mas surgiu alguns outros problemas : (

Como que eu faço para ENCHER esse grid?

Como no exemplo que citei para buscar um produto,gostaria que fosse preciso apenas digitar o primeiro nome,o cara digita Pentiun,daí a Flex deve montar a lista de tudo que começa com Pentiun pra ele,daí ele escolheria qual comprar (esse é outro problema,como ele vai marcar qual quer?).

A instrução para buscar os produtos dessa forma no SQL seria "select * from estoque where produto like 'pentiun%' mas como que ficaria isso no VB?Porque já tem um where ( select * from estoque where produto = '" & textproduto & "'),não sei como usar 2 Where na mesma situação....

E outra,como eu encheria a grid com o resultado dessa busca?Lembrando que novamente o numero de valores retornados e de linhas que serão usadas é aleatório.(talvez se tiver como contar o numero de linhas retornadas na busca,tenha como criar um laço de repetição até o numero de linhas da Flex ficar igual ao numero de linhas da busca).

E por ultimo,caso eu seja possível criar a lista com todos produtos que começam com Pentiun,como selecionar apenas uma delas que é a referente a compra?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649k
×
×
  • Create New...