Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Chave Primária
Message
De
14/03/2002 12:13:41
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Divers
Thread ID:
00631957
Message ID:
00632836
Vues:
15
>Perfeito Fabiano...
>
>Eu penso da mesma maneira, sem ter que acrescentar ou retirar nada.
>
>Como eu disse, comecei este debate para ver como os amigos estão programando e se estiverem usando esta metodologia, como estão implementando no VFP.
>
>[]s

Rodolfo...
Eu uso a implementação de ID escondidos. Mas existem questoes que nao podem ser utilizadas como por exemplo numero do produto.

eu faco assim.
NewID.dbf
Tabela     C (10)
nextID     I (4)

Cliente.dbf
IdCli      I (4)
Nome

Produto.dbf
IdProd     C (10)   muitos clientes usam letras no codigo e,
produto    C (45)      utilizam-no na tabela, no pedido...

Vendas.dbf
IdPedido   I (4)
IdCli      I (4)
NF         C (6)

Itens.dbf
IdPedido   I (4)
IdProd     C (10)  
Qtde       N (4)
valor      N (12,2)
Todos os IDs sao internos, menos alguns..., como o IdProd por exemplo.
No meu Form eu escondo o ID ou o mostro desabilitado. Depende da situacao.
Quando o digitador confirmar a gravacao ele chama aquela rotina que coloquei
a alguns dias atras (NewID) e gera o novo ID sem causar conflito. Esta rotina permite que vc gere IDs sem precisar de uma TAG primária.
O que realmente o programa faz?
No arquivo NewID eu gravo o nome da tabela e o proximo ID a ser utilizado.
quando for gerar um novo ID eu simplesmente abro NewID busco a tabela, pego o ID lá gravado e gravo NextID + 1.
O ID da tabela atual, por ex. clientes, é aquele que busquei no NewID.
então fica assim.
NewID.dbf
Tabela      NextID
Clientes        20
Vendas         788

Clientes.dbf
IdCli      Nome
20         Joao da Silva

Vendas.dbf
IdPedido  IdCli     NF
788          20   000568 
Taí, acredito que estas informações sejam uteis e se algum colega quizer aperfeicoar....

Abraços.

Fernando Borges
Fernando Borges.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform