nardeypm Posted June 5, 2013 Report Share Posted June 5, 2013 não sei o que pode estar acontecendo,. já verifiquei as linhas de comando e não encontrei erro, até porque o sistema funciona normalmente. trata-se de um sistema de alunos. faço o cadastro do aluno normalmente. aà vou para fazer a matricula dele em uma determinada turma, horario, dias de aula, vl do curso, parcelas, vl parcelas, etc etc etc. passado algum tempo, aparece um registro de determinado aluno com dados em branco ou com dados de outro aluno. isso está me preocupando, pois, de repente determinado aluno que pagou, passa a ficar devendo e vice versa, ou mesmo os dados ficam em branco. já aconteceu por 3 oportunidades. banco de dados dbf. Alguma sugestão de como verificar e sanar tal erro?? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 5, 2013 Report Share Posted June 5, 2013 Aconselhável sempre mostrar a rotina para ser lida pelo demais. Quote Link to comment Share on other sites More sharing options...
Theotokos Posted June 5, 2013 Report Share Posted June 5, 2013 Já verificou os Indices? qual o tipo de indice que esta usando (NTX,CDX...) Quote Link to comment Share on other sites More sharing options...
leo@lhsistemas.com Posted June 5, 2013 Report Share Posted June 5, 2013 Bobkolho1, boa noite. Já passei por problemas, assim, na empresa do cliente a rede tinha 32 estações e 2 servidores. Depois de muito tempo, detectei que havia uma placa de rede que estava causando problemas, pois, sempre que aquele usuário fazia alguma gravação/atualização no banco, o sistema dava "pau" nos "indices". Daà tinha que para o financeiro e realizar nova indexação. Daà optei por trocar a placa de rede por conta própria e desativar a LAN on-board, nunca mais tive este tipo de problema. Há também casos de cabeamento ruim, placa de rede(principalmente on-board) e até porta de switch queimando. Um técnico disse-me que o Switch queima de 4 e 4 portas e não uma só. Espero ter ajudado. Quote Link to comment Share on other sites More sharing options...
evertonlb Posted June 5, 2013 Report Share Posted June 5, 2013 Cara.. já tive problemas de trocar dados de um registro por dados de outro num caso onde tinha campo memo no DBF... dependendo do tamanho do DBT dava pau! Quote Link to comment Share on other sites More sharing options...
nardeypm Posted June 6, 2013 Author Report Share Posted June 6, 2013 uso indices cdx. a rotina é essa: FUNCTION EditRem( oLbx, lAppend ) local oDlg, oBt1, oBt2, lSave := .f., lSave2 := .f., nOldRec := RecNo(), nLimt, Old44, oDlg1 LOCAL oH01, oH02, oH03, oH04, oH05, oH06, oH07, oH08, oH09, oH10,; oH11, oH12, oH13, oH14, oH15, oH16, oH17, oH18, oH19, oH20,; oH21, oH22, oH23, oH24, oH25, oH26, oH27, oH28, oH29,; owcontr, owdt_matr, owestag, owdia1, owdia2, lOk := .T. SELECT 5 # banco alunos DbSetOrder(1) IF lAppend wcontr := SACAD->controle+1 wn_cli := SACAD->N_CLI nOldc := SACAD->N_CLI wnome := SACAD->NOME wdt_s := SACAD->DT_SAIDA wmatr := wn_cli wdt_saida := SACAD->DT_SAIDA wdt_nasc := SACAD->dt_nasc westag := space(10) wnota_mid := wnota_fine := wnota_oral := 0 whora1 := whora2 := SPACE(5) wvl_p1 := wvl_p2 := wvl_p3 := wvl_p4 := wvl_p5 := wvl_p6 := wdesc := 0 wdt_matr := wdt_v1 := date() wdt_v2 := wdt_v3 := wdt_v4 := wdt_v5 := wdt_v6 := SPACE(10) wdt_p1 := wdt_p2 := wdt_p3 := wdt_p4 := wdt_p5 := wdt_p6 := SPACE(10) wmedia := wfaltas := wqtep := 0 wvl_estag := wturma := 0 wdia1 := wdia2 := SPACE(7) wpgto := SPACE(7) wdoc_pgto := space(20) wcarne := .f. ELSE wmatr := wn_cli := SACAD->n_cli wcontr := SACAD->controle wnome:=SACAD->NOME wdt_s:=SACAD->DT_SAIDA wdt_nasc:=SACAD->dt_nasc nOldc :=SACAD->N_CLI SELECT 7 # banco de notas e mensalidades dos alunos SANOTA->(DBSETORDER(4)) SANOTA->(DBGOTOP()) seek str(wmatr,6)+str(wcontr,3) if !FOUND() MsgAlert("Matricula e/ou Controle não encontrado","Atencao") RETURN ELSE nOldRec := RecNo() wdt_matr:= SANOTA->dt_matr westag := SANOTA->estagio westag_ant:= SANOTA->estagio wturma := SANOTA->turma wdia1 := SANOTA->dia_sem1 wdia2 := SANOTA->dia_sem2 whora1 := SANOTA->hora1 whora2 := SANOTA->hora2 wliv := SANOTA->livro wpgto := SANOTA->tipo_pg wdesc := SANOTA->desconto wnota_mid := SANOTA->nota_mid wnota_fine := SANOTA->nota_fine wnota_oral := SANOTA->nota_oral wvl_p1 := SANOTA->VL_RECEB1 wvl_p2 := SANOTA->VL_RECEB2 wvl_p3 := SANOTA->VL_RECEB3 wvl_p4 := SANOTA->VL_RECEB4 wvl_p5 := SANOTA->VL_RECEB5 wvl_p6 := SANOTA->VL_RECEB6 wdt_v1 := SANOTA->dt_venc1 wdt_v2 := SANOTA->dt_venc2 wdt_v3 := SANOTA->dt_venc3 wdt_v4 := SANOTA->dt_venc4 wdt_v5 := SANOTA->dt_venc5 wdt_v6 := SANOTA->dt_venc6 wdt_p1 := SANOTA->DT_PG1 wdt_p2 := SANOTA->DT_PG2 wdt_p3 := SANOTA->DT_PG3 wdt_p4 := SANOTA->DT_PG4 wdt_p5 := SANOTA->DT_PG5 wdt_p6 := SANOTA->DT_PG6 wmedia := SANOTA->media wfaltas:= SANOTA->faltas wvl_estag := SANOTA->vl_curso wqtep := SANOTA->qte_parc wdoc_pgto := space(20) endif ENDIF IF !EMPTY(DT_SAIDA) MsgAlert("Aluno está cadastrado como DESISTENTE - DATA DA SAIDA --> "+DTOC(DT_SAIDA),OemToAnsi("Aten‡Æo!")) RETURN ENDIF DEFINE DIALOG oDlg1 RESOURCE "CONTROLE" TITLE If( lAppend, "Rematricula do Aluno", "Alteração da Rematricula do Aluno" ) REDEFINE SAY oSay VAR wn_cli ID 33 OF oDlg1 PICTURE "999999" font ofon1 REDEFINE SAY oSay VAR wnome ID 34 OF oDlg1 PICTURE "@!" font ofon1 REDEFINE GET oH80 VAR wdt_matr ID 35 OF oDlg1 PICTURE "@K,@D 99/99/9999" font ofon1 REDEFINE GET oH81 VAR wcontr ID 36 OF oDlg1 PICTURE "@!" VALID ChkNomCtr(wcontr) Redefine Button obtn[1] Prompt "Estagio" ID 70 Of oDlg1 Action NomeEstRem(oH82) REDEFINE GET oH82 var westag ID 37 OF oDlg1 PICTURE "@!" VALID ChkNomEst2(westag) REDEFINE GET oH83 var wturma ID 38 OF oDlg1 PICTURE "999" REDEFINE COMBOBOX oH84 VAR wdia1 ITEMS {"SEGUNDA","TERÇA","QUARTA","QUINTA","SEXTA","SÃBADO"} ID 39 OF oDlg1 UPDATE REDEFINE COMBOBOX oH85 VAR wdia2 ITEMS {"SEGUNDA","TERÇA","QUARTA","QUINTA","SEXTA","SÃBADO"} ID 40 OF oDlg1 UPDATE REDEFINE GET oH86 VAR whora1 ID 41 OF oDlg1 PICTURE "99:99" REDEFINE GET oH87 var whora2 ID 42 OF oDlg1 PICTURE "99:99" REDEFINE GET oH88 VAR wnota_mid ID 43 OF oDlg1 PICTURE "999.99" UPDATE REDEFINE GET oH89 VAR wnota_fine ID 44 OF oDlg1 PICTURE "999.99" UPDATE REDEFINE GET oH90 var wnota_oral ID 45 OF oDlg1 PICTURE "999.99" VALID ((wmedia:=((wnota_oral*2)+wnota_mid+wnota_fine)/4), oH91:Refresh(),.t.) UPDATE REDEFINE GET oH91 var wmedia ID 46 OF oDlg1 PICTURE "999.99" UPDATE IF lAppend REDEFINE COMBOBOX oCbx VAR wpgto ITEMS { "A VISTA", "A PRAZO", "BOLETO", "BOLSA" } ID 47 OF oDlg1 ON CHANGE VER_PARCELAS( oCbx ) valid !empty(wpgto) oCbx:refresh() REDEFINE BUTTON oBt1 ID 30 OF oDlg1 ACTION ( lSave2 := .t. , oDlg1:End()) WHEN (!EMPTY(wpgto)) REDEFINE BUTTON oBt3 ID 31 OF oDlg1 ACTION ( lSave2 := .F. , oDlg1:End()) WHEN (EMPTY(wpgto)) ELSE REDEFINE COMBOBOX oCbx VAR wpgto ITEMS { "A VISTA", "A PRAZO", "BOLETO", "BOLSA" } ID 47 OF oDlg1 oCbx:refresh() REDEFINE BUTTON oBt1 ID 30 OF oDlg1 ACTION ( lSave2 := .t. , oDlg1:End()) REDEFINE BUTTON oBt3 ID 31 OF oDlg1 ACTION ( lSave2 := .F. , oDlg1:End()) ENDIF ACTIVATE DIALOG oDlg1 CENTERED IF lsave2 SELECT 7 IF lAppend SANOTA->(DBSETORDER(2)) WHIL ! SANOTA->(RLOCK()) ; END SANOTA->(DBAPPEND()) ELSE go nOldRec ENDIF SANOTA->(DBSETORDER(0)) REPLACE SANOTA->MATRIC WITH wmatr REPLACE SANOTA->NOME WITH wnome REPLACE SANOTA->DT_MATR WITH wdt_matr REPLACE SANOTA->CONTROLE WITH wcontr REPLACE SANOTA->ESTAGIO WITH westag REPLACE SANOTA->TURMA WITH wturma REPLACE SANOTA->FALTAS WITH wfaltas REPLACE SANOTA->DIA_SEM1 WITH wdia1 REPLACE SANOTA->DIA_SEM2 WITH wdia2 REPLACE SANOTA->HORA1 WITH whora1 REPLACE SANOTA->HORA2 WITH whora2 REPLACE SANOTA->NOTA_MID WITH wnota_mid REPLACE SANOTA->NOTA_FINE WITH wnota_fine REPLACE SANOTA->NOTA_ORAL WITH wnota_oral REPLACE SANOTA->MEDIA WITH wmedia REPLACE SANOTA->LIVRO WITH "N" IF EMPTY(wnota_mid) .AND. EMPTY(wnota_fine) .AND. EMPTY(wnota_oral) REPLACE SANOTA->OBS WITH SPACE(15) ELSE REPLACE SANOTA->OBS WITH IIF(wmedia >= 69,"APROVADO","REPROVADO") ENDIF IF lAppend REPLACE SANOTA->DT_VENC1 WITH wdt_v1 REPLACE SANOTA->DT_VENC2 WITH wdt_v2 REPLACE SANOTA->DT_VENC3 WITH wdt_v3 REPLACE SANOTA->DT_VENC4 WITH wdt_v4 REPLACE SANOTA->DT_VENC5 WITH wdt_v5 REPLACE SANOTA->DT_VENC6 WITH wdt_v6 REPLACE SANOTA->DT_PG1 WITH wdt_p1 REPLACE SANOTA->DT_PG2 WITH wdt_p2 REPLACE SANOTA->DT_PG3 WITH wdt_p3 REPLACE SANOTA->DT_PG4 WITH wdt_p4 REPLACE SANOTA->DT_PG5 WITH wdt_p5 REPLACE SANOTA->DT_PG6 WITH wdt_p6 REPLACE SANOTA->TIPO_PG WITH wpgto REPLACE SANOTA->QTE_PARC WITH wqtep REPLACE SANOTA->DESCONTO WITH wdesc REPLACE SANOTA->VL_CURSO WITH wvl_estag REPLACE SANOTA->DT_DIGIT WITH date() REPLACE SANOTA->DT_SAIDA WITH wdt_s IF wpgto="A VISTA" *----------- A matricula e a primeira mensalidade. ---------* REPLACE SANOTA->DT_RECEB1 WITH wdt_v1 REPLACE SANOTA->VL_RECEB1 WITH wvl_p1 *------------------------------------------------------------* ENDIF REPLACE SANOTA->VL_PARC1 WITH wVL_p1 REPLACE SANOTA->VL_PARC2 WITH wVL_p2 REPLACE SANOTA->VL_PARC3 WITH wVL_p3 REPLACE SANOTA->VL_PARC4 WITH wVL_p4 REPLACE SANOTA->VL_PARC5 WITH wVL_p5 REPLACE SANOTA->VL_PARC6 WITH wVL_p6 ENDIF SANOTA->(DBSETORDER(1)) dbunlock() DbCommit() SysRefresh() IF lAppend LOGReg(nOper,cOper,"CADASTROU A REMATRICULA E MENSALIDADES DO ALUNO "+ALLTRIM(STR(wn_cli))+"-"+wnome, WVL_ESTAG, "SANOTA", wn_cli) ELSE LOGReg(nOper,cOper,"ALTEROU A REMATRICULA E MENSALIDADES DO ALUNO "+ALLTRIM(STR(wn_cli))+"-"+wnome, WVL_ESTAG, "SANOTA", wn_cli) ENDIF IF lAppend .AND. wpgto="A VISTA" SELECT 10 # banco do movimento de caixa/receitas/despesas SACPMOV->(DBSETORDER(1)) WHIL ! SACPMOV->(RLOCK()) ; END SACPMOV->(DBGOBOTTOM()) SACPMOV->(DBAPPEND()) SACPMOV->(DBSETORDER(0)) REPLACE SACPMOV->N_DOC WITH "M"+ltrim(str(wmatr,6))+ltrim(str(wcontr,3))+"1" REPLACE SACPMOV->DT_VENC WITH wdt_v1,tipo with "C" REPLACE SACPMOV->VALOR WITH wvl_p1 REPLACE SACPMOV->PARCELA WITH 1 REPLACE SACPMOV->DT_PGTO WITH wdt_v1 REPLACE SACPMOV->VL_PG_REC WITH wvl_p1 REPLACE SACPMOV->DOC_PGTO WITH wdoc_pgto REPLACE SACPMOV->DESCRI WITH "MENS. DE "+wnome+"-"+westag SACPMOV->(DBSETORDER(1)) dbunlock() DbCommit() SysRefresh() LOGReg(nOper,cOper,"CADASTROU O RECEBIMENTO DA 1ª PARCELA "+ALLTRIM(STR(wn_cli))+"-"+wnome, WVL_P1, "SACPMOV", wn_cli) ELSE LOGReg(nOper,cOper,"CADASTROU O RECEBIMENTO DA 1ª PARCELA "+ALLTRIM(STR(wn_cli))+"-"+wnome, WVL_P1, "SACPMOV", wn_cli) ENDIF SELECT 5 SACAD->(DBSETORDER(1)) SACAD->(DBGOTOP()) SEEK wmatr WHIL ! SACAD->(RLOCK()) ; END SACAD->(DBSETORDER(0)) REPLACE SACAD->DT_MATR WITH wdt_matr REPLACE SACAD->ESTAGIO WITH westag REPLACE SACAD->TIPO_PG WITH wpgto REPLACE SACAD->CONTROLE WITH wcontr SACAD->(DBSETORDER(1)) dbunlock() DbCommit() SysRefresh() IF lAppend .AND. (wpgto="A VISTA") *--------impressão do recibo--------------------------------- ENDIF else Select 5 ENDIF IF oLbx <> NIL oLbx:UpStable() oLbx:Refresh() ENDIF oDlg1:Refresh() RETURN(lSave) //----------------------------------------------------------------------------// static function ver_parcelas( oCbx ) // ITEMS { "A VISTA", "A PRAZO", "BOLETO", "BOLSA" } IF ( oCbx:nAt ) = 1 // Primeira opcao do combo wdt_v2 := wdt_v3 := wdt_v4 := wdt_v5 := wdt_v6 := CTOD(SPACE(10)) wvl_p2 := wvl_p3 := wvl_p4 := wvl_p5 := wvl_p6 := 0 wdt_p1=wdt_v1 wdt_p2 := wdt_p3 := wdt_p4 := wdt_p5 := wdt_p6 := CTOD(SPACE(10)) DEFINE DIALOG oDlg2 RESOURCE "AVISTA" REDEFINE SAY oSay VAR wvl_estag ID 37 OF oDlg2 PICTURE "@E 999,999.99" REDEFINE GET oH30 var wdesc ID 33 OF oDlg2 PICTURE "99.99" VALID (wvl_p1:=(wvl_estag-(wvl_estag*wdesc)/100), oH31:Refresh(),.t.) UPDATE REDEFINE SAY oSay VAR wdt_v1 ID 34 OF oDlg2 PICTURE "@K,@D 99/99/9999" REDEFINE GET oH31 VAR wvl_p1 ID 35 OF oDlg2 PICTURE "999,999.99" UPDATE REDEFINE GET oH32 VAR wdoc_pgto ID 36 OF oDlg2 PICTURE "@!" UPDATE REDEFINE BUTTON oBt4 ID 30 OF oDlg2 ACTION ( lSave2 := .t. , oDlg2:End()) WHEN ( !EMPTY(WDT_V1) .AND. !EMPTY(WDOC_PGTO)) REDEFINE BUTTON oBt5 ID 31 OF oDlg2 ACTION ( lSave2 := .F. , oDlg2:End()) ACTIVATE DIALOG oDlg2 ELSEIF ( oCbx:nAt ) = 2 // Segunda opcao do combo DEFINE DIALOG oDlg2 RESOURCE "PARCELADO" REDEFINE SAY oSay VAR wvl_estag ID 65 OF oDlg2 PICTURE "@E 999,999.99" REDEFINE GET oH40 var wqtep ID 48 OF oDlg2 PICTURE "99" VALID CONDICAO() oDlg2:Refresh() REDEFINE GET oH41 var wdesc ID 49 OF oDlg2 PICTURE "99.99" UPDATE REDEFINE GET oH42 VAR wdt_v1 ID 50 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH43 VAR wdt_v2 ID 51 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH44 VAR wdt_v3 ID 52 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH45 VAR wdt_v4 ID 53 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH46 VAR wdt_v5 ID 54 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH47 VAR wdt_v6 ID 55 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH48 VAR wdt_p2 ID 56 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH49 VAR wdt_p3 ID 57 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH50 VAR wdt_p4 ID 58 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH51 VAR wdt_p5 ID 59 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH52 VAR wdt_p6 ID 60 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE BUTTON oBt4 ID 30 OF oDlg2 ACTION ( lSave2 := .t., oDlg2:End()) WHEN !EMPTY(WDT_V1) REDEFINE BUTTON oBt5 ID 31 OF oDlg2 ACTION ( lSave2 := .F. , oDlg2:End()) ACTIVATE DIALOG oDlg2 ELSEIF ( oCbx:nAt ) = 3 // Terceira opcao do combo DEFINE DIALOG oDlg2 RESOURCE "PARCELADO" REDEFINE SAY oSay VAR wvl_estag ID 65 OF oDlg2 PICTURE "@E 999,999.99" REDEFINE GET oH60 var wqtep ID 48 OF oDlg2 PICTURE "99" VALID CONDICAO() oDlg2:Refresh() REDEFINE GET oH61 var wdesc ID 49 OF oDlg2 PICTURE "99.99" UPDATE REDEFINE GET oH62 VAR wdt_v1 ID 50 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH63 VAR wdt_v2 ID 51 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH64 VAR wdt_v3 ID 52 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH65 VAR wdt_v4 ID 53 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH66 VAR wdt_v5 ID 54 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH67 VAR wdt_v6 ID 55 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH68 VAR wdt_p2 ID 56 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH69 VAR wdt_p3 ID 57 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH70 VAR wdt_p4 ID 58 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH71 VAR wdt_p5 ID 59 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE GET oH72 VAR wdt_p6 ID 60 OF oDlg2 PICTURE "@K,@D 99/99/9999" UPDATE REDEFINE BUTTON oBt4 ID 30 OF oDlg2 ACTION ( lSave2 := .t., oDlg2:End()) WHEN !EMPTY(WDT_V1) REDEFINE BUTTON oBt5 ID 31 OF oDlg2 ACTION ( lSave2 := .F. , oDlg2:End()) ACTIVATE DIALOG oDlg2 ELSEIF ( oCbx:nAt ) = 4 // Quarta opcao do combo wdt_v1 := wdt_v2 := wdt_v3 := wdt_v4 := wdt_v5 := wdt_v6 := CTOD(SPACE(10)) wvl_p1 := wvl_p2 := wvl_p3 := wvl_p4 := wvl_p5 := wvl_p6 := 0 wdt_p1 := wdt_p2 := wdt_p3 := wdt_p4 := wdt_p5 := wdt_p6 := CTOD(SPACE(10)) wvl_estag := wdesc := 0 wdoc_pgto := space(20) ENDIF RETURN( .T. ) // ------------------------------------------------------------------------ FUNCTION ChkNomCtr(wcontr) SET ORDER TO 4 SEEK wcontr IF FOUND() MsgStop(OemToAnsi("Este Controle j est cadastrado. Verifique antes de prosseguir!"),OemToAnsi("Aten‡Æo!")) SET ORDER TO 2 RETURN .T. ENDIF SET ORDER TO 2 RETURN (!EMPTY(wcontr)) // ------------------------------------------------------------------------ Function NomeEstRem(oH82) LOCAL oSelect := SELECT() Select 8 SAESTA->(DBSETORDER(1)) SAESTA->(DBGOTOP()) Define Dialog oDlg1 Resource "buscar_2" title "..::Nome do Estagio" REDEFINE Get oGet Var cBusca Picture "@!" ID 104 Of oDlg1 ON CHANGE ( oLbx:Refresh(), Buscar( nKey, oGet ) ) Redefine ListBox olbx Fields SAESTA->ESTAGIO,Trans(SAESTA->VALOR_CUR,"@E 999,999.99"); Header "ESTAGIO","VALOR DO CURSO" ID 101 of odlg1 FONT oGetFnt; ON DBLCLICK Sele_EstRem(oH82) oLbx:nClrBackHead := RGB( 0, 0, 255 ) // Cor do Fundo do Cabe‡alho oLbx:nClrBackFocus := RGB( 040, 004, 090 ) // Cor do Cursor Em Cima do Ötem oLbx:nClrForeHead := RGB( 255, 255, 235 ) // Cor nos Headers - Cabe‡alhos %3 Quote Link to comment Share on other sites More sharing options...
SAOliveira Posted June 6, 2013 Report Share Posted June 6, 2013 Bem amigo, não sei dizer se esta errado. Seleciona uma área: SELECT 8 Seleciona ordem no Alias() : SAESTA->(DBSETORDER(1)) Acho desnecessário e confuso setar uma área e trabalhar com um alias() Quote Link to comment Share on other sites More sharing options...
Ladinilson Posted June 6, 2013 Report Share Posted June 6, 2013 Estou passando por um problema em um cliente semelhante, e ainda pelo sumiço de registros. No fórum antigo, teve uma vasta discussão sobre este assunto, tentei achá-lo pela pesquisa do google porque já achei outras vezes mas não consegui. Se o administrador dispuser do link deste tópico antigo, poderia até ajudar nosso amigo ai FWH 8.1/ xHB 1.1.0 / Pelles / xDev Quote Link to comment Share on other sites More sharing options...
augustogomes Posted June 6, 2013 Report Share Posted June 6, 2013 Bom dia! Isto já me aconteceu várias vezes, a causa sempre foi problemas na rede, os dados truncam por problemas fÃsicos mesmo, a solução é resolver os problemas fÃsicos (placa, cabo, micros, etc) que ocorreram e gerar os arquivos DBF novamente. Eu costumo renomear o dbf que deu problema, criar um novo com dbcreate mesmo e fazer um append from do DBF antigo. Depois disto o DBF fica estavel novamente. Quando não gero os arquivos o sistema volta mas dentro de pouco tempo começa novamente a truncar os registros. Quote Link to comment Share on other sites More sharing options...
oziel Posted June 6, 2013 Report Share Posted June 6, 2013 Concordo com vcs. já tive problemas relacionados aos .DBT bem como os .FTP ambos arquivos de memo. Não fiz nenhuma modificação nos fontes, mas fiz uma revisão na Rede, Placa etc. bem como o Servidor que era uma máquina (Win XP) que também operava como terminal, passei a utilizar um servidor Linux. Não é por ser Linux e sim o fato da exclusividade do serviço. Nestes dois últimos anos não tenho nenhuma reclamação desse tipo. Quote Link to comment Share on other sites More sharing options...
evandro Posted June 9, 2013 Report Share Posted June 9, 2013 Olá, Para solucionar de vez, troque de DBF para MySql. Nunca mais este tipo de problemas, mesmo com algum pau na rede. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.