[firebase-br] Como escolher o tipo (neste caso)?

Jair Roberto Silva jair em microflex.com.br
Sex Fev 3 13:15:07 -03 2006


Olá, Robson!

Você pode utilizar um campo do tipo INTEGER com um mapa de bits contendo 
as opções selecionadas, atribuindo uma "tag" para cada uma delas.
Nenhuma = 0
Opção 1 = 1 (binário 1)
Opção 2 = 2 (binário 10)
Opção 3 = 4 (binário 100)
Opções 1 e 3 = 5 (binário 101)

É fácil criar uma opção no Delphi para carregar e salvar o valor 
correspondente aos itens selecionados usando "and" e "or". Se precisar 
posso te dar alguns exemplos.

Neste caso, as pesquisas por este campos terão que usar "IN", pois uma 
opção selecionada pode corresponder a diversos valores totais diferentes 
no campo, mas isso também pode ser automatizado através de uma função do 
Delphi. Para não usar "IN" só criando um campo emulando um valor 
booleano para cada opção possível.


Um abraço,
Jair Roberto Silva


Robson Dantas de Aguiar escreveu:
> Eu tenho (num formulário Delphi) 11 CheckBox:
> 
> - Windows 95
> - Windows 98
> - Windows ME
> - Windows XP
> - Windows 2000
> - Windows NT
> - Windows Server
> - Linux
> - Unix
> - OS2
> - MacOS
> 
> O cliente vai selecionar quais os Sistemas Operacionais ele usa na 
> empresa dele, digamos que ele usa o Windows Server em um micro, em outro 
> ele usa o Windows 2000 e em outra usa o Windows XP e em outra usa Linux 
> e tem também um MacOS, então ele vai marcar que usa 5 Sistemas 
> Operacionais. Eu queria armazenar essas 5 que ele usa para 
> posteriormente quando pesquisar quais clientes usam o Linux (por 
> exemplo), então? como vou desenvolver esta tabela?
> 
> COD_CLIENTE : INTEGER;
> NOME_CLIENTE : VARCHAR(50);
> SISTEMAS_OPERACIONAIS : ??????????? (QUAL TIPO SERIA E COMO GUARDAR OS 
> NOMES) ?????
> 
> 
> Agradeço a ajuda
> 
> Robson
> 
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista