Página 1 de 1

Como criar mais de uma tabela no dbf

Enviado: 09 Out 2013 16:55
por Piqueno
Boa tarde a todos, com ajuda do grande jairo e alguns estudos no livro "clipper 5" de 'jose antonio ramalho' consegui criar algo assim:

Código: Selecionar todos

function db_contato()
     local bDados:={},op,DBcontato
	  DBcontato:="contatos.dbf"
	   if ! file(DBcontato)
	     bDados:={{"cod","c",4,0},;
		          {"nome","c",40,0},;
				  {"telefone","c",10,0},;
				  {"tipo","c",30,0},;
				  {"data","d",8,0}}
   
         dbcreate(DBcontato,bDados)
	   endif
	   
     use &DBcontato shared new alias contatos
   	index on cod to ind_Ccod           
	index on nome to ind_Cnome
	index on telefone to ind_Ctelefone
	index on tipo to ind_Ctipo
	//index on data to ind_Cdata
	
	set index to ind_Ccod    
	set index to ind_Cnome
	set index to ind_Ctelefone
	set index to ind_Ctipo
	//set index to ind_Cdata
  return nil

Porem neste sistema uso apenas uma tabela; deu certo os dados estao sendo salvos.
No sql cria se um banco com nome "dados" com as tabelas * cliente, produto, vendedor etc. como posso fazer isso no DbF?
*Estou tentando criar uma rotina de vendas, que constara nela as tabelas * venda, produto, cliente, vendedor.
Agradeço se alguém puder me dar uma força nesta questão.

Como criar mais de uma tabela no dbf

Enviado: 09 Out 2013 18:00
por Pablo César
Eu não entendi.

Como criar mais de uma tabela no dbf

Enviado: 09 Out 2013 19:08
por Toledo
Piqueno, no seu código coloque sempre nomes nos arquivos com o formato 8.3 (nome com 8 caracteres e extensão com 3 caracteres).

Na criação dos arquivos de índices, é bom verificar se os arquivos já existem, evitando perder tempo recriando arquivos sem necessidade. Veja um exemplo:

Código: Selecionar todos

      if !file("ind_Ccod.ntx") .or. !file("ind_Cnom.ntx") .or. ;
         !file("ind_Ctel.ntx") .or. !file("ind_Ctip.ntx")
        index on cod to ind_Ccod
        index on nome to ind_Cnom
        index on telefone to ind_Ctel
        index on tipo to ind_Ctip
      endif
      set index to ind_Ccod, ind_Cnom, ind_Ctel, ind_Ctip
Piqueno escreveu:No sql cria se um banco com nome "dados" com as tabelas * cliente, produto, vendedor etc. como posso fazer isso no DbF?
Os arquivos DBF é bem diferente dos SQL, não tem como criar apenas um DBF com várias tabelas, você terá que criar um arquivo DBF para cada "tabela".

Abraços,

Como criar mais de uma tabela no dbf

Enviado: 09 Out 2013 21:58
por Piqueno
Toledo, obrigado pela dica.