Pessoal

Tenho uma dúvida, estou tentando implementar algo como controle de 
transações na emissão de um Romaneio de saída, em monousuário tudo bem, mas 
quando executo a rotina em 2 máquinas, uma consegue fazer, a outra não,
dando a mensagem de erro do except.
Como posso implementar isso para que funcione corretamente?
Onde estou errando no meu código ou na minha lógica?
Existe alguma configuração do TADOConnection que podem estar influenciando 
nisso, pois não sei para que servem muitas das propriedades desse 
componente, pois só uso ConnectionString?
Uso Delphi 5 + ADO + Access.
Segue abaixo o meu código, resumidamente.
Grato por qualquer ajuda

procedure TFrmRomaneio.bbtGravarClick(Sender: TObject);
begin
     FrmDM.AdoConnection1.BeginTrans;
     try
        GravaRomaneio;
        FrmDM.AdoConnection1.CommitTrans;
     except
        MessageDlg('Houve um erro na gravação dos dados.'+#13+#10+'  As 
Informações não foram gravadas.', mtError, [mbOK], 0);
        FrmDM.AdoConnection1.RollBackTrans;
     end;
end;

procedure TFrmRomaneio.GravaRomaneio;
var
  NumNFS : Integer;
begin
  //Grava Romaneio
  NumNFS := 0;
  FrmDM.tbNFS.Open;
  FrmDM.tbNFS.Append;
  FrmDM.tbNFSCodCli.Value    := ebCodCli.AsInteger;
  FrmDM.tbNFSDtEmiss.Value   := date;
  FrmDM.tbNFSVlProd.Value    := ebVlProd.Value;
  FrmDM.tbNFSRepr.Value      := StrToInt(dblcbRepr.text);
  FrmDM.tbNFSOprVen.Value    := dblcbOprVen.Text;
  FrmDM.tbNFSStatus.Value    := 'A';
  FrmDM.tbNFS.Post;
  NumNFS   := FrmDM.tbNFSCodDocInt.Value;
  FrmDM.tbNFS.Close;
  //Grava Itens do Romaneio
  FrmDM.tbItensNFS.Open;
  memItens.First;
  while not (memItens.EOF) do
  begin
        FrmDM.tbItensNFS.Append;
        FrmDM.tbItensNFSCodDocInt.Value  := NumNFS;
        FrmDM.tbItensNFSCodProd.Value    := memItensCodigo.Value;
        FrmDM.tbItensNFSDescricao.Value  := memItensProduto.Value;
        FrmDM.tbItensNFSUnd.Value        := memItensUnd.Value;
        FrmDM.tbItensNFSQtd.Value        := memItensQtdRom.Value;
        FrmDM.tbItensNFSCustoUnit.Value  := memItensVlUnitRom.Value;
        FrmDM.tbItensNFS.Post;
        memItens.Next;
  end;
  FrmDM.tbItensNFS.Close;
end;





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a