ABRIR ACESS COMPARTILHADO

LOPESCOM 05/08/2009 14:06:36
#318992
Boa tarde a todos, estou tendo um problemaao abrir banco acess
Meu sistema tem um microterminal que lança produtos em uma tabela especifica. O outro programa de retaguarda precisa acessar essa tabela, fazer os tratamentos e gravar na tabela de vendas, o problema é que quando o retaguarda abre esta tabela e o terminal está lançando na mesma aparece um erro de compartilhando. Como posso resolver isso? O retaguarda precisa tratar os dados e apagar depois mas se o microterminal estiver lançando gera o erro.
LLAIA 05/08/2009 14:09:12
#318995
cara, mostre os códigos de abertura da tabela tanto no terminal quanto na retaguarda. tá parecendo conflito com travas de página na tabela.

sempre é importante citar o erro que ocorreu (número e descrição)
LOPESCOM 05/08/2009 14:12:06
#318997
Ambos estão com select * from tabela, não entendo muito de banco de dados.
LLAIA 05/08/2009 14:18:50
#318999
então, coloca o trecho do teu fonte pra gente olhar ...
LOPESCOM 05/08/2009 14:21:28
#319001
Fonte do terminal

[ô]grava quantidade e joga valor total

Set RomItensC = db.OpenRecordset([Ô]Select * from ROM_ITENSC where TERMINAL = [ô][Ô] & qconec & [Ô][ô] and FIFO = [ô]I[ô][Ô])
If RomItensC.RecordCount > 0 Then
COMA = Left(RomItensC!Comanda, 6)
Data2.RecordSource = ([Ô]Select * from ROM_ITENSC where COMANDA = [ô][Ô] & COMA & [Ô][ô] and Terminal = [ô][Ô] & qconec & [Ô][ô][Ô])
Data2.Refresh
If Data2.Recordset.RecordCount > 0 Then
Data2.Recordset.MoveFirst

Do While Not Data2.Recordset.EOF
If Data2.Recordset!FIFO = [Ô]I[Ô] Then
Data2.Recordset.MoveNext
Else
If IsNull(Data2.Recordset!Quantidade) = True Then
Data2.Recordset.Edit
Data2.Recordset!terminal = Data2.Recordset!terminal
Data2.Recordset!Comanda = Data2.Recordset!Comanda
Data2.Recordset!produto = Data2.Recordset!produto
Data2.Recordset!DESC_COMPL = Data2.Recordset!DESC_COMPL
Data2.Recordset!Quantidade = Palavra(qconec)
Data2.Recordset!Preco = Data2.Recordset!Preco
Data2.Recordset!val_total = CDbl(Data2.Recordset!Preco) * CDbl(Data2.Recordset!Quantidade)
Data2.Recordset.Update
End If
Data2.Recordset.MoveNext
[ô] Exit Do
End If

Loop
End If
passo(qconec) = passo(qconec) - 1
TimerPasso
Timer2.Enabled = False
Palavra(qconec) = [Ô][Ô]
End If
End If





fonte do retaguarda


Set romac = db.OpenRecordset([Ô]select * from rom_itensc[Ô])
If romac.RecordCount > 0 Then
romac.MoveFirst
NumComanda = romac!COMANDA
quanttotal = 0
Do While Not romac.EOF
If IsNull(romac!Quantidade) = True Or romac!Quantidade = [Ô][Ô] Then
romac.Delete
Else
quanttotal = CDbl(quanttotal) + CDbl(romac!val_total)
End If

romac.MoveNext
Loop
Set cabc = db.OpenRecordset([Ô]select * from cab_rom where comanda = [ô][Ô] & NumComanda & [Ô][ô][Ô])
If cabc.RecordCount > 0 Then
cabc.Delete
End If

cabc.AddNew
cabc!COMANDA = NumComanda
cabc!cli_for = [Ô]0000[Ô]
cabc!total = quanttotal
cabc.Update
[ô]Data1.Refresh
End If


Nota, o sistema de retaguarda foi desenvolvido com DAO, estou colocando microterminal nele.
LOPESCOM 05/08/2009 14:23:07
#319002
o data2 acusa o erro de compartilhamento
LLAIA 05/08/2009 14:40:50
#319005
cara, não gosto de usar componente Data então não sei bem a fundo. já verificou se as propriedades do Data2 como Exclusive, ReadOnly, RecordSetType estão definidas?
LOPESCOM 05/08/2009 14:42:12
#319006
como vc faria sem usar data?
LOPESCOM 05/08/2009 15:02:05
#319011
onde tinha data eu troquei para set Rom = db.openrecordset([Ô]select * from[Ô])
agora como abrir compartilhado?
LLAIA 05/08/2009 15:15:11
#319013
olha cara, pra usar sem Data aprenda sobre ADO ou DAO (ADO é mais interessante), e pra usar compartilhado é só tomar cuidado com as travas que são feitas na abertura da tabela.

olha só que exemlos legais: http://www.vbmania.com.br/pages/index.php?varModulo=Pesquisa&TxtSearch=CADASTRO
MASTER2020 05/08/2009 16:06:20
#319016
Rapaz nos tivemos um problema deste tipo, na epoca num sistema nosso compartilhado em rede feito em access
tinhamos 2 cliente e um servidor os clientes era access 2000 e no servidor era 2003 estava lento as clientes no servidor entao nem se fale , unica coisa q resolveu foi trocar a versao do access 2003 para 2000 acabou o problema.
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas