ERRO AO DAR UPDATE NO BANCO ACCESS

ZULLIM 20/11/2006 15:58:14
#185408
é o seguinte:
Tenho um banco de dados em ACCESS que é utilizado em rede e que recebe atualizações constantes. Acontece que quando uso
'MEUBANCO.EXECUTE instrucaoSql' e dentro dessa ionstrução sql está sendo feito um update no banco, dá o seguinte erro: "Não foi possível atualizar; atualmente bloqueado". Percebi que isso está acontecendo quando mais de uma máquina está usando esse comando, mesmo quando o updade é em tabelas diferentes.

Alguém sabe me dizer porque isso está acontecendo e como resolver esse problema?
ALMARTI 20/11/2006 16:37:50
#185419
Poste a instrução para vermos? Esta usando ADO ou DAO, qual tipo de bloqueio esta usando?
ZULLIM 20/11/2006 17:04:15
#185422
Informei errado o comando.
Abro a tabela da seguinte maneira:

StrBusca = "SELECT * From TABELA"
Set Tb = New ADODB.Recordset
With Tb
.ActiveConnection = Bancodados
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open StrBusca
End With
após inserir o registro dou o comando:
Tb.Update. é nessa linha que dá o erro.

E o outro comando é o seguinte;

While Not Tboutra.EOF
StrBusca = "INSERT INTO OUTRATABLE (CAMPO) SELECT campo1 FROM TABELA10"
BancoDados.Execute StrBusca 'Aqui também dá o erro.
TbOutra.MoveNext
Wend


USUARIO.EXCLUIDOS 20/11/2006 17:28:49
#185431
Colega, tente usar sempre o objeto connection pra executar as transações e eu recomendo que use o BeginTrans e o CommitTrans para evitar problemas:

BancoDado.BeginTrans
While Not Tboutra.EOF
StrBusca = "INSERT INTO OUTRATABLE (CAMPO) SELECT campo1 FROM TABELA10"
BancoDados.Execute StrBusca 'Aqui também dá o erro.
TbOutra.MoveNext
Wend
BancoDados.CommitTrans

ZULLIM 20/11/2006 17:32:02
#185433
Vou testar e posto novamente.
ZULLIM 20/11/2006 17:59:17
#185442
Esse objeto connection eu uso quando for abrir a tabela?
ZULLIM 23/11/2006 16:07:20
#185956
E aí? Mais alguma idéia?
CHIARADIA 24/11/2006 19:10:27
#186202
Verifique se em alguma maquina, o banco de dados não está aberto em modo estrutura.
USUARIO.EXCLUIDOS 25/11/2006 08:43:15
#186210
Cara, é aconselhável, que ao invés de usar o Tb.Update, vc use as instruções SQL para o Update, tipo:

StrSQL = "UPDATE TABLE " & _
"SET CAMPO1 = '" & txtValor1 & "', " & _
" CAMPO2 = '" & txtValor2 & "' " & _
"WHERE CODIGO = '" & txtCodigo & "'"
Bancodados.BeginTrans
Bancodados.Execute StrSQL
Bancodados.CommitTrans


é isso, tente aí e volte a postar...flw
ZULLIM 27/11/2006 16:08:47
#186527
Se eu tiver que usar várias vezes o 'Bancodados.Execute StrSQL' a cada vez tenho que usar 'Bancodados.BeginTrans' e Bancodados.CommitTrans
LUIS.FLAVIO 27/11/2006 19:15:20
#186609
Seria isso mesmo amigo.
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas