USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Adicionar Itens no Grid
Smart2009
não registrado
Postada em 04/09/2009 14:15 hs   
Boa tarde a todos,
 
Dúvida no MSFlexGrid
Fiz um Formulário de busca onde os produtos da venda de um determinado Pedido salvos no Banco de Dados Access aparecem listados no MSFlexGrid. Criei um botão de comando chamado "Inserir mais itens" em que acionado, adiciona mais produtos deste Pedido no MSFlexGrid.
Agora vem o erro:
Por exemplo, se estiver um item de um produto já listado no MSFlexGrid, quando clico no botão "Inserir mais itens" para adicionar mais um produto, este novo lançamento apaga o produto listado e fica no lugar dele. Eu quero adicionar mais um produto no grid e não apagar o que já estava.
Por favor sou iniciante em VB alguém tem algum exemplo prático para me ajudar.
Desde já agradeço.
     
PH1959
Pontos: 2843
SÃO JOSÉ DOS CAMPOS
SP - BRASIL
ENUNCIADA !
Postada em 04/09/2009 15:52 hs            
acontece q se vc coloca mais um item, e este item já existe no bd ele não se repetirá...
 
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
Postada em 04/09/2009 16:52 hs            
posta o código do botão inserir mais itens
 
 
     
Smart2009
não registrado
Postada em 05/09/2009 16:03 hs   
Olá Treze , segue o código do Botão inserir mais itens
 
Private Sub cmdInserirMaisItens_Click()
Dim sRow As Long
 
sRow = MSFlexGrid1.Rows - 1
With MSFlexGrid1
  .Rows = .Rows + 1
  MSFlexGrid1.TextMatrix(sRow, 0) = txtVendaID
  MSFlexGrid1.TextMatrix(sRow, 1) = txtCodCliente
  MSFlexGrid1.TextMatrix(sRow, 2) = txtCodProduto
  MSFlexGrid1.TextMatrix(sRow, 3) = txtProduto
  MSFlexGrid1.TextMatrix(sRow, 4) = txtPreçoUnitario
  MSFlexGrid1.TextMatrix(sRow, 5) = txtQuantidade
  MSFlexGrid1.TextMatrix(sRow, 6) = txtDesconto
  MSFlexGrid1.TextMatrix(sRow, 7) = txtValorTotal
 
  .FixedRows = 1
  MSFVALUES 'Cabeçalho do Grid
  sRow = sRow + 1
End With
End Sub
 
Public Sub MSFVALUES() 'Cabeçalho do Grid
MSFlexGrid1.ColWidth(0) = 1000
.
.
.
MSFlexGrid1.TextMatrix(0, 0) = "Venda Nº"
.
.
.
End Sub
 
Agradeço desde já
 
     
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 05/09/2009 19:50 hs            
tente assim
 
Private Sub cmdInserirMaisItens_Click()
With MSFlexGrid1
  .Rows = .Rows + 1
  MSFlexGrid1.TextMatrix(.Rows - 1, 0) = txtVendaID
  MSFlexGrid1.TextMatrix(.Rows - 1, 1) = txtCodCliente
  MSFlexGrid1.TextMatrix(.Rows - 1, 2) = txtCodProduto
  MSFlexGrid1.TextMatrix(.Rows - 1, 3) = txtProduto
  MSFlexGrid1.TextMatrix(.Rows - 1, 4) = txtPreçoUnitario
  MSFlexGrid1.TextMatrix(.Rows - 1, 5) = txtQuantidade
  MSFlexGrid1.TextMatrix(.Rows - 1, 6) = txtDesconto
  MSFlexGrid1.TextMatrix(.Rows - 1, 7) = txtValorTotal
  End With
End Sub
   
Smart2009
não registrado
ENUNCIADA !
Postada em 19/09/2009 16:15 hs   
Boa tarde Treze e amigos do Forum, este código que vc me passou funcionou perfeitamente, mas depois tive um outro problema na sequencia do sistema que não consigo fazer, gostaria de tua ajuda, é o seguinte:
Exemplo: Fiz a busca de um pedido já salvo e reabrí este mesmo pedido no formulário, ok
             Ele traz os dados do pedido já salvos no Banco de Dados Access ok
             Digamos, aparecem dois produtos discriminados no MSFlexGrid ok
             Incluí um terceiro produto no MSFlexGrid com o botão "cmdInserirMaisItens" ok
 
Agora vem a erro:
             Quando clico no botão "cmdAtualizarPedido" este terceiro item não é salvo no
             banco de dados e os dois produtos que já estavam salvos no Banco de dados
             são duplicados no mesmo BD.
 
Por favor me ajude a resolver este erro de código, aí vai o código que fiz:
 
Private Sub cmdAtualizar_Click()
Dim i As Long
 
Dim rstemp As Recordset
Set rstemp = New ADODB.Recordset
rstemp.Open "Select * From VendasDetalhes", con, 1, 3
For i = 1 To MSFlexGrid1.Rows -2
With rstemp
   .AddNew
      !CodVenda = MSFlexGrid1.TextMatrix(i, 0)
      !CodCli = MSFlexGrid1.TextMatrix(i, 1)
      !CodPro = MSFlexGrid1.TextMatrix(i, 2)
      !Produto = MSFlexGrid.TextMatrix(i, 3)
      !PreçoUnitario = MSflexGrid1.TextMatrix(i, 4)
      !QtdVenda = MSFlexGrid1.TextMatrix(i, 5)
      !Desconto = MSFlexGrid1.TextMatrix(i, 6)
      !ValorTotal = MSflexGrid1.TextMatrix(i, 7)
  .Update
End With
Next
rstemp.Close
MsgBox "Pedido de Venda atualizado com sucesso.", vbInformation
End Sub
 
Agradeço desde já.
   
Página(s): 1/4      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página