unit uindices;

interface

function indcliente:string;
function indreceber:string;
function indproduto:string;
function indfornecedor:string;
function indpedidofornecedor:string;
function indpagar:string;
function indpedido:string;
function indfuncionario:string;
function indestado:string;
function indentrada:string;
function indagenda:string;
function indvendedor:string;
function indnota:string;
function indfatura:string;

implementation

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls, variants,  Forms,
  Dialogs, DBTables, DB, ExtCtrls, udm, unitproduto ;

// indexa cliente

  function indcliente;
  begin

        with fdm.tbcliente do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'nome;fone', [ixPrimary, ixunique]);
    AddIndex('byfantasia', 'nomefantasia', [ixCaseInsensitive]);
  end;


  with fdm.tbclientevisita do

  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'chave', [ixPrimary, ixunique]);
    AddIndex('bylink', 'link', [ixCaseInsensitive]);
  end;

  ShowMessage('Índices criados');
  end;


      // tabela receber

   function indreceber;
   begin
        with fdm.tbreceber do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'docparcela;letra', [ixPrimary, ixunique]);
  end;
  ShowMessage('Índices criados');

  end;


// indexa produto

   function indproduto;
   begin
        with fdm.tbproduto do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'produto;descricao', [ixPrimary, ixunique]);
    AddIndex('bylink', 'sigla;produto', [ixCaseInsensitive]);
  end;

        with fdm.tbgrupo do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'sigla', [ixPrimary, ixUnique]);
  end;

  ShowMessage('Índices criados');
  end;

    // indexa fornecedor

function indfornecedor;
begin
        with fdm.tbfornecedor do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'fantasia', [ixPrimary, ixUnique]);
  end;
  ShowMessage('Índices criados');
end;


   // indexa pedido fornecedor


 function indpedidofornecedor;
 begin
        with fdm.tbpedidofornecedor do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'pedido', [ixPrimary, ixunique]);
    end;

        with fdm.tbpedidofornecedoritem do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'chave', [ixPrimary, ixunique]);
    AddIndex('bylink', 'link', [ixCaseInsensitive]);
    AddIndex('byfantasia', 'fantasia', [ixCaseInsensitive]);
  end;


        with fdm.tbpedidofornecedorbaixa do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'chave', [ixPrimary, ixunique]);
    AddIndex('bylink', 'link', [ixCaseInsensitive]);
  end;

  ShowMessage('Índices criados');
  end;


      // tabela pagar

   function indpagar;
   begin
        with fdm.tbpagar do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'docparcela;letra', [ixPrimary, ixunique]);
  end;
  ShowMessage('Índices criados');
  end;


 function indpedido;
 begin
        with fdm.tbpedido do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'pedido', [ixPrimary, ixunique]);
    end;

        with fdm.tbpedidoitem do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'chave', [ixPrimary, ixunique]);
    AddIndex('bylink', 'link', [ixCaseInsensitive]);
    AddIndex('byfantasia', 'fantasia', [ixCaseInsensitive]);
  end;


        with fdm.tbpedidobaixa do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'chave', [ixPrimary, ixunique]);
    AddIndex('bylink', 'link', [ixCaseInsensitive]);
  end;

  ShowMessage('Índices criados');
  end;


  // indexa funcionário

 function indfuncionario;
 begin
        with fdm.tbfuncionario do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'chave', [ixPrimary, ixunique]);
    AddIndex('byfantasia', 'nomefantasia', [ixCaseInsensitive]);
  end;

        with fdm.tbfuncionarioitem do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'chave', [ixPrimary, ixunique]);
    AddIndex('bylink', 'link', [ixCaseInsensitive]);
  end;

  ShowMessage('Índices criados');
  end;


    // indexa estado

function indestado;
begin
        with fdm.tbestado do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'estado', [ixPrimary, ixUnique]);
  end;
  ShowMessage('Índices criados');
end;


 function indentrada;
 begin
        with fdm.tbentrada do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'nota;codigo', [ixPrimary, ixunique]);
  end;

        with fdm.tbentradaitem do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'chave', [ixPrimary, ixunique]);
    AddIndex('byfantasia', 'fantasia;codigo', [ixCaseInsensitive]);
    AddIndex('bylink', 'link', [ixCaseInsensitive]);
  end;

  ShowMessage('Índices criados');
  end;


// indexa agenda

  function indagenda;
  begin
        with fdm.tbagenda do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'chave', [ixPrimary, ixunique]);
    AddIndex('bynome', 'nome', [ixCaseInsensitive]);
  end;
  ShowMessage('Índices criados');
  end;


//indexa vendedor


  function indvendedor;
  begin
        with fdm.tbvendedor do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'fone;apel', [ixPrimary, ixunique]);
  end;
  ShowMessage('Índices criados');
  end;

 // indexa nota

   function indnota;
   begin
        with fdm.tbnota do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'nota', [ixPrimary, ixunique]);
  end;

        with fdm.tbnotaitem do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'chave', [ixPrimary, ixUnique]);
    AddIndex('bylink', 'link', [ixCaseInsensitive]);
  end;

  ShowMessage('Índices criados');
  end;


// indexa faturamento

   function indfatura;
   begin
        with fdm.tbfatura do
  begin
   close;
    IndexDefs.Clear;
    AddIndex('', 'parcelas;Cond.Pgto1;Cond.Pgto2;Cond.Pgto3;Cond.Pgto4', [ixPrimary, ixunique]);
  end;

  ShowMessage('Índices criados');
  end;

  end.

