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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  MSFlexGrid Não Atualiza Estoque
Smart2009
não registrado
ENUNCIADA !
Postada em 23/07/2009 10:36 hs   
Bom dia a todos, preciso da ajuda de vocês para verificar uma rotina que fiz que não está funcionando, ou seja, quando clico no botão para remover o item do MSFlexGrid o item é excluído da listagem e a quantidade do produto que estava na listagem "NÃO" retorna para o estoque.
 
Private Sub cmdRemoverItem_Click()
Dim selectedRow As Integer
Dim rs2 As New ADODB.Recordset
Dim total As Long
Dim i As Long
selectedRow = MSFlexGrid.Row
If MSFlexGrid.Rows > 2 Then
For i = 1 To MSFlexGrid1.Rows - 2 Step 1
rs2.Open "Select * From Produtos Where CodPro = '" & Val(MSFlexGrid1.TextMatrix(i, 2)) & "'", con, 1, 2
If rs2.EOF <> True And rs2.BOF <> True Then
total = Val(rs2("QuantEstoque")) + Val(MSFlexGrid1.TextMatrix(i, 6))
rs2("QuantEstoque") = total
rs2.UpdateBatch adAffectCurrent
End If
rs2.Close
Next i
End If
If MSFlexGrid1.Rows > 2 Then
MSflexGrid1.RemoveItem (MSFlexGrid1.Row)
Else
MSFlexGrid1.RemoveItem (1)
End Id
End Sub
 
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
Postada em 23/07/2009 12:02 hs            
acho que entendo o que está acontecendo conforme você vai efetundo uma venda esta é incluida no flexgrid e dado baixa no estoque, porem quando você exclui este item do flexgrid ele não retorna para o estoque, é isto que está acontecendo?
 
dependo da tua resposta para te ajudar
 
 
     
Smart2009
não registrado
ENUNCIADA !
Postada em 24/07/2009 09:25 hs   
Olá amigo Treze é exatamente isso que está acontecendo
   
Álvaro
Pontos: 2843
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 24/07/2009 14:33 hs            
Basta vc dar um update no banco acrescentando o valor que esta na listagem
segue um comando que uso para fazer quase que isso vc esta fazendo
No caso eu estou deixando o usuário alterar o valor de venda do grid e até mesmo a descrição e com a alteração no valor de venda, já estou calculando a margem correta
sSql = "update itens margem = '" & Format((((CCur(Grid.TextMatrix(Grid.Row, 2)) / CCur(" & ValorUnitario & ")) * 100) - 100), "##0.00") & "', descricao = '" & Grid.TextMatrix(Grid.Row, 1) & "',valorvenda = '" & CCur(Grid.TextMatrix(Grid.Row, 2)) & "' from itens WHERE CodBarras= " & Grid.TextMatrix(Grid.Row, 0)

Grid.Row é a linha que ele selecionou

Acho que isso pode te ajudar
Senão posta ai

Abraço e que DEUS te abençõe, espero poder ter te ajudado
Eu sou o Senhor, o DEUS de vocês;
eu os seguro pela mão e lhes digo;
Não fiquem com medo, pois eu os ajudo
Isaias 41:13
   
Smart2009
não registrado
ENUNCIADA !
Postada em 24/07/2009 19:15 hs   
Deixe explicar:
O botão que criei para incluir item no MSFlexGrid e automaticamente dar baixa no estoque funciona perfeitamente conforme exemplo.
Dim rs2 As New ADODB.Recordset
Dim total As Long
 
rs2.Open "Select * From Produtos Where CodPro = '" & txtCodProduto & "'", con, 1, 2
total = Val(txtEstoque.Text) - Val(txtQuantidadeVenda.Text)
rs2.Fields("QuantEstoque") = total
'Mostra a nova quantidade do produto em estoque na caixa de texto
txtEstoque.Text = rs2.Fields("QuantEstoque")
 
rs2.UpdateBatch adAffectCurrent
rs2.Close
.
.
.
End Sub
 
A Rotina do botão cmdRemoverItem_Click não está funcionando, ou seja, quando eu clicar no produto que está na listagem do MSFlexGrid para exclui-lo, preciso que a quantidade do produto faça o caminho inverso, volte para o estoque.
 
Agradeço antecipadamente a todos por me ajudarem. Obrigado
 
 
   
William 
CRAVINHOS
SP - BRASIL
ENUNCIADA !
Postada em 26/07/2009 11:47 hs            
cara, +- pelo tua lógica é simples

e como o treze já explicou...

tu pega a qtde q foi puxada... no grid,deve marcar ^^ e armazena

exclui a tal linha e faz um update
dim cnnComando as new adodb.command
with cnncomando
.activeconnection = cnn
.commandotype = adcmdtext
.commandtext = "UPDATE produtos SET qtde='qtde+" & VarQtdeResgatada & "';"
.execute
end with
set cnncomando = nothing


PS.: Não sei se esse é o melho jeito pra fazer comandos sql sem usar recordset já que aprendi lendo uma apostila do Apostilando e como só conheço esse jeito de dar comandos SQL pra mim é muito mais útil criar uma função global num módulo na qual ele só muda o SQL e no Lugar do commandtext uso SQL.... acho que fica estéticamente mais bonito hehe.

PS2.: se tiver um jeito mais fácil de executar esses comandos.... me ensinem kkkkkkk muitas linhas pra pouca coisa :D

flw-se
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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