sobre fieldbyname
Boa Noite Galera mas negocio é o seguinte utilizo DELPHI 6 e quando estou digitando o comando o DELPHI 6 não me da a opção FIELDBYNAME.
Veja abaixo a UNIT. [OBSERVE A PARTE QUE ESTA EM VERMEHO]
unit Unit15;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, DB, Buttons;
type
TForm15 = class(TForm)
DBEdit1: TDBEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure DBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form15: TForm15;
implementation
uses
unit4, Unit7, Unit6, Unit16;
{$R *.dfm}
procedure TForm15.DBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Application.CreateForm(TForm6, Form6);
try
if key = vk_F2 Then
form6.showmodal;
finally
form6.Release;
FreeandNil(form6);
end;
end;
procedure TForm15.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DM.IBTConvenios.Close;
end;
procedure TForm15.FormCreate(Sender: TObject);
begin
DM.IBTConvenios.Open;
end;
[color=red:e773d879f3][b:e773d879f3]procedure TForm15.BitBtn2Click(Sender: TObject);
begin
if trim(dbedit1.Text)= ´´ then
begin
Application.MessageBox(´Campo de Consulta Vazio´,´Atenção´,MB_OK+MB_ICONINFORMATION);
dbedit1.SetFocus;
end
else
form16.Visualizar(DM.DSConvenios.DataSet.
end;[/b:e773d879f3][/color:e773d879f3]
end.
Observe que quando digito Dataset. o delphi me abre uma caixa onde escolho a opção desejada, mas a opção que necessito é [color=blue:e773d879f3][b:e773d879f3]FIELDBYNAME[/b:e773d879f3][/color:e773d879f3] e o delphi não me da essa opção então se digitar [color=blue:e773d879f3][b:e773d879f3]FIELDBYNAME[/b:e773d879f3][/color:e773d879f3] por conta prorpria da ERRO.
O que devo fazer para resolver esse PROBLEMA.
OBRIGADO
Veja abaixo a UNIT. [OBSERVE A PARTE QUE ESTA EM VERMEHO]
unit Unit15;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, DB, Buttons;
type
TForm15 = class(TForm)
DBEdit1: TDBEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure DBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form15: TForm15;
implementation
uses
unit4, Unit7, Unit6, Unit16;
{$R *.dfm}
procedure TForm15.DBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Application.CreateForm(TForm6, Form6);
try
if key = vk_F2 Then
form6.showmodal;
finally
form6.Release;
FreeandNil(form6);
end;
end;
procedure TForm15.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DM.IBTConvenios.Close;
end;
procedure TForm15.FormCreate(Sender: TObject);
begin
DM.IBTConvenios.Open;
end;
[color=red:e773d879f3][b:e773d879f3]procedure TForm15.BitBtn2Click(Sender: TObject);
begin
if trim(dbedit1.Text)= ´´ then
begin
Application.MessageBox(´Campo de Consulta Vazio´,´Atenção´,MB_OK+MB_ICONINFORMATION);
dbedit1.SetFocus;
end
else
form16.Visualizar(DM.DSConvenios.DataSet.
end;[/b:e773d879f3][/color:e773d879f3]
end.
Observe que quando digito Dataset. o delphi me abre uma caixa onde escolho a opção desejada, mas a opção que necessito é [color=blue:e773d879f3][b:e773d879f3]FIELDBYNAME[/b:e773d879f3][/color:e773d879f3] e o delphi não me da essa opção então se digitar [color=blue:e773d879f3][b:e773d879f3]FIELDBYNAME[/b:e773d879f3][/color:e773d879f3] por conta prorpria da ERRO.
O que devo fazer para resolver esse PROBLEMA.
OBRIGADO
Spalenza
Curtidas 0
Respostas
Beppe
02/02/2005
DSConvenios é que componente?
GOSTEI 0
Beppe
02/02/2005
Se vc digitar o comando DM.DSConvenios.DataSet.FieldByName(...) numa linha própria o que acontece? Que parâmetros toma form16.Visualizar?
GOSTEI 0
Marcio.theis
02/02/2005
E pq vc não utiliza a tabela?
DM.IBTConvenios.FieldByName(´Campo´).Value;
E se eu bem me lembre para a paleta BDE o Delphi não lista o FieldByName, mas este não é seu caso (de usar BDE), mas quem sabe é o mesmo esquema, tenta digitar e verifica se da o erro.....
DM.IBTConvenios.FieldByName(´Campo´).Value;
E se eu bem me lembre para a paleta BDE o Delphi não lista o FieldByName, mas este não é seu caso (de usar BDE), mas quem sabe é o mesmo esquema, tenta digitar e verifica se da o erro.....
GOSTEI 0
Paulo_amorim
02/02/2005
Olá
O Fato eh que o code completion do Delphi só te traz as opções de tipo compatível com o que se está atribuindo. P.ex., se vc colocar a função ´IntToStr(´ e chamar o CC, ele só trará aquilo que for Int. Assim, se vc colocar ´Edit1.´ ele não mostrará a propriedade Text, por exemplo.
O que ocorre no caso: FieldByName eh uma propriedade do tipo TField e, embora possa ser usada através da propriedade TField.AsXXX - onde XXX pode ser String, Integer, DateTime, etc. - , ele não irá mostrar no cc mesmo...
Tente, portanto, digitar (supondo que o procedimento Visualizar receba um parâmetro String)
Espero que ajude
Até+
O Fato eh que o code completion do Delphi só te traz as opções de tipo compatível com o que se está atribuindo. P.ex., se vc colocar a função ´IntToStr(´ e chamar o CC, ele só trará aquilo que for Int. Assim, se vc colocar ´Edit1.´ ele não mostrará a propriedade Text, por exemplo.
O que ocorre no caso: FieldByName eh uma propriedade do tipo TField e, embora possa ser usada através da propriedade TField.AsXXX - onde XXX pode ser String, Integer, DateTime, etc. - , ele não irá mostrar no cc mesmo...
Tente, portanto, digitar (supondo que o procedimento Visualizar receba um parâmetro String)
form16.Visualizar(DM.DSConvenios.DataSet.FieldByName(<campo>).AsString);
Espero que ajude
Até+
GOSTEI 0