Como criar um campo na memoria com IBX
Galera é seguinte preciso criar um campo do tipo boolean em um componente IBdataset que fique na memoria, exemplo no resultado de uma tabela preciso que o úsuario apenas marque qual os registros ele vai gerar o cálculo, como fazer isso ?
Marcos Fernando
Curtidas 0
Respostas
Beppe
19/07/2005
Não sei, mas um campo calculado naum resolve?
GOSTEI 0
Marcos Fernando
19/07/2005
o duro que não pode ser um campo calculado, deve ser indicado pelo usuário!
Grato
Grato
GOSTEI 0
Beppe
19/07/2005
Mas acho que ele pode ser ´calculado´, mas sem calcular nada. Acho que campos calculados podemser modificados, mas ñ tenho certeza.
GOSTEI 0
Marcos Fernando
19/07/2005
já tentei usar os campos calculados mais não dá...
Grato...
Grato...
GOSTEI 0
Afarias
19/07/2005
Bom, esse post não deveria estar realmente aqui no fórum do IB/FB.
Se está usando ClientDataSet use um campo InternalCalc, se está usando outra coisa, crie um campo ´virtual´ no seu select e use este campo (sem usá-lo em updates e inserts), exempo:
select t.*, cast(0 as integer) as selecao from tabela t
T+
Se está usando ClientDataSet use um campo InternalCalc, se está usando outra coisa, crie um campo ´virtual´ no seu select e use este campo (sem usá-lo em updates e inserts), exempo:
select t.*, cast(0 as integer) as selecao from tabela t
T+
GOSTEI 0
Diogoalles
19/07/2005
Afarias e pessoal
eu criei numa Query o select baseado no qu eo afarias disse
select t.*, cast(0 as integer) as selecao from tabela t
agora após abrir a query preciso mudar o valor do ´selecao´ de 0 para 1 se for 0, e mudar de 1 para 0 se for 1.
tem como?
estou utilizando FB1.5 e TQuery.
outra coisa, no meu banco eu tenho um domain Boolean, no caso cima se eu subsituir o integer pelo boolean não funciona, como faço ?
obrigado
Diogo
eu criei numa Query o select baseado no qu eo afarias disse
select t.*, cast(0 as integer) as selecao from tabela t
agora após abrir a query preciso mudar o valor do ´selecao´ de 0 para 1 se for 0, e mudar de 1 para 0 se for 1.
tem como?
estou utilizando FB1.5 e TQuery.
outra coisa, no meu banco eu tenho um domain Boolean, no caso cima se eu subsituir o integer pelo boolean não funciona, como faço ?
obrigado
Diogo
GOSTEI 0
Afarias
19/07/2005
|agora após abrir a query preciso mudar o valor do ´selecao´ de 0 para 1
|se for 0, e mudar de 1 para 0 se for 1.
mas ele sempre vai ser 0! o q vc deseja?!
|outra coisa, no meu banco eu tenho um domain Boolean, no caso cima
|se eu subsituir o integer pelo boolean não funciona, como faço ?
se o domain boolean é baseado em integer dá no mesmo, se não mude para um cast no tipo desejado.
T+
|se for 0, e mudar de 1 para 0 se for 1.
mas ele sempre vai ser 0! o q vc deseja?!
|outra coisa, no meu banco eu tenho um domain Boolean, no caso cima
|se eu subsituir o integer pelo boolean não funciona, como faço ?
se o domain boolean é baseado em integer dá no mesmo, se não mude para um cast no tipo desejado.
T+
GOSTEI 0
Diogoalles
19/07/2005
acredito que eu ñ tenha me expressado bem:
acabei mudando um poco e o que preciso é:
tenho um clientdataset (CDS1) que é ligado a um Provider, este por sua vez está ligado a uma Query.
no CDS1 criei um campo InternalCalc ´teste´ do tipo String(1).
na tela tenho um checkbox, que se estiver checked=true então o campo teste deverá receber ´A´ para todos os registros do CDS1.
para fazer isso eu não queria usar isso (porque o CDS1 possui muitos registros):
CDS1.First;
while not(CDS1.Eof)do
begin
CDS1.Edit;
CDS1teste.asString := ´A´;
CDS1.Post;
CDS1.Next;
end;
existe alguma forma mais simples de alterar esse campo InternalCalc que não seja da maneira acima ?
obrigado
Diogo.
acabei mudando um poco e o que preciso é:
tenho um clientdataset (CDS1) que é ligado a um Provider, este por sua vez está ligado a uma Query.
no CDS1 criei um campo InternalCalc ´teste´ do tipo String(1).
na tela tenho um checkbox, que se estiver checked=true então o campo teste deverá receber ´A´ para todos os registros do CDS1.
para fazer isso eu não queria usar isso (porque o CDS1 possui muitos registros):
CDS1.First;
while not(CDS1.Eof)do
begin
CDS1.Edit;
CDS1teste.asString := ´A´;
CDS1.Post;
CDS1.Next;
end;
existe alguma forma mais simples de alterar esse campo InternalCalc que não seja da maneira acima ?
obrigado
Diogo.
GOSTEI 0
Afarias
19/07/2005
|existe alguma forma mais simples de alterar esse campo InternalCalc
|que não seja da maneira acima ?
até onde sei, não.
T+
|que não seja da maneira acima ?
até onde sei, não.
T+
GOSTEI 0