CAIXA

GESSINGER 20/02/2010 14:44:05
#334900
No meu Banco de dados access tem 1 tabela chamada [Ô]Vendidos[Ô]
gostaria q todos os produtos vendidos( na hora q aparecer na listview), ou seja
quando clicar no botçao comprar, seja gravado na tabela VENDIDOS.

A tabela Vendidos tem os campos:
produto - Preço - V_Vendido - Fornecedor

vou postar o arquivo zipado ai
Obrigado
GESSINGER 20/02/2010 19:06:40
#334911
alguem pode ver o projeto e me ajudar ?
TECLA 20/02/2010 20:19:16
#334914
Precisa de ajuda?
[txt-size=2]Poste o código no tópico ao invés do projeto.[/txt-size]
Somente em ÚLTIMO CASO, abrimos o projeto para ajudá-lo.
GESSINGER 20/02/2010 20:30:06
#334917
Private Sub cmdComprar_Click()
Dim Quantidade As String

Produto = [Ô]Select * From Produtos where Codigo like [ô][Ô] & txtCodigo.Text & [Ô][ô][Ô]
If txtCodigo.Text = [Ô][Ô] Then
MsgBox [Ô]Coloque o codigo Produto.[Ô], vbInformation, [Ô]Compra...[Ô]
Else
Ado.RecordSource = Produto
Ado.Refresh
If Ado.Recordset.BOF And True Then
MsgBox [Ô]Este Produto Não Existe![Ô], vbInformation, [Ô]Busca...[Ô]
txtCodigo.Text = [Ô][Ô] [ô]Limpando a txtCodigo caso apareca a mensagem,[Ô]Este Produto Não Existe[Ô]

Else
txtCodigo.Text = Ado.Recordset.Fields([Ô]Codigo[Ô])
txtProduto.Text = Ado.Recordset.Fields([Ô]Produto[Ô])
txtPreco.Text = Ado.Recordset.Fields([Ô]Preco[Ô])
txtFornecedor.Text = Ado.Recordset.Fields([Ô]Fornecedor[Ô])
txtVal_Vendido.Text = Ado.Recordset.Fields([Ô]Val_Vendido[Ô])


txtCodigo.Text = [Ô][Ô]
Nome = txtProduto.Text
Preco = txtPreco.Text
If Ado.Recordset.Fields([Ô]Quantidade[Ô]) <= 0 Then
MsgBox [Ô]Este produto está em falta[Ô], vbCritical, [Ô]Atenção...[Ô]
Exit Sub
End If
If Ado.Recordset.Fields([Ô]Quantidade[Ô]) <> 0 Then
txtQuantidade.Text = Ado.Recordset.Fields([Ô]Quantidade[Ô])
[ô]Ado.Recordset.Edit
Quantidade = txtQuantidade.Text + 1 - 1
Ado.Recordset.Fields([Ô]Quantidade[Ô]) = Quantidade
Ado.Recordset.Update

Dim Item As ListItem
Set Item = ListView1.ListItems.Add()
Item.Text = txtCodigo.Text
Item.SubItems(1) = txtQuantidade.Text
Item.SubItems(2) = txtProduto.Text
Item.SubItems(3) = Format(txtPreco.Text, [Ô]Currency[Ô]) [ô]Formatando o campo Preço moeda
Item.SubItems(4) = txtFornecedor.Text
Ado2.Recordset.AddNew>>>>>>>>>>>>>>>>>>>>>>>>>>>aqui ado2 ta conectado com a tabela Vendidos

Dim Soma As Double
For Each Item In ListView1.ListItems
Soma = Soma + CDbl(Item.SubItems(3))
Next
txtTotal.Text = Format(Soma, [Ô]#,##0.00[Ô])

txtCodigo.Text = Ado.Recordset.Fields([Ô]Codigo[Ô])
txtProduto.Text = Ado.Recordset.Fields([Ô]Produto[Ô])
txtPreco.Text = Ado.Recordset.Fields([Ô]Preco[Ô])
txtFornecedor.Text = Ado.Recordset.Fields([Ô]Fornecedor[Ô])
txtCodigo.Text = [Ô][Ô]
Nome = txtProduto.Text
Preco = txtPreco.Text
If Ado.Recordset.Fields([Ô]Quantidade[Ô]) <> 0 Then
txtQuantidade.Text = Ado.Recordset.Fields([Ô]Quantidade[Ô])
[ô]Ado.Recordset.Edit
Quantidade = txtQuantidade.Text + 1 - 2 [ô]diminui 1 a cada quatidade comprada
Ado.Recordset.Fields([Ô]Quantidade[Ô]) = Quantidade
Ado.Recordset.Update
End If

If Ado.Recordset.Fields([Ô]Quantidade[Ô]) <= 9 And Ado.Recordset.Fields([Ô]Quantidade[Ô]) <> 0 Then
MsgBox [Ô]Pouco produto no estoque. Repor mas deste produto no estoque![Ô], vbInformation
End If
If Ado.Recordset.Fields([Ô]Quantidade[Ô]) = 0 Then
txtQuantidade.Text = Ado.Recordset.Fields([Ô]Quantidade[Ô])
MsgBox [Ô]Este produto está em falta[Ô], vbCritical, [Ô]Atenção...[Ô]

End If

End If
End If
End If
End Sub

Private Sub LimparTextos()
[ô]Option Explicit
Dim Item As ListItem
Dim Indice As Integer
For Each Item In ListView1.ListItems
Item.Text = [Ô][Ô]
For Indice = 1 To 4
Item.SubItems(Indice) = [Ô][Ô]
Next
Next
End Sub

Private Sub cmdTrasacao_Click()
txtProduto.Text = [Ô][Ô]
txtPreco.Text = [Ô][Ô]
txtFornecedor.Text = [Ô][Ô]
txtQuantidade.Text = [Ô][Ô]
txtTotal.Text = [Ô][Ô]
txtPago.Text = [Ô][Ô]
txtTroco.Text = [Ô][Ô]
ListView1.ListItems.Clear [ô]Limpa A listView
Mensa.Caption = [Ô]Caixa Livre[Ô]
txtCodigo.SetFocus
cmdComprar.Default = True
End Sub



Private Sub Command1_Click()
End
End Sub



Private Sub Form_Load()



[ô]txtCodigo.SetFocus
Dim clmX As ColumnHeader

Set clmX = ListView1.ColumnHeaders.Add(, , [Ô]Codigo[Ô])
clmX.Width = [Ô]0[Ô]
Set clmX = ListView1.ColumnHeaders.Add(, , [Ô]Q.tde[Ô])
clmX.Width = [Ô]800[Ô]
Set clmX = ListView1.ColumnHeaders.Add(, , [Ô]Produto[Ô])
clmX.Width = [Ô]3000[Ô]
Set clmX = ListView1.ColumnHeaders.Add(, , [Ô]Preço[Ô])
clmX.Width = [Ô]1150[Ô]
Set clmX = ListView1.ColumnHeaders.Add(, , [Ô]Fornecedor[Ô])
clmX.Width = [Ô]2800[Ô]

Label23.Caption = Format(Date, [Ô]Dddd[Ô] & [Ô]DD[Ô])



End Sub




Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case [Ô]Cadastro[Ô]
frmCadastro.Show
Case [Ô]Consulta[Ô]
frmConsulta.Show
Case [Ô]Estoque[Ô]
frmEstoque.Show
Case [Ô]Sair[Ô]
Unload Me
End Select
End Sub

Private Sub txtCodigo_Change()
Mensa.Caption = [Ô][Ô]
End Sub

Private Sub txtPago_Change()
If txtPago.Text <> [Ô][Ô] Then
cmdCalcular.Default = True
End If
End Sub



Private Sub txtPago_LostFocus()
txtPago.Text = Format(txtPago.Text, [Ô]currency[Ô]) [ô] moeda
End Sub





Private Sub txtPreco_Change()
txtPreco.Text = Format(txtPreco.Text, [Ô]currency[Ô]) [ô] moeda
End Sub



Private Sub txtTotal_LostFocus()
txtTotal.Text = Format(txtTotal.Text, [Ô]currency[Ô]) [ô]moeda
End Sub


Private Sub txtTroco_Change()
txtTroco.Text = Format(txtTroco.Text, [Ô]currency[Ô])
End Sub

Private Sub txtVal_Vendido_Change()
txtVal_Vendido.Text = Format(txtVal_Vendido.Text, [Ô]currency[Ô]) [ô] moeda
End Sub



preciso q grave cada vez q comprar um protudo, na tabela Vendidos
FOXMAN 20/02/2010 20:52:28
#334918
Resposta escolhida
amigo, o que vc tem que fazer é um loop no listview e em cada laço fazer um insert

Algo tipo

for i = 0 to lstview -1
insert into vendidos(produto, Preço, V_Vendido,Fornecedor) velues(valores extraidos do listview)
next i


GESSINGER 20/02/2010 21:12:16
#334919
insert into Vendidos(ID,produto, Preço, V_vendido,Fornecedor) values([Ô]Produto[Ô], [Ô]preço[Ô], [Ô]fornecedor[Ô], [Ô]v_vendido[Ô])
desculpe mas eu não sei como faz isso
ta ficando vermelha essa linha...tem como vc fazer pra mim
MOREIRA 20/02/2010 21:37:14
#334922
[ô]--Grava na Tabela Venda
Sql = [Ô]Insert Into Tbl_Venda (Cod_Cliente, Cliente, Total_Venda, Num_Venda, Frm_Pagto,[Ô]
Sql = Sql & [Ô]Dt_Venda, Quant_Dias, Dt_Venci, Dia_Semana, Hr_Venda, Usuario)[Ô]
[ô]--
Sql = Sql & [Ô]Values ([Ô]
[ô]--
Sql = Sql & [Ô][ô][Ô] & TxtCod_Cliente.Text & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & TxtCliente.Text & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & Replace(CDbl(LblTotal_Compra.Caption), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & LblNum_Venda.Caption & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & CboFrm_Pgto.Text & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & Format(TxtDt_Venda.Text, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & TxtQuant_Dias.Text & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & Format(TxtDt_Venci.Text, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & LblDia_Semana.Caption & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & Format(Time, [Ô]00:00:00[Ô]) & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & Usuario & [Ô][ô])[Ô]
Conexao.Execute (Sql)
MOREIRA 20/02/2010 21:43:28
#334923
[ô]--Grava na Tabela SaidaItens
With MSFlexGrid1
For F = 1 To .Rows - 1
Sql = [Ô]Insert Into Tbl_SaidaItens (Cod_Barra, Produto, Vlr_Venda, Quant, Total, Num_Venda, Usuario)[Ô]
[ô]--
Sql = Sql & [Ô]Values ([Ô]
[ô]--
Sql = Sql & [Ô][ô][Ô] & .TextMatrix(F, 1) & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & .TextMatrix(F, 2) & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & Replace(CDbl(.TextMatrix(F, 3)), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & Replace(CDbl(.TextMatrix(F, 4)), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & Replace(CDbl(.TextMatrix(F, 5)), [Ô],[Ô], [Ô].[Ô]) & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & LblNum_Venda.Caption & [Ô][ô],[Ô]
Sql = Sql & [Ô][ô][Ô] & Usuario & [Ô][ô])[Ô]
Conexao.Execute (Sql)
Next F
End With
GESSINGER 20/02/2010 21:48:55
#334926
gostaria de resolver o lopp so FOxMan
FOXMAN 20/02/2010 22:01:08
#334928
Só um exemplo ok....


 Set rsMovProdSaida = New ADODB.Recordset
rsMovProdSaida.Open [Ô]SELECT * FROM MOVPRODSAIDA LIMIT 1[Ô], BD, 3, 3

With rsMovProdSaida
lstVendas.ListItems(lstVendas.ListItems.Count - (lstVendas.ListItems.Count - 1)).Selected = True
For I = 1 To lstVendas.ListItems.Count
lstVendas.ListItems(I).Selected = True
.AddNew
.Fields([Ô]itemcode[Ô]) = lstVendas.SelectedItem
.Fields([Ô]itemname[Ô]) =lstVendas.SelectedItem.SubItems(1)
.Fields([Ô]qtde[Ô]) = lstVendas.SelectedItem.SubItems(2)
.Fields([Ô]preco[Ô]) = FormatCurrency(lstVendas.SelectedItem.SubItems(4), 2)
.Fields([Ô]total[Ô]) = lstVendas.SelectedItem.SubItems(5)
.Fields([Ô]dtmovimento[Ô]) = Format(Now, [Ô]yyyy-mm-dd hh:MM:ss[Ô])
.Fields([Ô]Hora[Ô]) = Format(Now, [Ô]yyyy-mm-dd hh:MM:ss[Ô])
.Fields([Ô]Usuário[Ô]) = frmMain.StatusBar.Panels(2)
...
.Update
Next I
lstVendas.ListItems(lstVendas.ListItems.Count - (lstVendas.ListItems.Count - 1)).Selected = True
End With


Agora só adaptar ao seu codigo.

GESSINGER 20/02/2010 22:25:06
#334930
for i = 0 to lstview -1
insert into vendidos(produto, Preço, V_Vendido,Fornecedor) velues(valores extraidos do listview)
next i

e esse loop como fazer ele funcionar ?
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas