Ir para conteúdo
  • Cadastre-se

Fabio Alexandre Barbosa Filho Barbosa

Membros
  • Total de ítens

    5
  • Registro em

  • Última visita

Posts postados por Fabio Alexandre Barbosa Filho Barbosa

  1. Boa tarde EMBarbosa, li sua mensagem esta madrugada perguntando dos tipos de fields e te respondi que era TIBBCDField. Logo achei uma solução que podemos compartilhar com outras pessoas que venha a ter esse mesmo problema com esta mensagem de erro "IBDS: Size mismatch for field 'VL_MARGEN', expecting: 8 actual: 4.". Os números 8 e 4 podem variar de acordo com o que foi declarado na hora de criar o campo. Procurei por varios dias em todos os sites que possa imaginar e as respostas sempre eram as mesmas (Exclua e incluar novamente os campos).

    Uso o IBExpert e o Firebird 2.5. No Delphi XE3 uso IBDataSet e IBQuery. Se neste dois tiverem campos numéricos com mais de 2 casas decimais, eles tem que serem definidos dentro do sistema. Vou mostrar como resolvi este problema:

    Quando adicionamos os campos no Field Editor, tanto do IBDataSet como do IBQuery ele criar os campos (Fields) desta forma:

    IBDSMARGEM_LUCRO: TIBBCDField;
    IBQ_MLVL_MARGEN: TIBBCDField;

    Ai pensei em definir eles na abertura do formulário, pois era ali que antes de abri-lo com mais frequencia acontecia o erro, na listagem abaixo esta a solução que achei para resolver.

    procedure Tform_Produto.FormShow(Sender: TObject);
    begin

      TIBBCDField(IBDSMARGEM_LUCRO).Size := 4;
      TIBBCDField(IBQ_MLVL_MARGEN).Size  := 4;

      PG.ActivePageIndex := 0;
      Panel2.Enabled  := False;
      Panel3.Enabled  := False;
      Panel5.Enabled  := False;
      Panel6.Enabled  := False;
      Panel7.Enabled  := False;
      Panel8.Enabled  := False;
      Panel10.Enabled := False;
      Busca_CB;
      IBQ_Lab.Open;
      IBQ_Linha.Open;
      IBQ_PA.Open;
      IBQ_SNGPC.Open;
      IBQ_Categ.Open;
      IBQ_ML.Open;
    end;

    O IBDS é o IBDataSet

    O IBQ_ é o IBQuery

    O 4 é a quantidade de casas decimais que determinei no meu campo MARGEM_LUCRO.

    Bom, agradeço sua atenção e se você tiver outra solução e quiser compartilhar ela comigo eu gostaria muito e fica a vontade de compartilhar com outras pessoas. Sou novo aqui e ainda não me familiarizei com o site. Estou meio perdido.

    Abraço.

    Fábio

  2. Ele coloca esse field: TIBBCDField. Não sei mais o que fazer, com 2 casas decimais funciona sem problemas. Se você puder me ajudar ficaria muito grato.

  3. 18 horas atrás, André Ferreira de Moraes disse:

    Por favor, poste suas dúvidas diretamente no fórum.

    Bom dia. Como disse na pergunta, já fiz isso tudo, tirei, coloquei, refiz, comecei do zero de novo e ainda mantem o erro, não deixa colocar mais que 2 casas decimais. Uso o componente IBDataSet.

  4. Boa noite

      Tenho um BD no firebird e tenho um campo numerico (10,4). Uso o IBExpert e nele consigo introduzir os das manualmente com as 4 casas decimais.

    Uso o Delphi XE3 no Windows 7. Quando executo o programa e clico para entrar no formulário ele não entra e da a seguinte msg de erro IBDS: Size mismatch for field 'VL_MARGEN', expecting: 8 actual: 4.

    Ja pesquisei e fiz tudo o que achei, exlui e inclui de novo os campos e tudo que possam pensar e ainda continua dando o mesmo erro. Alguem pode me ajudar por favor.

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...