|
Postada em 03/06/2005 18:22 hs
Amigos, gostaria de criar um For para no momento q eu jogar um produto numa linha do msflexgrid, e depois eu jogasse outro com o mesmo codigo de barras, automaticamente, fosse alterado a quantidade, e nao criasse duas linhas como o mesmo produto... tenho esse codigo: With MSFlexGrid1 nLinhas = .rows + 1 .rows = nLinhas nPos = .rows - 1 .Row = nPos .Col = 0 'insere dados na coluna 1 .Text = TabMaterial("NrMaterial") .Col = 1 .Text = TabMaterial("NomeMaterial") .Col = 2 .Text = TabMaterial("Grupo") .Col = 3 .Text = TabMaterial("Unid") .Col = 4 .Text = "1" .Refresh End With
quando a text recebe o focu com o codigo de barras, automaticamente ele busca o produto numa tabela e joga na flexgrid, criando uma linha, e assim sucessivamente, ate tudo bem, mas se eu tiver dois produtos iguais, eu leio uma vez, criasse uma linha, e leio outra vez e criasse outra linha, queria incrementar isso, quando eu lesse o segundo produto, o sistema verificaria se exite algum na msflexgrid, se existir ele nao criaria outra linha, ele apenas aumentava a quantidade para 2... Alguem entendeu o q eu estou querendo? se puderem me ajudar.... agradeço.
|
|
|
|
|
Postada em 04/06/2005 01:48 hs
Faz um loop pelas linhas do flex... Nao vou postar o codigo pq é bem simples A logica é a seguinte: nao sei como vc usar esse grid, mas acho q é uma especie de pre-impressao da nota na tela, com a relacao dos itens de uma vende, por exemplo... bem, eu costumo ter sempre uma coluna com a chave primaria da tabela, no seu caso acho q é NrMaterial, certo? pois bem, a cada produto incluido, antes de criar a nova linha, faz um loop passando por todas as linhas, e verificando se aquele NrMaterial já está na lista, se estiver vc para o loop na linha onde ele está e altera a quantidade, se nao esta na lisa, ai vc adiciona o registro em uma nova linha no final... Acho q é isso q vc quer... é bem simples de se implementar com um For...Next e alguns ifs... se vc tiver dificuldade, manda um e-mail q te ajudo com o codigo... Flw!
Elieser Carlos Topassi Analista de Sistemas - Desenvolvedor VB/ASP/.Net
e-mail/msn: elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil _____________________________________________________
"O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)
|
|
|
|
Postada em 06/06/2005 12:27 hs
nao consegui fazer o loop... poderia me ajudar a fazer para percorrer as linhas da grid?
|
|
|
kerplunk
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 06/06/2005 15:26 hs
Quando fizer a query para seleção dos dados faça com uma cláusula Group By.
|
|
|
|
Postada em 07/06/2005 11:46 hs
Carlinhos, manda o form onde tem o grid pro meu e-mail q eu monto pra vc...
Nao costumo fazer isso, mas no seu caso é bastante simples...
Estou aguardando...
Elieser Carlos Topassi Analista de Sistemas - Desenvolvedor VB/ASP/.Net
e-mail/msn: elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil _____________________________________________________
"O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)
|
|
|
ATS
|
OURINHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 07/06/2005 11:50 hs
Você já tentou assim:
For i = 1 To MSFlexGrid.Rows - 1 If txtCodigo.Text = MSFlexGrid.TextMatrix(i, COLUNA) Then MSFlexGrid.TextMatrix(i, COLUNA) = MSFlexGrid.TextMatrix(i, COLUNA) + 1 End If Next i
Obs.: Substitua palavra COLUNA pela numero da coluna correspondente no seu grid
|
|
|
|