Migrei minha principal aplicação do X5 para o X6.
Quando clico em "Procurar" em algum form, normalmente o campo em questão aparece em "Localizar Por" no form de pesquisa.
Se estou na coluna "Endereço", deveria aparecer Endereço em Localizar Por, mas aparece o campo "Codigo".
Ai eu troco por "Endereço" o campo "Procurar Por", e este campo permanece ate que eu troque novamente.
Talvez a migração X5-X6 pode ter afetado este processo.
Regerei os fontes e continua esta falha, que não acontecia o X5.
O que fazer para corrigir ?
Att
Gilberto
Imprime Informatica
Pesquisas no Xmaker 6
-
- Mensagens: 65
- Registrado em: Janeiro 12th, 2011, 10:03 am
- Localização: Ribeirão Preto SP
- Contato:
Re: Pesquisas no Xmaker 6
Esse problema estava atrapalhando minhas migrações, já que os clientes estavam acostumados com a pesquisa.
A Solução que encontrei foi comentar o Codigo do Xmaker6 e substituir pelo codigo do XMaker5.
Voçes poderiam analisar e então ajustar, pois no X5 funciona legal.
Att
Gilberto
Imprime Informática
// Ferramentas da Manutenção e Consulta \\
procedure Ed_Localizar(TabelaPrincipal: TTabela; Formulario: TForm; GridConsulta: TDBGrid);
var
I: Integer;
ret: Boolean;
begin
{ FormPesquisa_Ed := TFormPesquisa_Ed.Create(Application);
try
FormPesquisa_Ed.EdCampos.Clear;
for I := 0 to TabelaPrincipal.Campos.Count - 1 do
FormPesquisa_Ed.EdCampos.Items.Add(TAtributo(TabelaPrincipal.Campos[I]).Titulo);
FormPesquisa_Ed.EdCampos.ItemIndex := IIF(TabelaPrincipal.Locate_Field <= FormPesquisa_Ed.EdCampos.Items.Count - 1, TabelaPrincipal.Locate_Field, 0);
FormPesquisa_Ed.EdPesquisa.Text := TabelaPrincipal.Locate_String;
if FormPesquisa_Ed.ShowModal = mrOk then
if Trim(FormPesquisa_Ed.EdPesquisa.Text) <> '' then
begin
Sistema.Conexao_i := Time;
if FormPesquisa_Ed.Origem.ItemIndex = 1 then
TabelaPrincipal.First;
ret := TabelaPrincipal.Locate(TAtributo(TabelaPrincipal.Campos[FormPesquisa_Ed.EdCampos.ItemIndex]).Valor.FieldName, FormPesquisa_Ed.EdPesquisa.Text, [loCaseInsensitive, loPartialKey]);
TabelaPrincipal.Locate_Field := FormPesquisa_Ed.EdCampos.ItemIndex;
TabelaPrincipal.Locate_String := FormPesquisa_Ed.EdPesquisa.Text;
Sistema.Conexao_f := Time;
Atualiza_Status;
if not ret then
MessageDlg(FormPesquisa_Ed.EdPesquisa.Text + ^M + 'não localizado!', mtInformation, [mbOk], 0);
end;
finally
FormPesquisa_Ed.Free;
end;
}
FormPesquisa_Ed := TFormPesquisa_Ed.Create(Application);
try
FormPesquisa_Ed.EdCampos.Clear;
for I := 0 to TabelaPrincipal.Campos.Count - 1 do
FormPesquisa_Ed.EdCampos.Items.Add(TAtributo(TabelaPrincipal.Campos[I]).Titulo);
if (GridConsulta.Columns.Grid.SelectedField.FieldNo - 1) < 0 then
FormPesquisa_Ed.EdCampos.ItemIndex := IIF(TabelaPrincipal.Locate_Field <= FormPesquisa_Ed.EdCampos.Items.Count - 1, TabelaPrincipal.Locate_Field, 0)
else
FormPesquisa_Ed.EdCampos.ItemIndex := GridConsulta.Columns.Grid.SelectedField.FieldNo - 1;
FormPesquisa_Ed.EdPesquisa.Text := TabelaPrincipal.Locate_String;
if FormPesquisa_Ed.ShowModal = mrOk then
if Trim(FormPesquisa_Ed.EdPesquisa.Text) <> '' then
begin
Sistema.Conexao_i := Time;
if FormPesquisa_Ed.Origem.ItemIndex = 1 then
TabelaPrincipal.First;
ret := TabelaPrincipal.Locate(TAtributo(TabelaPrincipal.Campos[FormPesquisa_Ed.EdCampos.ItemIndex]).Valor.FieldName, FormPesquisa_Ed.EdPesquisa.Text, [loCaseInsensitive, loPartialKey]);
TabelaPrincipal.Locate_Field := FormPesquisa_Ed.EdCampos.ItemIndex;
TabelaPrincipal.Locate_String := FormPesquisa_Ed.EdPesquisa.Text;
Sistema.Conexao_f := Time;
Atualiza_Status;
if not ret then
MessageDlg(FormPesquisa_Ed.EdPesquisa.Text + ^M + 'não localizado!', mtInformation, [mbOk], 0);
end;
finally
FormPesquisa_Ed.Free;
end;
end;
A Solução que encontrei foi comentar o Codigo do Xmaker6 e substituir pelo codigo do XMaker5.
Voçes poderiam analisar e então ajustar, pois no X5 funciona legal.
Att
Gilberto
Imprime Informática
// Ferramentas da Manutenção e Consulta \\
procedure Ed_Localizar(TabelaPrincipal: TTabela; Formulario: TForm; GridConsulta: TDBGrid);
var
I: Integer;
ret: Boolean;
begin
{ FormPesquisa_Ed := TFormPesquisa_Ed.Create(Application);
try
FormPesquisa_Ed.EdCampos.Clear;
for I := 0 to TabelaPrincipal.Campos.Count - 1 do
FormPesquisa_Ed.EdCampos.Items.Add(TAtributo(TabelaPrincipal.Campos[I]).Titulo);
FormPesquisa_Ed.EdCampos.ItemIndex := IIF(TabelaPrincipal.Locate_Field <= FormPesquisa_Ed.EdCampos.Items.Count - 1, TabelaPrincipal.Locate_Field, 0);
FormPesquisa_Ed.EdPesquisa.Text := TabelaPrincipal.Locate_String;
if FormPesquisa_Ed.ShowModal = mrOk then
if Trim(FormPesquisa_Ed.EdPesquisa.Text) <> '' then
begin
Sistema.Conexao_i := Time;
if FormPesquisa_Ed.Origem.ItemIndex = 1 then
TabelaPrincipal.First;
ret := TabelaPrincipal.Locate(TAtributo(TabelaPrincipal.Campos[FormPesquisa_Ed.EdCampos.ItemIndex]).Valor.FieldName, FormPesquisa_Ed.EdPesquisa.Text, [loCaseInsensitive, loPartialKey]);
TabelaPrincipal.Locate_Field := FormPesquisa_Ed.EdCampos.ItemIndex;
TabelaPrincipal.Locate_String := FormPesquisa_Ed.EdPesquisa.Text;
Sistema.Conexao_f := Time;
Atualiza_Status;
if not ret then
MessageDlg(FormPesquisa_Ed.EdPesquisa.Text + ^M + 'não localizado!', mtInformation, [mbOk], 0);
end;
finally
FormPesquisa_Ed.Free;
end;
}
FormPesquisa_Ed := TFormPesquisa_Ed.Create(Application);
try
FormPesquisa_Ed.EdCampos.Clear;
for I := 0 to TabelaPrincipal.Campos.Count - 1 do
FormPesquisa_Ed.EdCampos.Items.Add(TAtributo(TabelaPrincipal.Campos[I]).Titulo);
if (GridConsulta.Columns.Grid.SelectedField.FieldNo - 1) < 0 then
FormPesquisa_Ed.EdCampos.ItemIndex := IIF(TabelaPrincipal.Locate_Field <= FormPesquisa_Ed.EdCampos.Items.Count - 1, TabelaPrincipal.Locate_Field, 0)
else
FormPesquisa_Ed.EdCampos.ItemIndex := GridConsulta.Columns.Grid.SelectedField.FieldNo - 1;
FormPesquisa_Ed.EdPesquisa.Text := TabelaPrincipal.Locate_String;
if FormPesquisa_Ed.ShowModal = mrOk then
if Trim(FormPesquisa_Ed.EdPesquisa.Text) <> '' then
begin
Sistema.Conexao_i := Time;
if FormPesquisa_Ed.Origem.ItemIndex = 1 then
TabelaPrincipal.First;
ret := TabelaPrincipal.Locate(TAtributo(TabelaPrincipal.Campos[FormPesquisa_Ed.EdCampos.ItemIndex]).Valor.FieldName, FormPesquisa_Ed.EdPesquisa.Text, [loCaseInsensitive, loPartialKey]);
TabelaPrincipal.Locate_Field := FormPesquisa_Ed.EdCampos.ItemIndex;
TabelaPrincipal.Locate_String := FormPesquisa_Ed.EdPesquisa.Text;
Sistema.Conexao_f := Time;
Atualiza_Status;
if not ret then
MessageDlg(FormPesquisa_Ed.EdPesquisa.Text + ^M + 'não localizado!', mtInformation, [mbOk], 0);
end;
finally
FormPesquisa_Ed.Free;
end;
end;
-
- Mensagens: 65
- Registrado em: Janeiro 12th, 2011, 10:03 am
- Localização: Ribeirão Preto SP
- Contato:
Re: Pesquisas no Xmaker 6
Continuava com problemas a Pesquisa, as vezes caia em campo errado.
Corrigimos com o codigo abaixo, retirado da versão 5 e incluido na 6.
Ed_Localizar :
procedure Ed_Localizar(TabelaPrincipal: TTabela; Formulario: TForm; GridConsulta: TDBGrid);
var
I: Integer;
ret: Boolean;
begin
FormPesquisa_Ed := TFormPesquisa_Ed.Create(Application);
Try
FormPesquisa_Ed.EdCampos.Clear;
For I:=0 to TabelaPrincipal.Campos.Count-1 do
FormPesquisa_Ed.EdCampos.Items.Add(TAtributo(TabelaPrincipal.Campos[I]).Titulo);
if (GridConsulta.Columns.Grid.SelectedField.FieldNo-1) < 0 then
FormPesquisa_Ed.EdCampos.ItemIndex := IIF(TabelaPrincipal.Locate_Field <= FormPesquisa_Ed.EdCampos.Items.Count-1, TabelaPrincipal.Locate_Field, 0)
else
FormPesquisa_Ed.EdCampos.ItemIndex := GridConsulta.Columns.Grid.SelectedField.FieldNo-1;
FormPesquisa_Ed.EdPesquisa.Text := TabelaPrincipal.Locate_String;
if FormPesquisa_Ed.ShowModal = mrOk then
if Trim(FormPesquisa_Ed.EdPesquisa.Text) <> '' then
begin
Sistema.Conexao_i := Time;
if FormPesquisa_Ed.Origem.ItemIndex = 1 then
TabelaPrincipal.First;
ret := TabelaPrincipal.Locate(TAtributo(TabelaPrincipal.Campos[FormPesquisa_Ed.EdCampos.ItemIndex]).Valor.FieldName, FormPesquisa_Ed.EdPesquisa.Text, [loCaseInsensitive, loPartialKey]);
TabelaPrincipal.Locate_Field := FormPesquisa_Ed.EdCampos.ItemIndex;
TabelaPrincipal.Locate_String := FormPesquisa_Ed.EdPesquisa.Text;
Sistema.Conexao_f := Time;
Atualiza_Status;
if not ret then
MessageDlg(FormPesquisa_Ed.EdPesquisa.Text+^M+'não localizado!',mtInformation,[mbOk],0);
end;
Finally
FormPesquisa_Ed.Free;
end;
end;
Corrigimos com o codigo abaixo, retirado da versão 5 e incluido na 6.
Ed_Localizar :
procedure Ed_Localizar(TabelaPrincipal: TTabela; Formulario: TForm; GridConsulta: TDBGrid);
var
I: Integer;
ret: Boolean;
begin
FormPesquisa_Ed := TFormPesquisa_Ed.Create(Application);
Try
FormPesquisa_Ed.EdCampos.Clear;
For I:=0 to TabelaPrincipal.Campos.Count-1 do
FormPesquisa_Ed.EdCampos.Items.Add(TAtributo(TabelaPrincipal.Campos[I]).Titulo);
if (GridConsulta.Columns.Grid.SelectedField.FieldNo-1) < 0 then
FormPesquisa_Ed.EdCampos.ItemIndex := IIF(TabelaPrincipal.Locate_Field <= FormPesquisa_Ed.EdCampos.Items.Count-1, TabelaPrincipal.Locate_Field, 0)
else
FormPesquisa_Ed.EdCampos.ItemIndex := GridConsulta.Columns.Grid.SelectedField.FieldNo-1;
FormPesquisa_Ed.EdPesquisa.Text := TabelaPrincipal.Locate_String;
if FormPesquisa_Ed.ShowModal = mrOk then
if Trim(FormPesquisa_Ed.EdPesquisa.Text) <> '' then
begin
Sistema.Conexao_i := Time;
if FormPesquisa_Ed.Origem.ItemIndex = 1 then
TabelaPrincipal.First;
ret := TabelaPrincipal.Locate(TAtributo(TabelaPrincipal.Campos[FormPesquisa_Ed.EdCampos.ItemIndex]).Valor.FieldName, FormPesquisa_Ed.EdPesquisa.Text, [loCaseInsensitive, loPartialKey]);
TabelaPrincipal.Locate_Field := FormPesquisa_Ed.EdCampos.ItemIndex;
TabelaPrincipal.Locate_String := FormPesquisa_Ed.EdPesquisa.Text;
Sistema.Conexao_f := Time;
Atualiza_Status;
if not ret then
MessageDlg(FormPesquisa_Ed.EdPesquisa.Text+^M+'não localizado!',mtInformation,[mbOk],0);
end;
Finally
FormPesquisa_Ed.Free;
end;
end;
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 100 visitantes