Fórum Erro: Não Pode Converter Nulo em Inteiro #290128

31/07/2005

0

Pessoal, olha o erro q eu tenho aqui:

Tenho um LookUp de Grupos e outro de SubGrupos. Quando seleciono o de Grupos, ele me lista todos SubGrupos cadastrados praquele Grupo, e quando seleciono o de SubGrupos, ele tem q listar todas revistas cadastradas com o grupo e subgrupo correspondente.

A Listagem de SubGrupo funciona, mas quando seleciono o SubGrupo, pra ele listar as revistas, dá um erro dizendo que não pode converter tipo Null pra tipo Integer.

Só que, na tabela de revistas, não tenho tipos nulos. Pelo menos não no campo Grupo e SubGrupo, onde é obrigado selecionar um. O código do OnCloseUp de SubGrupos é assim:

  if LkUpListaSubGrupos.Text <> ´´ then
    begin
      DmDados.ClientNacionais.Close;
      with DmDados.SqlNacionais do
        begin
          Close;
          CommandText :=
            ´Select * From TBREVNACIONAIS Where FKCOD_GRUPO =´
            +IntToStr(LkUpListaGrupos.KeyValue)
            + ´And FKCOD_SUBGRUPO= ´ +IntToStr(LkUpListaSubGrupos.KeyValue)
            + ´Order By NOMENUMERO´;
          Open;
        end;
      DmDados.ClientNacionais.Open;
      StbNacionais.Panels[0].Text := ´Total de Revistas: ´+ IntToStr(DmDados.ClientNacionais.RecordCount);
      Botoes;
    end;


O que pode estar causando esse erro?



Allan Elias Ramos :wink:


Aersoftware

Aersoftware

Responder

Posts

31/07/2005

Marco Salles

So uma sugestão , sem muita pretenção.. Primeiro , porque eu não to sabendo qual o componente que voce esta usando e nen qual o banco de dados.. Enfim eu particularmente não conheco esta propriedade
LkUpListaGrupos.KeyValue

Mas em situaçoes parecidas eu muita vezes troquei a Propriedade Value Pela Propriedade AsString

Então tente Trocar

if LkUpListaSubGrupos.Text <> ´´ then 
    begin 
      DmDados.ClientNacionais.Close; 
      with DmDados.SqlNacionais do 
        begin 
          Close; 
          CommandText := 
            ´Select * From TBREVNACIONAIS Where FKCOD_GRUPO =´ 
            +(LkUpListaGrupos.AsStrings) 
            + ´And FKCOD_SUBGRUPO= ´ +(LkUpListaSubGrupos.AaStrings) 
            + ´Order By NOMENUMERO´; 
          Open; 
        end; 
      DmDados.ClientNacionais.Open; 
      StbNacionais.Panels[0].Text := ´Total de Revistas: ´+ IntToStr(DmDados.ClientNacionais.RecordCount); 
      Botoes; 
    end; 



Sem pretenção e so uma tentativa...


Responder

Gostei + 0

01/08/2005

Aersoftware

Perdão Marco, realmente esqueci de colocar o q estou usando.

É Firebird 1.5 + Delphi 7 + dbExpress.

O LkUp é um campo LookUp, q ele vai exibir o nome do Grupo, mas usar como chave válida a Chave Primária dele, que é código. Por isso o KeyValue. Ele vai usar a Chave Primária do Grupo cujo nome esta listado.



Allan Elias Ramos :wink:


Responder

Gostei + 0

01/08/2005

Marco Salles

A Minha sugestão foi trocar a propriedade KeyValue. Por uma Propriedade Correspondente em String...é uma tentativa apesar de voce dizer com todas as letras que não tem tipos nulos...Falar em trocar , voce chegou a tentar esta sugestão :?: :?: :?:


Responder

Gostei + 0

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

Aceitar