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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  pedido duplicando em rede
Futura
PORTO FERREIRA
SP - BRASIL
ENUNCIADA !
Postada em 09/10/2007 13:00 hs            
é o seguinte, o sistema funciona em rede, e a venda é feita por 3 ou 5 estações ao mesmo tempo, tenho um campo chamado "PEDIDO", em uma tabela, que qdo o usuário clica no botão finalizar venda, abro o tratamento de erros, e através de um recordset, abro a tabela no modo pessimista, e o próximo usuário que chegar, cai na rotina de erro, que vai tentando por até 5 vezes abrir esta mesma tabela para pegar o numero do pedido, e como esta aberta neste modo, tem que esperar o usuário anterior liberá-la, ( isto ocorre no fechamento do recordset), para poder abri-la e pegar o próximo pedido. Bom sempre rodou assim, mas no último sabado, tava uma pauleira na loja e ocorreu isto, agora como pode dois terminais pegar o mesmo numero, se a tabela é aberta no modo pessimista ??/ abaixo segue a rotina que pega o numero do próximo pedido.

On Error GoTo trataerro
       
If Trim(TXTPEDIDO.Text) = Empty Then
 DoEvents
 Set Rs = New ADODB.Recordset
 Rs.CursorLocation = adUseServer
 Rs.Open "auxiliar", Cnn, adOpenKeyset, adLockPessimistic
 TXTPEDIDO = Format(Rs!pedido, "000000")
 Rs!pedido = val(Rs!pedido) + 1
 Rs.Update
 Rs.Close
 Set Rs = Nothing
End If
   
João Carlos jr.
RIBEIRÃO PRETO
SP - BRASIL
ENUNCIADA !
Postada em 10/10/2007 08:40 hs            
Futura vc tentou dar um update antes de buscar o ultimo numero de pedido, talvez vc tenha que atualizar a tabela antes de busca o ultimo codigo.
 
Espero ter lhe ajudado
 
Flw
 
T+
 
 

João Carlos Junior

Administrador de Redes - Windows 2003 Srv, Linux

    Desenvolvedor Visual Basic 6.0 com Access, SQL Server, VB .Net e Crystal Reports X

Iniciante em C# e ASP .NET

   
Tiranossauro
não registrado
Postada em 10/10/2007 20:12 hs   
existe algum intervalo de tempo entre uma tentativa e outra ? Se não houver então as tentativas são quase instantâneas.
 
E se você colocar um while e mantiver as tentativas enquanto o registro está bloqueado colocando um tempo entre uma e outra ?
     
Futura
PORTO FERREIRA
SP - BRASIL
ENUNCIADA !
Postada em 11/10/2007 08:34 hs            
solucionei o problema, passando o cursor lado client
   
Página(s): 1/1    


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