Duplicaçaão de campo

Delphi

10/01/2004

olá, para todos.
Sou iniciante (iniciante mesmo) em delphi e gostaria que alguém me enviasse um código para não deixar a duplicação de um campo. A apostila que tenho ensina um exemplo, mas quando vou compilar o projeto apresenta um erro(referente a memória ou algo parecido); o único jeito que achei foi remover o código do projeto. Outro problema que enfrento é quanto uma pesquisa. No exemplo da apostila que tenho, se eu cadastrar uma pessoa com o nome FÉLIX e tentar localizar FELIX (sem acento) não consigo encontrar o nome. Se alguém puder me ajudar ficarei muito grato.

Félix.

[color=green:28ddf2cd9e][b:28ddf2cd9e]Título Editado conforme prevê as regras de conduta - regras 2 e 4[/b:28ddf2cd9e][/color:28ddf2cd9e]


Prffelix

Prffelix

Curtidas 0

Respostas

Tnaires

Tnaires

10/01/2004

Olá Félix
Em primeiro lugar, se vc não quiser q os moderadores do fórum lhe puxem a orelha, não use letras maiúsculas no título do fórum e nem use títulos como o q vc colocou (me ajudem, etc.).
Acredito q vc não quer valores de campos duplicados dentro dos registros da tabela, não é? Normalmente os programas q se usam para criar bancos de dados oferecem essa opção, bastando vc ajustar essa propriedade (uma chave primária, por natureza, não permite valores iguais em registros diferentes). Porém, apresento uma sugestão para controle via código:
- primeiramente, crie um Query no projeto com o seguinte sql:
SELECT * FROM TABELA
WHERE CAMPO LIKE :VALOR

- após isso, crie uma função no Delphi:
// Exemplo com string; pode ser com inteiro, data, etc.
function ValorCampoExistente(valor: string): boolean;
begin
  Query1.Close;
  Query1.ParamByName(´VALOR´).AsString := valor;
  Query1.Open;
  Result := not Query1.IsEmpty;
end;

- na rotina de cadastro, poderia ficar assim:
...
  if ValorCampoExistente(´Valor Digitado´) then
    ShowMessage(´Este campo não permite valores duplicados.´);
...

Por favor, me desculpe se eu entendi sua dúvida errado.
Quanto à segunda dúvida, realmente ´E´ e ´É´ são caracteres diferentes. Eu já vi em algum tópico no fórum alguém q forneceu o código de uma função q permite contornar esse problema, mas infelizmente não posso te dizer qual pq não sei. Vou ficar devendo essa, mas dê uma pesquisada nos tópicos.
Sucesso.


GOSTEI 0
Prffelix

Prffelix

10/01/2004

valeu, tnares. agradeço pelo tempo dispensado para resolver meu problema.


GOSTEI 0
Prffelix

Prffelix

10/01/2004

Olá, caros amigos desse forum...

eu tenho no meu projeto um campo chamado MATRICULA(chave primária) e gostaria que alguém me enviasse um código para quando existir um valor duplicado emitir uma caixa de mensagem avisando. Outro problema é que em outro projeto tenho um campo chamado TIPO e quando vou colocar uma banda de grupo no quick report para aquele campo, os valores não se agrupam, saindo apenas o primeiro nome em ordem de classificação na tabela e os demais itens não aparecem. Queria saber como se faz um relatório no QReport que se pudesse usar um filtro para determinado campo. Ufa! com tantos problemas acho que vão perder muito tempo para me ajudar, mas agradeço.


GOSTEI 0
POSTAR