Redes - DBase IV

Delphi

02/03/2009

BOM DIA A TODOS,
ESTOU TENDO UM PROBLEMA NA MINHA REDE, É O SEGUINTE, TEM ALGUNS REGISTROS Q DESAPARECEM DA TABELA, AI QD EU MANDO RESTRUTURAR A TABELA ELES VOLTAM A APARECER, SERA Q ALGUEM PODE ME AJUDAR?
USO DBASE IV
MINHA REDE É ENTRE DOIS MICROS, UM INTERLIGADO NO OUTRO.
NÃO USO ALIES, USO O DIRETORIO DE REDE. EX: \\C:\ARQUIVOS...
OBS: O SISTEMA FUNCIONA NORMALMENTE SEM ERROS.

ESTA É MINHA ESTRUTURA NO MOMENTO, SERA Q TEM ALGO ERRADO!

//RECEBE DADOS DA MOVIMENTAÇÃO
TbAbackpdb.Edit;
TbAbackpdb.FieldByName(´MD_D_SD´).AsString := DateToStr(Date);
TbAbackpdb.FieldByName(´MD_H_SD´).AsString := TimeToStr(Time);
TbAbackpdb.FieldByName(´MD_TIME´).AsString := Copy(labEsta.Caption,01,05);
TbAbackpdb.FieldByName(´MD_ETDA´).AsString := labEsta.Caption;
TbAbackpdb.FieldByName(´MD_DIAS´).AsString := labDias.Caption;
//EXECUTA COBRANÇA?
If bCobranca Then
Begin
TbAbackpdb.FieldByName(´MD_VALO´).AsFloat := StrToFloat(EditVlPagar.Text);
TbAbackpdb.FieldByName(´MD_RECB´).AsFloat := StrToFloat(EditVlReceb.Text);
TbAbackpdb.FieldByName(´MD_TROC´).AsFloat := StrToFloat(EditVlTroco.Text);
TbAbackpdb.FieldByName(´MD_FORM´).AsString := FormaPagto.Text;
End Else
Begin
TbAbackpdb.FieldByName(´MD_VALO´).AsFloat := 0;
TbAbackpdb.FieldByName(´MD_RECB´).AsFloat := 0;
TbAbackpdb.FieldByName(´MD_TROC´).AsFloat := 0;
TbAbackpdb.FieldByName(´MD_FORM´).AsString := ´´;
End;

TbAbackpdb.FieldByName(´MD_SITU´).AsString := ´B´; //A/B/E Aberto / Baixado /Excuido
TbAbackpdb.FieldByName(´MD_TABE´).AsString := tAbelapReco; //Tabela de preço escolhida
TbAbackpdb.FieldByName(´MD_TPCL´).AsString := tpCliente;
TbAbackpdb.Post;

//GRAVA DADOS NO CAIXA
TbAsaldubd.IndexFieldNames := ´SD_CODI´;
If (TbAsaldubd.FindKey([ID_CAIXA]))
And (TbAsaldubd.FieldByName(´SD_SITU´).AsString = ´A´ ) Then
Begin
TbAsaldubd.Edit;
TbAsaldubd.FieldByName(´SD_TOTA´).AsFloat := (TbAsaldubd.FieldByName(´SD_TOTA´).AsFloat+
TbAbackpdb.FieldByName(´MD_VALO´).AsFloat);
TbAsaldubd.FieldByName(´SD_MVCA´).AsFloat := (TbAsaldubd.FieldByName(´SD_MVCA´).AsFloat+1);
TbAsaldubd.FieldByName(´SD_MVCM´).AsFloat := (TbAsaldubd.FieldByName(´SD_MVCM´).AsFloat+1);
TbAsaldubd.Post;
End Else
Begin
MoviCaM :=0;
NoMes := NomedoMes(TbAsaldubd.FieldByName(´SD_DATA´).AsDateTime);
If NoMes=NomedoMes(Date) Then //INICIA O CONTADOR DE UM NOVO PERIODO (MÊS) | TESTA SE OS MESES SAO IGUAIS
MoviCaM := (TbAsaldubd.FieldByName(´SD_MVCM´).AsFloat+1)
Else
MoviCaM := 1;

TbAsaldubd.Append;
TbAsaldubd.FieldByName(´SD_IDMQ´).AsString := ID_MAQUINA;
TbAsaldubd.FieldByName(´SD_CODI´).AsString := GeraCodi(TbAcodigbd,´ARQ_CAIX´,06);
TbAsaldubd.FieldByName(´SD_DATA´).AsDateTime := Date;
TbAsaldubd.FieldByName(´SD_HORI´).AsString := TimeToStr(Time);
TbAsaldubd.FieldByName(´SD_TOTA´).AsFloat := TbAbackpdb.FieldByName(´MD_VALO´).AsFloat;
TbAsaldubd.FieldByName(´SD_MVCA´).AsFloat := 1;
TbAsaldubd.FieldByName(´SD_DESC´).AsFloat := 0;
TbAsaldubd.FieldByName(´SD_MVCM´).AsFloat := MoviCaM;
TbAsaldubd.FieldByName(´SD_SITU´).AsString := ´A´;
TbAsaldubd.Post;
ID_CAIXA := TbAsaldubd.FieldByName(´SD_CODI´).AsString;
End;


MANDO GRAVAR EM DISCO TODAS AS TABELAS APOS O POST.
//GRAVANDO NO DISCO
DBISaveChanges(TbAsaldubd.Handle);


P_lima

P_lima

Curtidas 0
POSTAR