SUGESTAO PARA CRIAR ESSE B. DE DADOS

JALEXM 16/04/2012 11:33:09
#399958
Olá.
Preciso montar um BD em Access a partir de umas fichas impressas e gostaria de uma sugestão.
Uma das tabelas é de Clientes. Alguns clientes retiram mercadorias no local, enquanto outros possuem endereço de entrega especifcado.
Como conciliar essas duas situações?

Se crio os campos RetiraNoLocal (booleano) e EnderEntrega (string), me parece que não é a melhor solução, pois muitos registros não vão ter nada para colocar em EnderEntrega. Também não queria dividr a tabela de clientes para separar os que retiram e os que pedem para entregar.
Alguém teria uma sugestão?
Obrigado.




FILMAN 16/04/2012 12:06:01
#399962
Eu faria assim

Todos os campos que o cadastro necessita e o campo RetiraNoLocal=String
no seu FORM a opção RetiraNoLocal pode ser um CheckBox se estiver selecionado é SIM senão é NAO e você envia a palavra

Então vc teria uma TabelaClientes e outra EndereçoEntrega

Na tabela EndereçoEntrega vc criaria uma chave estrangeira ou um relacionamento no caso do Access

Ex.

TbClientes
cli_id = Chave Primária = AutoNumeração
cli_nome = Texto
cli_Entrega = Texto

TbEntrega
enti_id = Chave Primária = AutoNumeração
cli_id = Numero
e o resto dos dados para um endereço...

No relacionamento vc ligaria o ID do cliente da TbClientes até o ID do cliente que esta na TbEntrega

Quando no cadastro estiver a obção Endereço de entrega selecionado chame o form de cadastro de endereço e cadastra

é necessário FORMALIZAR as tabelas e indexar campos para que seu banco fique bem interpretado e rápido para pesquisas
MARCELO.TREZE 16/04/2012 20:26:11
#400015
sugestão simples

um tabela unica com um campo endereço de entrega, e o que ficar em branco ou null neste campo é o que será retirado no local, caso contrário colocar endereço de entrega, simples pra que complicar colocando campos bolean etc.

outra coisa seria colocar o campo entrega e se no caso for ser retirado no local, bastaria escrever no campo entrega retirar no local. e pronto, neste caso bastaria você colocar um checkbox retirar no local, que ao ser selecionado preencheria automaticamente o campo, pronto
Tópico encerrado , respostas não são mais permitidas