Página 1 de 1

criar arquivo dbf automaticamente a cada ano

Enviado: 27 Out 2004 08:33
por ghosntetrn
Estou criando um sistema de cadastro, e queria saber como posso fazer para quando eu digitar somente um ano diferente, ele automaticamente crie um arquivo dbf com final 05 (exemplo: arquivo client04, ficaria: client05 e assim por diante, somente quando fosse digitado um ano diferente), com os outros campos existentes, e comece a inserir os dados nesse novo arquivo criado.

Enviado: 27 Out 2004 08:47
por Clipper
Prezado Colega

Você pode usar +/- assim :

Código: Selecionar todos

@ 00,00 SAY "Digite o ano para processamento -> " GET ANO PICT "99"
READ
ARQUIVO="CLIENT"+STRZERO(ANO,2)+".DBF"
INDICE="CLIENT"+STRZERO(ANO,2)

IF .NOT. FILE(ARQUIVO)
   aStructure := {} 
   aAdd( aStructure, { "CODIGO"    , "N",   6, 0 } )
   aAdd( aStructure, { "NOME"      , "C",   50, 0 } )
   aAdd( aStructure, { "ENDERECO"  , "C",   50, 0 } )
   aAdd( aStructure, { "BAIRRO"    , "C",   30, 0 } )
   aAdd( aStructure, { "CIDADE"    , "C",   30, 0 } )
   dbCreate( ARQUIVO,aStructure)

   // aqui você criaria o novo arquivo de indice
   USE "&ARQUIVO"
   INDEX ON CODIGO TO "&INDICE"
ELSE
   USE "&ARQUIVO"
   SET INDEX TO "&INDICE"
ENDIF
Até logo.

Marcelo

Enviado: 27 Out 2004 09:44
por Hasse
Olá amigos

Eu usaria (eu uso em vários programas) o comando COPY STRU TO, pois mesmo que a estrutura seja alterada não há necessidade de alterar também esta rotina de criação do novo DBF.

A rotina ficaria assim:

USE client04
COPY STRU TO client05

Hasse.