Campos strings que não podem se repetir.
Boa tarde,
Como vocês tratam os campos strings que não podem se repetir? Ex: nome dos clientes, nome dos fornecedores entre outros!
Eu pensei em 2 maneiras:
1º Criar uma query dinamicamente somente com o campo string e fazer uma consulta na tabela comparando os valores.
2º Criar o campo como unique no banco de dados. (uso firebird 2.5)
O que vocês aconselham ou usam?
Como vocês tratam os campos strings que não podem se repetir? Ex: nome dos clientes, nome dos fornecedores entre outros!
Eu pensei em 2 maneiras:
1º Criar uma query dinamicamente somente com o campo string e fazer uma consulta na tabela comparando os valores.
2º Criar o campo como unique no banco de dados. (uso firebird 2.5)
O que vocês aconselham ou usam?
Nícolas Braz
Curtidas 0
Respostas
Marques
25/11/2013
Olá lucas não sei resolver seu problema, sera que pode tenta me ajuda no meu ? é sobre fechar forms
[url]https://www.devmedia.com.br/forum/duvidas-verificar-se-ha-forms-filhos-abertos-dentro-do-form-pai-se-houver-nao-encerra-o-programa-quando-o-usuario-clica-no-close-do-form-pai-e-avisa-para-ele-fechar/462032[/url]
[url]https://www.devmedia.com.br/forum/duvidas-verificar-se-ha-forms-filhos-abertos-dentro-do-form-pai-se-houver-nao-encerra-o-programa-quando-o-usuario-clica-no-close-do-form-pai-e-avisa-para-ele-fechar/462032[/url]
GOSTEI 0
Marcos Saffran
25/11/2013
Boa tarde,
Como vocês tratam os campos strings que não podem se repetir? Ex: nome dos clientes, nome dos fornecedores entre outros!
Eu pensei em 2 maneiras:
1º Criar uma query dinamicamente somente com o campo string e fazer uma consulta na tabela comparando os valores.
2º Criar o campo como unique no banco de dados. (uso firebird 2.5)
O que vocês aconselham ou usam?
Como vocês tratam os campos strings que não podem se repetir? Ex: nome dos clientes, nome dos fornecedores entre outros!
Eu pensei em 2 maneiras:
1º Criar uma query dinamicamente somente com o campo string e fazer uma consulta na tabela comparando os valores.
2º Criar o campo como unique no banco de dados. (uso firebird 2.5)
O que vocês aconselham ou usam?
Boa tarde Nicolaz,
eu prefiro criar o campo como unique, mas em alguns campos tive que retirar essa restrição, pois nomes podem repetir, bem como fornecedores.
GOSTEI 0
Nícolas Braz
25/11/2013
Olá lucas não sei resolver seu problema, sera que pode tenta me ajuda no meu ? é sobre fechar forms
https://www.devmedia.com.br/forum/duvidas-verificar-se-ha-forms-filhos-abertos-dentro-do-form-pai-se-houver-nao-encerra-o-programa-quando-o-usuario-clica-no-close-do-form-pai-e-avisa-para-ele-fechar/462032
https://www.devmedia.com.br/forum/duvidas-verificar-se-ha-forms-filhos-abertos-dentro-do-form-pai-se-houver-nao-encerra-o-programa-quando-o-usuario-clica-no-close-do-form-pai-e-avisa-para-ele-fechar/462032
Quem é lucas?
GOSTEI 0
Ricardo Araujo
25/11/2013
gostaria de saber se você conseguiu fazer o que estava precisando ?
GOSTEI 0
Nícolas Braz
25/11/2013
Estou esperando outras opiniões.
GOSTEI 0
Járabe Emanuel
25/11/2013
Se vc colocar o campo como key no banco, vc não resolve seu problema?
GOSTEI 0
Nícolas Braz
25/11/2013
Usei uma query com o seguinte código.
if ds.DataSet.State in [dsInsert] then
begin
with sqlConsulta do
begin
Close;
SQL.Clear;
SQL.Add('SELECT SIGLA FROM UNIDADES WHERE SIGLA LIKE :SIGLA');
ParamByName('SIGLA').AsString := dbSigla.Text;
Open;
if (FieldByName('SIGLA').AsString <> EmptyStr) then
begin
ShowMessage('Você não pode cadastrar uma sigla igual.');
dbSigla.SetFocus;
Abort;
end
else
inherited;
end;
end;
if ds.DataSet.State in [dsEdit] then
inherited;GOSTEI 0
Ricardo
25/11/2013
Não entendi. Como assim? você fala que o cliente não pode ser igual ao fornecedor ou vice-versa? é isso?
GOSTEI 0
Nícolas Braz
25/11/2013
Não Ricardo!
Eu não queria 2 clientes com o mesmo nome e nem 2 fornecedores com o mesmo nome.
Eu não queria 2 clientes com o mesmo nome e nem 2 fornecedores com o mesmo nome.
GOSTEI 0
Ricardo
25/11/2013
Não Ricardo!
Eu não queria 2 clientes com o mesmo nome e nem 2 fornecedores com o mesmo nome.
Eu não queria 2 clientes com o mesmo nome e nem 2 fornecedores com o mesmo nome.
Não pode ter nomes repetidos mesmo?
GOSTEI 0
Nícolas Braz
25/11/2013
Essas tabelas podem eu só usei elas como exemplos!
As tabelas que eu não deixei repetir foram:
produtos, tipos de pagamentos, tipos de documentos, contas, setores de funcionarios, usuarios e grupos de usuarios.
As tabelas que eu não deixei repetir foram:
produtos, tipos de pagamentos, tipos de documentos, contas, setores de funcionarios, usuarios e grupos de usuarios.
GOSTEI 0
Itamar Souza
25/11/2013
Essas tabelas podem eu só usei elas como exemplos!
As tabelas que eu não deixei repetir foram:
produtos, tipos de pagamentos, tipos de documentos, contas, setores de funcionarios, usuarios e grupos de usuarios.
As tabelas que eu não deixei repetir foram:
produtos, tipos de pagamentos, tipos de documentos, contas, setores de funcionarios, usuarios e grupos de usuarios.
Boa tarde
Minha opinião no caso de clientes e fornecedores, você pode consulta o cnpj do mesmo, não deixando que eles sejam repetidos, mais pelo nome fica um pouco complicado pois o cadastro precisa esta exatamente igual, se você abreviar um nome já não vai conseguir identificar a duplicidade. Produtos, tipos de pagamento, tipos de documentos, contas, setores de funcionários, grupo de usuários (neste caso cabe o bom censo do usuário no momento do cadastro), usuários da para controlar pelo número do cpf por exemplo.
Espero ter ajudado
GOSTEI 0