[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 11:11:39 -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;
o erro da aqui nesta linha de comando
//
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
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas:
http://search.gmane.org/search.php?group=rebase
Mais detalhes sobre a lista de discussão lista