Erros de Principiante

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

lucasburitis
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 19 Abr 2015 22:14
Localização: ARIQUEMES

Erros de Principiante

Mensagem por lucasburitis »

Meus caros, Bom dia,

Em pleno 2015, resolvi fazer algo que tinha vontade de fazer desde os anos 90. Programação. Tenho feito incontáveis visitas a este fórum, também tenho copiado funções e me aproveitado de duvidas alheias que são sanados pelo nobres usuários. Adquiri livros antigos em Sebos, baixei apostilas e apostilas e tenho me "divertido" bastante. Repito não sou da área e escolhi aprender Clipper pelo saudosismo de um tempo de garoto num balcão de Farmácia onde por telefone um programador de SP me passava orientações "milagrosas" que eu executava na tela preta do DOS e mantinha o sistema funcionando. Guardei isso comigo e agora resolvi aprender um pouco. Enfim estou engatinhando na coisa.

Mas vamos ao problema: criei um sisteminha de controle de estoque para um almoxarifado do orgao que trabalho. Módulos de cadastro de produtos, setores e usuários pronto. Tela de Entradas e Saídas pronto e funcionando. Mas ao tentar fazer uma rotina para consulta as saídas e reimpressão da guia de remessa, empaquei num erro que deve ser simples e obvio, mas pra mim ta difícil.

Ao lançar as saídas, uma função cria um dbf pra ir registrando os itens como numa tela de vendas. Ao final os itens da saída são gravados num DBF onde nele consta também a colunas com Código da saída, setor de destino e usuário que enviou. Noutro DBF registro a Venda totalizada, seu código, seu total, destino, usuário, etc.

Para consultar e reimprimir uma guia de saída, uso a DBEDIT para mostrar o DBF SAÍDAS com uma função para abrir um outro DBEDT com os itens daquela saída em que o cursor estiver posicionado quando dou ENTER. Ate ai tudo bem mas na conclusão da impressão aparecem mais produtos no DBEDT e ao tentar voltar para o DBEDIT anterior ocorre um erro de não localização de uma variável. Essa variável e exatamente um campo do DBF SAÍDAS que gera o primeiro DBEDIT.

Algo como se a área selecionada não estivesse aberta ou o campo não existisse no DBF.
A variavel nao encontrada e SETORDEST, do DBF SAIDAS. Pelo menos e nesta que o programa aborta, nao sei se as demais sao localizadas.

Desculpem-me a extensão do post, prometo ser mais sucinto nos próximos.

Segue o Código, se puderem me ajudar agradeço.

Código: Selecionar todos

SET COLOR TO (W/B,W+/R,B/W+,w+/B,R/W)
RESTORE SCREEN FROM TELA1
SET CURSOR OFF
SET SCOREBOARD OFF
SELECT 1
USE SAIDAS
INDEX ON STR(CODSAI,6,0) TO SAIDAS
PUBLIC VETOR1[6],VETOR2[6]
VETOR1[1] = "CODSAI"
VETOR1[2] = "DATASAI"
VETOR1[3] = "SETORDEST"
VETOR1[4] = "TTSAID"
VETOR1[5] = "USUAENV"
VETOR1[6] = "NOMEUSU"
VETOR2[1] = "CàD"
VETOR2[2] = "DATA"
VETOR2[3] = "DESTINO"
VETOR2[4] = "TOTAL"
VETOR2[5] = "MATRICULA"
VETOR2[6] = "ENTREGUE POR"
SELECT 1
SET ORDER TO 1
GOTO TOP
SET COLOR TO W+/R
@ 24,00 SAY "           ||  ENTER: Mostra a Saida Detalhada  ||  ESC: Retorna         "
SET COLOR TO (W/B,W+/R,B/W+,w+/B,R/W)
@ 0,0 TO 3,79
@ 1,1 CLEAR TO 2,78
@ 1,2 SAY "DATA ATUAL "
@ 2,2 SAY DATE()
@ 1,29 SAY " SEFIN - 6¦ DRRE - SEAP "
@ 2,29 SAY "  CADASTRO DE PRODUTOS "
@ 1,65 SAY "HORµRIO ATUAL"
@ 2,65 SAY  TIME()
@ 4,0 TO 23,79 DOUBLE
SAVE SCREEN TO DBEDCONSAI
DO DBCONSAI
IF LASTKEY() = 27
   CLEAR
   *CLOSE DATABASES
   RESTORE SCREEN FROM TMENUMOV
   RETURN
ENDIF
RETURN
************************************************
PROCEDURE DBCONSAI
DBEDIT(05,01,22,78,VETOR1,"CSAI","@",VETOR2,"ÄÂÄ"," ³ ","ÄÁÄ")
@04,01 CLEAR TO 23,78
RETURN
*******************************************************
FUNCTION CSAI
PARAMETERS modo,campo
IF modo<4
   RETURN(1)
ENDIF
dbs = SAVESCREEN(04,01,05,78)
dbt = SAVESCREEN(05,01,22,78)
dba = SAVESCREEN(00,01,25,80)
cExc = "S"
DO CASE
        	CASE LASTKEY() == 27
        	RETURN(0)
        	CASE LASTKEY() == 13
        	nCodsai = CODSAI
        	read
        	DO MOSTRASAIDA
        	RESTSCREEN(05,01,22,78,dbt)
        RETURN(1)
ENDCASE
RETURN(2)
*CLOSE DATABASE
**********************************************************
FUNCTION MOSTRASAIDA
SET CURSOR OFF
SET COLOR TO (W/G,W+/R,B/W+,w+/B,R/W)
DO CRIASAID

SELECT 1
USE SAIDAS
INDEX ON CODSAI TO SAIDAS

SELECT 2
USE SAIDA
INDEX ON STR(ITEM,3,0) TO SAIDA

SELECT 3
USE PRODSAI
INDEX ON STR(CODSAI,6,0) TO PRODSAI

DO WHILE .T.

   	SELECT 3
   	USE PRODSAI
   	INDEX ON STR(CODSAI,6,0) TO PRODSAI
   	
   	DO WHILE !EOF()
   	IF CODSAI <> nCodsai
   	SKIP
   	LOOP
   	ENDIF

   	SELECT 2
   	APPEND BLANK
   	REPLACE ITEM WITH PRODSAI->ITEM
   	REPLACE CODPROD WITH PRODSAI->CODPROD
   	REPLACE NOMEPROD WITH PRODSAI->NOMEPROD
   	REPLACE UND WITH PRODSAI->UND
   	REPLACE QTD WITH PRODSAI->QTD
   	REPLACE VLUNIT WITH PRODSAI->VLUNIT
   	REPLACE VLTOT WITH PRODSAI->VLTOT
   	REPLACE CODSAI WITH PRODSAI->CODSAI
   	REPLACE DATASAI WITH PRODSAI->DATASAI	
   	
   	SELECT 3
   	SKIP
   	ENDDO
   	DBCOMMIT()

   SELECT 2
   PUBLIC VETOR1[6],VETOR2[6]
   VETOR1[1] = "ITEM"
   VETOR1[2] = "CODPROD"
   VETOR1[3] = "QTD"
   VETOR1[4] = "UND"
   VETOR1[5] = "NOMEPROD"
   VETOR1[6] = "VLUNIT"
   VETOR2[1] = "ITEM"
   VETOR2[2] = "CàDIGO"
   VETOR2[3] = "QTD"
   VETOR2[4] = "UND"
   VETOR2[5] = "PRODUTO"
   VETOR2[6] = "VALOR"
   SELECT 2
   SET ORDER TO 1
   GOTO TOP
   SET COLOR TO W+/R
   @ 24,00 SAY "           ||  ENTER: Reimprime a Guia de Saida                           "
   SET COLOR TO (W/B,W+/R,B/W+,w+/B,R/W)
   @ 0,0 TO 3,79
   @ 1,1 CLEAR TO 2,78
   @ 1,2 SAY "DATA ATUAL "
   @ 2,2 SAY DATE()
   @ 1,29 SAY " SEFIN - 6¦ DRRE - SEAP "
   @ 2,29 SAY "  REIMPRESSAO DE VENDAS  "
   @ 1,65 SAY "HORµRIO ATUAL"
   @ 2,65 SAY  TIME()
   @ 4,0 TO 23,79 DOUBLE
   SAVE SCREEN TO DBEDIMP
   DO DBVENDA
   IF LASTKEY() = 27
      CLEAR
      CLOSE DATABASES
      RESTORE SCREEN FROM DBEDCONSAI
      RETURN
   ENDIF
ENDDO
   RETURN

************************************************
PROCEDURE DBVENDA
DBEDIT(05,01,22,78,VETOR1,"ISAI","@",VETOR2,"ÄÂÄ"," ³ ","ÄÁÄ")
@04,01 CLEAR TO 23,78
RETURN
*******************************************************
FUNCTION ISAI
PARAMETERS modo,campo
IF modo<4
   RETURN(1)
ENDIF
dbs = SAVESCREEN(04,01,05,78)
dbt = SAVESCREEN(05,01,22,78)
dba = SAVESCREEN(00,01,25,80)
cImp = "S"
DO CASE
        	CASE LASTKEY() == 27
        	RETURN(0)
        	CASE LASTKEY() == 13
        	SET COLOR TO W+/R
        	@ 20,19 CLEAR TO 22,45	
        	@ 20,19 TO 22,45  DOUBLE
        	@ 21,20 SAY "RE-IMPRIMIR SAIDA?" GET cImp PICTURE "@!" VALID (cImp $ "SN")
        	SET COLOR TO (W/B,W+/R,B/W+,w+/B,R/W)
        	READ
        	IF cImp = "S"
        	nRelate = nCodsai
        	dDatasai = DATASAI
        	read
        	DO IMPSAIDA
        	ENDIF
        	IF cImp = "N"
        	clear
        	restore screen from dbedimp
        	RETURN
        	ENDIF
        	RESTSCREEN(05,01,22,78,dbt)
        RETURN(1)
ENDCASE
RETURN(2)
CLOSE DATABASE
*************************************************
FUNCTION IMPSAIDA

SET DELETED ON

select 2
nTotali = 0
USE SAIDA
INDEX ON STR(ITEM,3,0) TO SAIDA
go TOP
SUM VLTOT TO nTotali while CODSAI = nCodsai
read

SELECT 3
USE PRODSAI
INDEX ON STR(CODSAI,6,0) TO PRODSAI

DO WHILE .T.
   nCodsaii = nRelate
   nCodsaif = nCodsaii
   cImp = "N"
   nPag = 1
   READ
   IF LASTKEY( ) = 27
      EXIT
   ENDIF
   GO TOP
   SEEK STR(nCodsaii,6,0)
   IF !FOUND( )
      TONE(400,3)
      SET COLOR TO BG+/B
      @ 9,32 SAY "NAO CADASTRADO"
      INKEY(1)
      SET COLOR TO (W/B,W+/R,B/W+,w+/B,R/W)
      LOOP
   ENDIF
   IF LASTKEY( ) = 27
      EXIT
   ENDIF
   cImp = "S"
   read
   IF cImp = "S"
      DO WHILE .T.
         IF !ISPRINTER( )
            TONE(400,3)
            SET COLOR TO W+/R
            @ 20,19 CLEAR TO 22,60
            @ 20,19 TO 22,60  DOUBLE
            @ 21,20 SAY "PREPARE A IMPRESSORA e ENTER"
            tek=INKEY(0)
            SET COLOR TO (W/B,W+/R,B/W+,w+/B,R/W)
            IF tek=27
               EXIT
            ENDIF
            LOOP
         ENDIF
         SET PRINT TO imp.doc
         SET DEVICE TO PRINT
         GO TOP
         SEEK STR(nCodsaif,6,0)
         nCodsetor = CODDEST
         cNomesetor = NOMEDEST
         nMatricula = MATRICULA
         cNomeusu = ENTREGADOR
         READ
         vcab=.T.
         DO WHILE !EOF( )
            IF CODSAI > nCodsaif
               @ PROW()+2,00 SAY REPLICATE("*",50)
               @ PROW()  ,51 SAY "TOTAL FINAL.......:" + STR(nTotali,10,2)
               @ PROW()+2,00 SAY "ENTREGUE POR: "
               @ PROW()  ,39 SAY "|"
               @ PROW()  ,40 SAY "RECEBIDO POR:"
               @ PROW()+1,00 SAY cNomeusu
               @ PROW()  ,39 SAY "|"
               @ PROW()+1,00 SAY "MATRICULA: " + STR(nMatricula,11,0)
               @ PROW()  ,39 SAY "|"
               @ PROW()+1,39 SAY "|"
               @ PROW()+1,39 SAY "|"
               @ PROW()+1,39 SAY "|"
               @ PROW()+1,00 SAY "______________________________"
               @ PROW()  ,39 SAY "|"
               @ PROW()  ,46 SAY "______________________________"
               @ PROW()+1,00 say "           Assinatura"
               @ PROW()  ,39 SAY "|"
               @ PROW()  ,46 say "       Carimbo/Assinatura"
               @ PROW()+1,76 SAY "Pag."
               @ PROW()+1,70 say nPag
               @ PROW()+1,00 SAY REPLICATE("=",80)
               EXIT
            ENDIF
            IF vcab
               @ 01,00 SAY REPLICATE("=",80)
               @ 02,00 SAY DATE()
               @ 02,23 SAY "  GOVERNO DO ESTADO DE RONDÔNIA"
               @ 02,72 SAY TIME()
               @ 03,23 SAY "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
               @ 04,23 SAY "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
               @ 05,23 SAY "         xxxxxxxxxxxxxxxxxx"
               @ 06,00 SAY REPLICATE("=",80)
               @ 07,23 SAY "   GUIA DE REMESSA DE MATERIAIS"
               @ 08,00 SAY REPLICATE("=",80)
               @ 09,00 SAY "Código do Pedido:" + STR(nCodsaii,6,0)
               @ 09,54 SAY "Data da Saída:" + DTOC(dDatasai)
               @ 10,00 SAY "SETOR/DESTINO:" + STR(nCodsetor,3,0)
               @ 10,20 SAY cNomesetor
               @ 11,00 SAY REPLICATE("=",80)
               @ 12,00 SAY "ITEM  CODIGO  UND  QTDE   PRODUTO                           Unitario       Total"
               @ 13,00 SAY REPLICATE("-",80)
               vcab = .F.
            ENDIF
            	
            @ PROW( )+1,01 SAY ITEM
            @ PROW( )  ,09 SAY CODPROD
            @ PROW( )  ,14 SAY UND
            @ PROW( )  ,18 SAY QTD
            @ PROW( )  ,26 SAY NOMEPROD
            @ PROW( )  ,58 SAY VLUNIT
            @ PROW( )  ,70 SAY VLTOT
            IF PROW( ) > 60
               nPag++
               @ PROW( )+1,00 SAY REPLICATE("=",80)
               vcab = .T.
            ENDIF
            SKIP
         ENDDO
         SET DEVICE TO SCREEN
         ! C:\WINDOWS\system32\notepad.exe IMP.doc
         EJECT
         SET COLOR TO W+/R
         @ 20,19 CLEAR TO 22,66
         @ 20,19 TO 22,66  DOUBLE
         @ 21,22 say "  IMPRESSAO REALIZADA COM SUCESSO! "
         inkey(1)
         SET COLOR TO (W/B,W+/R,B/W+,w+/B,R/W)
         RETURN
      ENDDO
   ENDIF
ENDDO
CLEAR
CLOSE DATABASE
RESTORE SCREEN FROM DBEDIMP
RETURN
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Erros de Principiante

Mensagem por Jairo Maia »

Olá Lucas,

Seja Bem vindo ao fórum.

Lucas, a princípio e numa análise superficial de seu código, me parece que o problema está quando você acessa o segundo DBEDIT. Você não está salvando o ambiente anterior, para restaurá-lo ao sair.

Gostaria de pedir para que você a fim de facilitar os colegas do fórum, anexe os seguintes DBFs: SAIDAS.DBF e PRODSAI.DBF com pelo menos 1 registro (mesmo que hipotéticos) em cada arquivo. Acho que podemos ajudar.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
lucasburitis
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 19 Abr 2015 22:14
Localização: ARIQUEMES

Erros de Principiante

Mensagem por lucasburitis »

Ola Jairo,

De antemão agradeço sua atenção.
Anexos
dbfs.rar
(657 Bytes) Baixado 104 vezes
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Erros de Principiante

Mensagem por Jairo Maia »

Olá Lucas,

Para testar seu código faltou a função CRIASAID. Tente alterar sua função DBCONSAI para essa forma e veja o que acontece. Caso não resolva, post a função CRIASAID para que eu possa compilar e testar seu código:

Código: Selecionar todos

************************************************
PROCEDURE DBCONSAI
Local cAlias:=Alias(), nIndice:=IndexOrd(), nRegistro:=RecN()

DBEDIT(05,01,22,78,VETOR1,"CSAI","@",VETOR2,"─┬─"," │ ","─┴─")
@04,01 CLEAR TO 23,78

Select( cAlias )
IndexOrd( nIndice )
GO nRegistro

RETURN
*******************************************************
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Erros de Principiante

Mensagem por ANDRIL »

Além de salvar o ambiente (recno(), select() , indexord()) antes de alterar a área ativa, está usando um mesmo vetor para declarar os campos do DBEDIT para ambos. Não mencionou o erro que esta dando, possivelmente, ao sair do 2o DBEDIT onde mudou os campos do vetor, ao retornar ao 1o DBEDIT da erro da variável. Tenha em mente, para cada DBEDIT um array diferente, piorando, deixou como PUBLIC, podendo afetar diversas rotinas que usam o mesmo vetor.
PUBLIC VETOR1[6],VETOR2[6]
use

Código: Selecionar todos

//DBEDIT 1
PRIVATE VETOR1_1[6],VETOR2_1[6]

Código: Selecionar todos

//DBEDIT 2
PRIVATE VETOR1_2[6],VETOR2_2[6]

Código: Selecionar todos

//DBEDIT 3
PRIVATE VETOR1_3[6],VETOR2_3[6]
Até+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
lucasburitis
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 19 Abr 2015 22:14
Localização: ARIQUEMES

Erros de Principiante

Mensagem por lucasburitis »

Olá Jairo e Andril,

Grato pela atenção e ajuda.

Jairo fiz a alteração que me propôs, continua o mesmo erro, ou seja, após a impressao, aparece no DBEDIT da SAIDA varios outros itens. E na tentativa de retorno com ESC ocorre o erro e aborta o programa. (Error Base /1003 Variable does not exist: SETORDEST).

Andril , fiz as alterações que me sugeriu, conjuntamente àquelas propostas pelo Jairo. E nesse caso nem abriu o segundo DBEDIT, Deu o mesmo erro mas já no momento em que tentei abrir o DBEDIT da SAIDA.

Segue a função CRIASAID solicitada pelo Jairo.

Mais uma vez, grato pela atenção de vocês.

Código: Selecionar todos

FUNCTION criasaid

erase saida.NTX
create ARQ.TMP
criacamp("ITEM","N",3,0,)
criacamp("CODPROD","N",3,0,)
criacamp("NOMEPROD","C",30,0)
criacamp("UND","C",3,0)
criacamp("QTD","N",5,1)
criacamp("VLUNIT","N",10,2)
criacamp("VLTOT","N",10,2)
criacamp("CODSAI","N",6,0)
criacamp("DATASAI","D",8,0)
commit
create SAIDA from ARQ.TMP
close databases
erase ARQ.TMP
return
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Erros de Principiante

Mensagem por ANDRIL »

Veja que voce inicia sua função principal assim:

Código: Selecionar todos

005	SELECT 1
006	USE SAIDAS
007	INDEX ON STR(CODSAI,6,0) TO SAIDAS

Na função mostrasaida() voce reabre a area 1 e na saida fecha todos os DATABASES.

Código: Selecionar todos

150	   IF LASTKEY() = 27
151	      CLEAR
152	      CLOSE DATABASES
153	      RESTORE SCREEN FROM DBEDCONSAI
154	      RETURN
155	   ENDIF

O problema esta possivelmente ai. Quando volta ao primeiro DBedit() cade a area que havia antes? Use com cuidado os comandos de fechamento
de DBF (use, close).

Então tente recriar o seu ambiente principal.

Código: Selecionar todos

150	   IF LASTKEY() = 27
151	      CLEAR
152	      CLOSE DATABASES
153	      RESTORE SCREEN FROM DBEDCONSAI
           /* INSIRA ESSAS LINHAS */
           005	SELECT 1
           006	USE SAIDAS
           007	INDEX ON STR(CODSAI,6,0) TO SAIDAS
           /*  */
154	      RETURN
155	   ENDIF

Voce pode salvar o ponteiro do registro antes de entrar no segundo DBedit() para quando voltar poder posiciona-lo onde estava.

Código: Selecionar todos

063	           CASE LASTKEY() == 13
                   yp=RECNO()
064	           nCodsai = CODSAI
065	           read
066	           DO MOSTRASAIDA
                   GO yp
Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
lucasburitis
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 19 Abr 2015 22:14
Localização: ARIQUEMES

Erros de Principiante

Mensagem por lucasburitis »

Ola Andril,

Problema parcialmente resolvido. Grato.


Agora funcionou, mas tive que manter os Arrays na forma inicial, quando os altero, volta a ocorrer o erro anterior. Agora o programa retorna normalmente do segundo DBEDIT para o primeiro.
O outro problema persiste. N fim da impressão, sao adicionados todos os registros do DBF PRODSAI ao segundo DBEDIT. Tenho lido sobre o DO WHILE, ainda nao compreendi bem esse "laço de repetição". Acredito que estou chegando perto, pois uso um DO WHILE para gravar os itens da SAIDA selecionada no primeiro DBEDIT ao segundo DBEDIT. Isso na função MOSTRASAIDA. Ao que me parece esta havendo uma repetição das instruções apos a impressão, sem respeitar a condição colocada, embora o ENDDO desse DO WHILE esteja bem antes de iniciar as instruções de impressão. Ainda não sei como interrompe-la.

Estou no caminho certo ou não tem nada a ver com o que expus?

Abraços
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Erros de Principiante

Mensagem por ANDRIL »

Amigo para ser sincero seu código esta muito confuso (não me leve a mal). Voce esta colocando READ (QUE É PARA GET entrada de dados na tela) em diversos locais, esta abrindo varias vezes DBFs e criando indices repetidamente, embora esteja trabalhando com indices NAO usou SEEK para efetuar a procura, usa CLOSE DATABASES (fecha todos dbfs), enfim, olhando superficialmente e supondo sua lógica que é ter um registro de venda e ao teclar ENTER mostrar os itens dessa venda, teria que mudar bastante código para enxugá-lo.

Lembre-se que voce deve criar um indice para otimizar a busca no sistema, através de DbSeek() ou SEEK, a nao ser quando deseja fazer um filtro onde há uma condição que ira filtrar os registros, veja, nesse comando serão processados todos os registros, porem no indice constará apenas o de nome = JUCA.

Código: Selecionar todos

INDEX ON campo TO arq FOR nome="JUCA"
DBedit()
Mais como todo começo é díficil, tem que ler, executar, errar até acertar, estamos aqui para ajudá-lo sempre que possível.
Até+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
lucasburitis
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 19 Abr 2015 22:14
Localização: ARIQUEMES

Erros de Principiante

Mensagem por lucasburitis »

Certo mestre, obrigado pelos apontamentos.

Continuarei tentando. E tentarei melhorar.

Abraços.
Responder