[firebase-br] DELPHI 7 X FIREBIRD 1.5 X DBEXPRESS - off topic
Rodrigo - Alma Informática Ltda
desenv28 em almainformatica.com.br
Seg Abr 18 10:33:45 -03 2005
Amigos,
Estou desenvolvendo uma rotina no delphi para pegar automaticamente pra mim os nomes dos índice e jogar num radiogrup num formulário para que o usuário selecione por qual ordenação ele deseja fazer, desde pesquisa ate relatórios.
Só que chega num determinado ponto da rotina a mesma da o seguinte erro :
tbquery : índice de campo fora de faixa
o código e este abaixo :
procedure TForm1.FormShow(Sender: TObject);
var
Counter, AtualFld, CountFld : Integer;
FldIndex : String;
begin
with tbQuery do
begin
if (IndexNames <> Nil) and (IndexNames.Count > 0) then
begin
CountFld := IndexNames.Count;
end
else
begin
IndexDefs.Update;
CountFld := Min(4, IndexDefs.Count);
end;
TypeIndex := IndexFieldNames <> '';
SaveBookMark := GetBookMark;
if TypeIndex then
OldIndex := IndexFieldNames
else
OldIndex := IndexName;
for Counter := 0 to CountFld-1 do
begin
tbquery.Active := false;
if (IndexNames <> Nil) and (IndexNames.Count > 0) then
IndexName := IndexNames[Counter]
else
IndexName := IndexDefs[Counter].Name;
{ Get Field's Index }
if Counter < 9 then
FldIndex := '&' + IntToStr(Counter+1) + '. '
else
FldIndex := '&' + chr(90 + (9 - Counter)) + '. ';
AtualFld := 0;
tbquery.Active := true;
if ((IndexFields[AtualFld].FieldName = 'FAZENDA') and
(tbQuery.Name <> 'TBFAZENDA') and (tbQuery.Name <> 'TBCRIADOR')) or
(IndexFields[AtualFld].FieldName = 'FAZENDADOADORA') then
Inc(AtualFld);
FldIndex := FldIndex + IndexFields[AtualFld].DisplayName; // DisplayLabel;
rgOrder.Items.Add(FldIndex);
end;
rgOrder.ItemIndex := 0;
tbquery.Active := false;
if TypeIndex then
IndexFieldNames := OldIndex
else
IndexName := OldIndex;
{ Abre por Default na Segunda Chave - Geralmente de Descricao }
if CountFld > 1 then
begin
rgOrder.ItemIndex := 1;
if IndexNames <> nil then
IndexName := IndexNames[1]
else
IndexName := IndexDefs[1].Name;
end;
tbquery.Active := true;
MasterSource := MasterSource;
end;
end;
obs : estou utilizando componentes dbexpress
Se alguém puder me ajudar ficarei grato.
Abraço a todos,
Rodrigo
Mais detalhes sobre a lista de discussão lista