Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
joseberto Novato
Registrado: Quinta-Feira, 12 de Outubro de 2017 Mensagens: 23
|
Enviada: Sáb Dez 09, 2017 2:17 pm Assunto: Campo Calculated em uma TFDQuery (FireDAC) |
|
|
Pessoal estou tentando criar um campo Status que informara que o registro esta ON ou OFF pois o campo no banco é 0 = OFF e 1 = ON
mais quando tento criar o campo tipo calculado na FDQuery da varios erros
mesmo tentando direto ou por código não consigo! |
|
Voltar ao Topo |
|
|
lokasso Aprendiz
Registrado: Terça-Feira, 11 de Abril de 2017 Mensagens: 174
|
Enviada: Sáb Dez 09, 2017 4:56 pm Assunto: |
|
|
Cara, pelo que entendi você já tem esse campo no banco certo?
O campo do tipo calculado não seria uma boa ideia nesse caso, pois o valor já está armazenado e você apenas quer que ele te informe em string.
A onde você quer o retorno dessa informação?
Label, Edit, Grid ou imagem ou o que?
Abraços |
|
Voltar ao Topo |
|
|
joseberto Novato
Registrado: Quinta-Feira, 12 de Outubro de 2017 Mensagens: 23
|
Enviada: Sáb Dez 09, 2017 11:31 pm Assunto: |
|
|
Já, já tenho esse campo no banco sim!
O campo do tipo calculado não seria uma boa ideia nesse caso, pois o valor já está armazenado e você apenas quer que ele te informe em string
NESSE CASO NÃO: Eu quero o seguinte, tenho um campo fl_status tipo Integer, que recebe 0 ou 1, quando for 0 e pq esta "OFF" e 1 = "ON" mais quero colocar no sistema como um campo criado Rum time (calculated) para caso seja um ele apareça ON ou OFF so isso!
A onde você quer o retorno dessa informação?
Retorne em uma TFDQuery. em uma DBGrid
lokasso escreveu: | Cara, pelo que entendi você já tem esse campo no banco certo?
O campo do tipo calculado não seria uma boa ideia nesse caso, pois o valor já está armazenado e você apenas quer que ele te informe em string.
A onde você quer o retorno dessa informação?
Label, Edit, Grid ou imagem ou o que?
Abraços |
|
|
Voltar ao Topo |
|
|
lokasso Aprendiz
Registrado: Terça-Feira, 11 de Abril de 2017 Mensagens: 174
|
Enviada: Dom Dez 10, 2017 2:31 am Assunto: |
|
|
joseberto nesse caso sugiro que use os eventos OnGetText e OnSetText do Field Status
Ex:
Código: | procedure TDM_Principal.FDQ_LeitorSEXOGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
if FDQ_LeitorSexo.AsString = 'F' then
begin
Text:= 'FEMININO';
end
else
begin
Text:= 'MASCULINO';
end;
end;
procedure TDM_Principal.FDQ_LeitorSEXOSetText(Sender: TField;
const Text: string);
begin
if Text = 'FEMININO' then
begin
FDQ_LeitorSexo.AsString:= 'F';
end
else
begin
FDQ_LeitorSexo.AsString:= 'M';
end;
end; |
Algumas mudanças que precisará fazer:
Na onde está AsString, mude AsInteger
Na onde esta Feminino, mude para ON
Na onde esta Masculino, mude para OFF
Na onde esta F, mude para 1
Na onde esta M, mude para 0
Ai converta você terá que converter AsInteger para AsString
Espero que ajude
Abraços |
|
Voltar ao Topo |
|
|
joseberto Novato
Registrado: Quinta-Feira, 12 de Outubro de 2017 Mensagens: 23
|
Enviada: Dom Dez 10, 2017 9:54 am Assunto: |
|
|
GOSTEI MESMO! PARABENS!
Mais qual a diferença do GetText para o SetText??
testei e nao funcionou, deu esse erro:
Citação: | QryPEsquisa: List index out of bounds(5) |
lokasso escreveu: | joseberto nesse caso sugiro que use os eventos OnGetText e OnSetText do Field Status
Ex:
Código: | procedure TDM_Principal.FDQ_LeitorSEXOGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
if FDQ_LeitorSexo.AsString = 'F' then
begin
Text:= 'FEMININO';
end
else
begin
Text:= 'MASCULINO';
end;
end;
procedure TDM_Principal.FDQ_LeitorSEXOSetText(Sender: TField;
const Text: string);
begin
if Text = 'FEMININO' then
begin
FDQ_LeitorSexo.AsString:= 'F';
end
else
begin
FDQ_LeitorSexo.AsString:= 'M';
end;
end; |
Espero que ajude
Abraços |
|
|
Voltar ao Topo |
|
|
joseberto Novato
Registrado: Quinta-Feira, 12 de Outubro de 2017 Mensagens: 23
|
Enviada: Dom Dez 10, 2017 11:04 am Assunto: |
|
|
Eu criei o campo na TFDQuery diretamente como Calculated
mais nao funcionou da esse erro ai |
|
Voltar ao Topo |
|
|
lokasso Aprendiz
Registrado: Terça-Feira, 11 de Abril de 2017 Mensagens: 174
|
Enviada: Dom Dez 10, 2017 4:44 pm Assunto: |
|
|
Cara, não cria o campo calculated, utilize o qual você já puxa do banco, não é preciso criar nada, se não conseguir, te mando um exemplo
O Get pelo que entendi ele vai ler em tempo de execução, já o Set vai gravar em memoria.
Mas caso, não de certo, um conselho que dou é mudar o campo status de integer para char, ai você consegue manipular strings sem precisar converter
Ah e mais uma coisa, não é apenas em grid que aparece, por exemplo Masculino e Feminino, até em combobox aparece o que você digitar ali
Abraços |
|
Voltar ao Topo |
|
|
joseberto Novato
Registrado: Quinta-Feira, 12 de Outubro de 2017 Mensagens: 23
|
Enviada: Dom Dez 10, 2017 10:23 pm Assunto: |
|
|
É não entendi, se puder mandar um exemplo
Obrigado! |
|
Voltar ao Topo |
|
|
lokasso Aprendiz
Registrado: Terça-Feira, 11 de Abril de 2017 Mensagens: 174
|
Enviada: Seg Dez 11, 2017 3:46 pm Assunto: |
|
|
joseberto escreveu: | É não entendi, se puder mandar um exemplo
Obrigado! |
irei te mandar um exemplo
Abraços |
|
Voltar ao Topo |
|
|
|