Fórum quot;Operação com tipo Variant inválidaquot; Que erro é es #245250
02/08/2004
0
estou tendo um pequeno problema no meu aplicativo, ele acusa esse erro toda vez que eu tento acessar o form de cadastro. Isso aconteceu depois que eu migrei do Paradox para o MYSQL utilizando a paleta MyDAC. O engraçado é que só acontece neste form e justamente com o dblookupcombobox (que puxa os códigos de produtos de uma tabela a outra). Com o paradox ele rodava direitinho e agora acusa esse erro toda vez que eu tento clicar no dblookup. Alguém pode ajudar...Muito obrigado.
Elias Jr
Curtir tópico
+ 0Posts
02/08/2004
Paulo_amorim
O que pode estar acontecendo eh vc tentar converter esse dado para Srting, mas ele eh um valor NULL
Tente colocar um breakpoint nessa linha e ver q dado ele mostra
Espeor que ajude
Até+
Gostei + 0
02/08/2004
Elias Jr
olha, realmente eu estava tentando converter de integer para string no onclick do dblookup mas eu já tentei resolver utilizando no mesmo evento a seguinte linha:
if ((dbcod.text <> ´ ´) and (meu códig de antes))
mas ele continua dando o mesmo erro, naum deixa nem mostrar o form. Nunca me deparei com este tipo de erro. Preciso de ajuda. Muito obrigado.
Gostei + 0
02/08/2004
Paulo_amorim
olha, realmente eu estava tentando converter de integer para string no onclick do dblookup mas eu já tentei resolver utilizando no mesmo evento a seguinte linha:
if ((dbcod.text <> ´ ´) and (meu códig de antes))
mas ele continua dando o mesmo erro, naum deixa nem mostrar o form. Nunca me deparei com este tipo de erro. Preciso de ajuda. Muito obrigado.[/quote:61e7bfd90c]
Olá
Se o código era algo como IntToStr, tente a funçao IntToStrDef...
Mas verifique se ele esta com o valor NULL no momento q vc executa a funçao...se estiver, tá ai o erro...
talvez esse problema no IF seja porque ele está testando ambas as condiçoes...
Espero que ajude
Até+
Gostei + 0
02/08/2004
Elias Jr
este é o meu código:
procedure Tfrmcompesc.dbcodClick(Sender: TObject);
begin
if ((dbcod.text <> ´´)* and (dbcod.Text = IntToStr(query1.fieldbyname(´codigo´).asinteger))) then
begin
dbnome.text := query1.fieldbyname(´nome´).asstring;
dbmodel.text := query1.fieldbyname(´modelo´).asstring;
end;
end;
* Adicionei depois;
Ele pega o código do produto selecionado no dblookup(dbcod) e joga o nome e o modelo do produto em dois edit´s. Na query tem a consulta de codigo nome e modelo e o lookup tá setado certinho nas tabelas. Só que em paradox funcionava, quando mudei pra mysql ele acusou o erro...já tentei o inttostrdef mas ele naum compila. Dá erro...
Gostei + 0
02/08/2004
Paulo_amorim
Desculpe... não tinha visto...
não deve-se testar ´´ no edit, mas sim NULL na query... sao coisas diferentes...
Tente inserir essa linha
if Query1.FieldByName(´codigo´).Value <> null then
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)