• 0
Sign in to follow this  
xangall

Urgente

Question

Preciso fazer um programa que funcione em rede. E postei novamente por que é muito importante e até agora não consegui travar o registro para que o outro computador saiba que o registro atual está sendo alterado no momento

Alguém poderia me ajudar por favor é muito URGENTE.

Share this post


Link to post
Share on other sites

14 answers to this question

Recommended Posts

  • 0

Explica melhor o q tu ta querendo fazer

Share this post


Link to post
Share on other sites
  • 0
Explica melhor o q tu ta querendo fazer

Bem

Tem dois micros ligados em rede

os dois estão acessando o mesmo registro "Cliente ==>João

Concorda comigo que o ultimo que salvar o registro é o que permanecerá no banco de dados.

Qual é minha dúvida é como vou travar esse registro para que enquanto um estive alterando, o outro terminal não tenha acesso à alteração do mesmo.

Por favor é de extrema urgencia

Share this post


Link to post
Share on other sites
  • 0

Æ brother....

cara, você pode fazer como o Graymalkin usar a propriedade EditMode do RecordSet para travar o seu registro, ou você pode fazer assim cara, adicionando na sua tabela um campo de Sim/Não (Boolean) e quando o cara fazer a consulta a sua tabela ele passa o valor desse campo para TRUE e deixa o campo travado ....Sempre que o usuário começar a fazer uma consulta primeiramente devê-se verificar o valor desse campo e ver se ele está travado (True) se estiver ele manda uma mensagem avisando a pessoa que a tabela está sendo usada por outro usuário da rede.

Espero ter ajudado...

Abraços,

William Rodrigues

Share this post


Link to post
Share on other sites
  • 0

Rapaziada 'VB'!!!

O que acham de usar transações ? (ex: CommitTrans, BeginTrans, RollBack)

Assim você´s podem bloquear as transações no registro apenas liberando -os para leitura.

Abraços!!

[urso]

Share this post


Link to post
Share on other sites
  • 0
Rapaziada 'VB'!!!

O que acham de usar transações ? (ex: CommitTrans, BeginTrans, RollBack)

Assim você´s podem bloquear as transações no registro apenas liberando -os para leitura.

Abraços!!

[urso]

olá gostei da sua idéia gostaria de saber como você faz isso

não manjo muito desse assunto obrigado

Share this post


Link to post
Share on other sites
  • 0
Æ brother....

cara, você pode fazer como o Graymalkin usar a propriedade EditMode do RecordSet para travar o seu registro, ou você pode fazer assim cara, adicionando na sua tabela um campo de Sim/Não (Boolean) e quando o cara fazer a consulta a sua tabela ele passa o valor desse campo para TRUE e deixa o campo travado ....Sempre que o usuário começar a fazer uma consulta primeiramente devê-se verificar o valor desse campo e ver se ele está travado (True) se estiver ele manda uma mensagem avisando a pessoa que a tabela está sendo usada por outro usuário da rede.

Espero ter ajudado...

Abraços,

William Rodrigues

olá amigo desculpa te desapontar mas se acabar a força no local o registro vai ficar travado

:(

Share this post


Link to post
Share on other sites
  • 0
Para isso existe a propriedade EditMode do RecordSet. Para mais detalhes, dê uma olhada nesta página (leia de baixo para cima, pois são respostas de respostas): http://br.groups.yahoo.com/group/vbj/message/3586

Abraços,

Graymalkin

Olá amigo a sua idéia é muito boa mesmo não à trocaria por nenhuma outra só que ela não funciona em rede.

não sei se devo usar odbc.

só que eu não quero usar odbc quero uma conexão direto com o baco de dados e mesmo assim a sua ideia só funcionou para o programa que a executa.

faça o teste

mesmo assim estou muito agradecido

Share this post


Link to post
Share on other sites
  • 0

Não uso ODBC, e não me lembro se cheguei a testar isso em dois computadores (mas acredito que sim) ou se foi em apenas um com duas instâncias do programa. Não me lembro se é necessário, mas tente mudar o CursorLocation para adUseServer. Nunca tive essa necessidade de trancar um registro, por isso não posso te dar um certeza.

Abraços,

Graymalkin

Share this post


Link to post
Share on other sites
  • 0
Não uso ODBC, e não me lembro se cheguei a testar isso em dois computadores (mas acredito que sim) ou se foi em apenas um com duas instâncias do programa. Não me lembro se é necessário, mas tente mudar o CursorLocation para adUseServer. Nunca tive essa necessidade de trancar um registro, por isso não posso te dar um certeza.

Abraços,

Graymalkin

putz não funcionou cara o que será que está havendo dá uma olhada no codigo

Function adoTravar(Tabela As String, codigo As String, campo As String)

Set rstabela = Nothing

Set rstabela = New ADODB.Recordset

rstabela.CursorLocation = adUseServer 'adUseClient

rstabela.Open "Select * from " & Tabela & " where " & campo & "=" & codigo, Conexao, adOpenDynamic, adLockPessimistic

rstabela(1) = rstabela(1)

End Function

Share this post


Link to post
Share on other sites
  • 0

Não sei ao certo qual a diferença, mas eu uso o adLockOptimistic e não o adLockPessimistic. Mas assim que puder vou testar o seu código.

Abraços,

Graymalkin

Share this post


Link to post
Share on other sites
  • 0
Não sei ao certo qual a diferença, mas eu uso o adLockOptimistic e não o adLockPessimistic. Mas assim que puder vou testar o seu código.

Abraços,

Graymalkin

olá amigo os dois não funciona :(

Share this post


Link to post
Share on other sites
  • 0
Æ xangall....

Prá te ajudar....

dá uma olhadinha nesse pequeno tutorial: Tio Macoratti

Abraços,

William Rodrigues

Obrigado amigo mas estou usando o ADO

Valeu a intenção

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this