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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Proximo Nr em uma REDE ?
|-tom-|
Pontos: 2843
CATANDUVA
SP - BRASIL
Postada em 13/10/2005 17:17 hs            
Alguem sabe me dizer a melhor forma de se trabalhar em rede para se lancar o proximo nr de um pedido qdo os usuarios usam o sistema ao mesmo tempo ?
 
Abracos .

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 tom -Catanduva/SP

Analista Sistemas - Visual Basic 6 - VB.NET

"Confiai perpetuamente no Senhor, porque o Senhor Deus é uma Rocha Eterna"

                                                                                              Isaías 26:4  Emoções 

 

     
Keyo
Pontos: 2843
CURITIBA
PR - BRASIL
Postada em 13/10/2005 17:36 hs            
Naum sei se esta é a mais correta mas eu faço da seguinte forma:
 
Quando alguém inicia um pedido vc já grava no banco de dados os campos da tabela com um valor 0 e pega o novo numero,é bom ter um campo status tambem = 0
 
Assim quando o usuario for fechar o pedido vc somente atualiza os dados se baseando no numero do pedido e seta o status = 1
 
Quando for pesquisar coloca um critério no select se so apareçam os pedidos com status = 1,assim nimguém vai abrir um pedido que esteja em curso..
     
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 13/10/2005 17:47 hs            
EU CRIO UMA TABELA DE CONTROLE DE NÚMERO DE PEDIDO
 
CADA VEZ QUE UM USUÁRIO CLICA NO BOTÃO NOVO PEDIDO EU ADICIONO UM AO NÚMERO DO PEDIDO DA TABELA DE CONTROLE E REGRAVO, E RESERVO ESSE NÚMERO PARA O PEDIDO QUE O USUÁRIO ESTÁ DIGITANDO.
 
O PROBLEMA NESSE TIPO DE LÓGICA É QUE SE POR ACASO FOR ABORTADO A GRAVAÇÃO DESSE NOVO PEDIDO ESSE NÚMERO NÃO SERÁ REAPROVEITADO
 

dsmn
     
ArtSoft
SAO PAULO
SP - BRASIL
Postada em 13/10/2005 18:08 hs         
Caro Tom,
 
Eu já faço de uma outra forma....
Tenho uma function chamada IncrementaPedido, onde, quando os usuarios solicitarem para incluir um pedido espero eles digitarem todos os dados, qdo solicitarem para gravar checo se esta tudo em ordem mando para a rotina IncrementaPedido, na tabela pedido gravo o nunmero gerado no campo NrPedido e salvo o banco de Dados. Abaixo segue o exemplo do IncrementaPedido :
 
'MODULO
Public Function IncrementaPedido() As Long
Dim Nro As String
Arq = FreeFile
Close #Arq
Open Diretorio & "PEDIDO.NRO" For Binary As #Arq
Get #Arq, 1, Nro
IncrementaPedido = Val(Nro) + 1
Nro = IncrementaPedido
Put #Arq, 1, Nro
Close #Arq
End Function
'No Private do Pedido quando for gravar
IF INCLUSÃO = TRUE THEN
         .rsPedido.Fields("PEDIDO_NRO") = IncrementaPedido
END IF
 
'ALEM DISSO, COLOCAR NA TABELA NO CAMPO [PEDIDO_NRO]  COMO CHAVE 'PRIMARIA E SOLICITAR DUPLICAÇ!ÃO NÃO AUTORIZADA
'DESTA FORMA FICA IMPOSSIVEL DE SER CRIADO PEDIDOS COM O MESMO NUMERO

Alexandre Costa
ArtSoftSystems

Skype:artsoftsystems
MSN:alexandre.artsoft@hotmail.com
artsoftsystems@uol.com.br

     
Donkey
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
Postada em 14/10/2005 00:34 hs            
Tambem faço assim e nunca tive problemas, eu na hora de gravar abro uma transacao e vejo o ultimo codigo gravado e incremento 1, dessa forma nenhum pedido é pulado, e para completar coloque como chave primaria o codigo do pedido, dessa forma não tem como haver duplicações.... T+
     
ivanhoe
BARRA BONITA
SP - BRASIL
Postada em 14/10/2005 00:34 hs            
Caro colega tom ;
 
Tenho um sistema de vendas e operam 6 maquinas quase simultaneamente gerando vendas e pedidos , uma forma que encontre foi usar um "select Max" e depois "insert" logo apos o incremento dentro de um while ; se gerar algum erro ele desvia  refaz a operacao quantas vezes for necessario ate o momento que conseguir gravar um numero unico , depois quando fechar a venda o sistema atualiza o valor total com o numero sequencial que ele gerou ...
 
     
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