Fórum Problema com o campo #272363

15/03/2005

0

Pessoal

Estou com problema com o campo. Fiz um select com o ClientDataset e quando é executado o comando OPEN, aparece a seguinte mensagem:


TYPE MISMATCH FOR FIELD DAT_APROV_OR, expecting FMTBCFIELD ACTUAL: DATE


A linha de Código é o seguinte


with cdsConOr do
begin

if sTo = 3 then
begin
s := ´ Select o.NUM_OR, o.COD_CLI_OR, o.STATUS_OR, o.DAT_CAD_OR, ´ +
´ o.DAT_APROV_OR, o.COD_FUN_OR, cf.NOM_CLI_FOR, f.NOM_FUN ´ +
´ from ORCAMENTO o, CLIENTE_FORNECEDOR cf, FUNCIONARIO f ´ ;
sCond := ´´;
end
else sCond := ´where o.STATUS_OR = ´ + inttostr(sTo);

Close;
CommandText := ´´;
CommandText := s + sCond;
Open;

end;




O campo foi definido como date mas aparece esta mensagem
Estou usando o Delphi 7 e interbase 6.0


Rogeranalista

Rogeranalista

Responder

Posts

15/03/2005

Isaque

Neste caso, primeiramente, se vc está trabalhando com mais de uma tabela no Select, é melhor que vc coloque um INNER JOIN ou LEFT JOIN a fim de criar uma equipalência entre as tabelas. Visto que no código mostrado não existe esta relação, e nisso pode residir o erro.

Exemplo:
Select
o.NUM_OR,
o.COD_CLI_OR,
o.STATUS_OR,
o.DAT_CAD_OR,
o.DAT_APROV_OR,
o.COD_FUN_OR,
cf.NOM_CLI_FOR,
f.NOM_FUN
from ORCAMENTO o
INNER JOIN CLIENTE_FORNECEDOR cf ON (o.COD_CLI_OR = cf.COD_CLI_OR)
INNER JOIN FUNCIONARIO f ON (o.COD_FUN_OR = f.COD_FUN_OR)
where o.STATUS_OR = ?

Acredito que reestruturando o seu script SQL resolveria o problema.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar