Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Com Tela De Venda E Mshflexgrid - C/foto


sweet-tooth

Pergunta

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 para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...