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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  INCLUIR REGISTRO ATE UM PONTO, DEPOIS....
Rafael The Best
SÃO PAULO
SP - BRASIL
Postada em 11/02/2005 11:19 hs            
Pessoal, por favor vê se alguém pode me ajudar. Tô com um problemão.
Fiz um sistema de Automação de Vendas que já está em um dos clientes da minha empresa.
O que está acontecendo?
Existe uma tela de pedidos. Estou incluindo vários pedidos. Todas vez que eu incluo um pedido ele
gera um número.
Porém, só consigo gravar até o pedido número 54. Quando eu tento incluir o pedido 55 e 56 ele gera o
número como 0 (zero), ou seja, ele está pulando dois pedidos, então ele gravaria o pedido 55 e 56,
como sendo 57 e 58.
Estou usando banco de dados access (97) e esse número que é gerado é um campo auto-numeração
no access.
O código de inclusão que fiz é esse:
Private Sub cmdincluir_Click()
    
   ' MsgBox "ATENÇÃO O CAMPO DATA DA VENDA TÊM QUE SER EXEMPLO: 01012004, DE ACORDO COM O
PEDIDO E SEMPRE 8 DIGITOS"
   
    'If txtdata.Text = "" Then
    '    MsgBox "CAMPO DATA DATA DA VENDA OBRIGATÓRIO, ATENÇÃO O CAMPO DATA DA VENDA TÊM
QUE SER EXEMPLO: 01012004, DE ACORDO COM O PEDIDO E SEMPRE 8 DIGITOS"
    '    txtdata.SetFocus
    '    Exit Sub
    'End If
       
    Dim confirmar As Integer
                     
    confirmar = MsgBox("Confirma a Inclusão", vbQuestion + vbYesNo, "Confirmação")
 
    If confirmar = 6 Then
   
    Dim i           As Integer
    Dim cod         As Long
    Dim qry         As Recordset
   
    ' ***** REMOVIDA A ROTINA QUE BUSCAVA O ÚLTIMO CÓDIGO *****
    ' ***** E SOMAVA MAIS UM (1) PARA O PRÓXIMO CÓDIGO ********
       
    ' ***** INSERE O PEDIDO USANDO AUTO-NUMERAÇÃO *****
    sql = "Insert into pedido (cod_pedido_vendedor, "
    sql = sql & "cod_cliente_dist, "
    sql = sql & "codigo_distribuidor, "
    sql = sql & "codigo_farmacia, "
    sql = sql & "eqz, codigo_vendedor, "
    sql = sql & "apontador, prazo, tipo_cd, "
    sql = sql & "cliente, aprovacao, obs, "
    'sql = sql & "data, cliente, aprovacao, obs, "
    sql = sql & "qtde, valor_total, valor_bruto, "
    sql = sql & "valor_desconto_total, valor_liquido, obs2 "
    sql = sql & ") Values ("
    sql = sql & "'" & txtcodvendedor.Text & "','" & txtcodcliente.Text & "'," & txtcodigodistribuidor.Text &
"," & txtcodigofarmacia.Text & "," & cbobrick.Text & "," & txtcodigovendedor.Text & ",'" &
txtapontador.Text & "','" & txtprazo.Text & "','" & txtcd.Text & "','" & txtcliente.Text & "','" &
txtaprovacaopedido.Text & "','" & txtobs.Text & "'," & txtqtdetotal.Text & ",'" & txtpreco.Text & "','" &
txtvlrbruto.Text & "','" & txtvlrdesctotal.Text & "','" & txtvlrliq.Text & "','" & txtobsalt.Text & "')"
     'MsgBox sql
     'Open App.Path & "SQL.txt" For Output As #1
     'Print #1, sql
     'Close #1
   
    db.Execute (sql)
   
    ' ***** BUSCA O ÚLTIMO REGISTRO QUE FOI INSERIDO *****
    sql = "Select codigo_pedido From pedido Where"
    sql = sql & " data2 = #" & Month(Date) & "/" & Day(Date) & "/" & Year(Date) & "#"
    sql = sql & " And qtde = " & txtqtdetotal.Text
    sql = sql & " And codigo_distribuidor = " & txtcodigodistribuidor.Text & ""
    sql = sql & " And codigo_farmacia = " & txtcodigofarmacia.Text & ""
    sql = sql & " And codigo_vendedor = " & txtcodigovendedor.Text & ""
    sql = sql & " Order By codigo_pedido Desc"
    ' MsgBox sql
    ' Open App.Path & "SQL.txt" For Output As #1
    ' Print #1, sql
    ' Close #1
    Set rs = db.OpenRecordset(sql)
    If Not (rs.BOF And rs.EOF) Then
        cod = rs("codigo_pedido")
        'MsgBox cod
    End If
    rs.Close
  
    ' ***** INSERE OS ITENS DO PEDIDO *****
    For i = 0 To (lstcodigopedido.ListCount - 1)
       sql = "Insert into itens_pedido2(codigo_pedido, codigo_produto, qtde, valor, desconto,
valor_bruto_i, valor_desconto_total_i, valor_liquido_i) Values(" & cod & "," & lstcodigopedido.List(i) &
"," & lstqtdepedido.List(i) & ",'" & lstpreco.List(i) & "','" & lstdesc.List(i) & "','" & lstvlrbruto.List(i) &
"','" & lstvlrdesctotal.List(i) & "','" & lstvlrliq.List(i) & "')"
       'MsgBox sql
       db.Execute (sql)
    Next i
   
    On Error Resume Next
    txtcodigo.Text = CStr(cod)
    'cmdincluir.Enabled = False
    MsgBox ("Inclusão OK para o Pedido Nº " & CStr(cod) & ".")
    End If
    txtcodigo.Text = ""
    optcancelar.Value = False
    txtcodvendedor.Text = ""
    txtcodcliente.Text = ""
    cbodist = ""
    lbldistribuidora = ""
    txtcnpjfarmacia.Text = ""
    lblfarmacia = ""
    'cbobrick.ListIndex = -1
    txtvendedor.Text = ""
    txtcodigovendedor.Text = ""
    txtapontador.Text = ""
    txtcd.Text = ""
    txtprazo.Text = ""
    txtvlrbruto.Text = ""
    txtvlrdesctotal.Text = ""
    txtvlrliq.Text = ""
    txtdata.Text = ""
    txtcliente.Text = ""
    txtaprovacaopedido.Text = ""
    lstcodigopedido.Clear
    lstpreco.Clear
    lstdesc.Clear
    lstvlrbruto.Clear
    lstvlrdesctotal.Clear
    lstvlrliq.Clear
    lstqtdepedido.Clear
    txtqtdetotal.Text = ""
    lblprecototalpedido = ""
    txtpreco.Text = ""
    txtvlrbruto.Text = ""
    txtvlrdesctotal.Text = ""
    txtvlrliq.Text = ""
    lbldata2 = ""
    txtobsalt.Text = ""
    txtobs.Text = ""
    txtcodvendedor.SetFocus
   
End Sub
Porque acontece isso?
Me dêem uma luz por favor, preciso de muita ajuda sobre isso.
Muito Obrigado

Rafael Carlos Martin
Desenvolvedor de WebSites e Sitemas
E-mail:rafa-martin@ibest.com.br
     
Fuintersoft1
SAO PAULO
SP - BRASIL
Postada em 01/03/2005 14:38 hs            
vc quer dizer pedido ou itens do pedido?????
 
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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