Posts
Mas para realizar updates, deletes, ... connect... drops.. ele funciona, ou nao funciona nada?
Não funciona nada! e como ele não enxergase o banco !
é muito estranho já criei outro alias ja refiz a coneção e nada de funfar!!
Mas seu problema esta relacionado `a uma conexao BDE, ou no Firebird 2.1 ?
Valew carlos já resolvi o problema ! Fis coisa de amador mesmo hehe o meu database estava no form errado e não no form principal onde fica sempre em execussão dae é calro ele não enxergava o banco hehe mas valew pela força.... abç
Estou "começando" no delphi como vcs podem ver tenho outra duvida com query
EStou tentando jogar o nome do cliente que esta na minha dbgrid para meu edit que esta em outro form e não estou conseguindo já fiz o form enxergar o outro na uses
codigo : Frmcontrole_gasto.Edcli_forn:= (daqui para frente não sei como devo fazer ...)
obs: a dbgrid esta em outro form quero fazer quando o usuário clicar no nome do cliente ele apareça no edit do outro formulário..) esse código estou fazendo na ondblclick da grid...
Estou "começando" no delphi como vcs podem ver tenho outra duvida com query
EStou tentando jogar o nome do cliente que esta na minha dbgrid para meu edit que esta em outro form e não estou conseguindo já fiz o form enxergar o outro na uses
codigo : Frmcontrole_gasto.Edcli_forn:= (daqui para frente não sei como devo fazer ...)
obs: a dbgrid esta em outro form quero fazer quando o usuário clicar no nome do cliente ele apareça no edit do outro formulário..) esse código estou fazendo na ondblclick da grid...
O que esta no Seu DbGrid vem de um DataSource que esta Ligado a um DataSet que representa vários Fields
digamos assim
Então Vc Faz assim
SeuEdit.Text := SeuDataSet.FielddByName('SeuCampo').asstring
co, este Codigo o que esta no seu DbGrid , sera exposto Tb No Seu Edit
HUUM pois é mas meu dataset é uma query dae não tem o recurso fieldbyname esse que é o problema!!
Como não estava conseguindo com a query acrescentei uma TABLE dae "funfou" mas quando clico no nome do cliente que não seja o primeiro ele sempre retorna o primeiro ! ex: clico no terceiro ele exibe o primeiro, ou clico no segundo ele exibe o primeiro;
Tenho como fazer isso usando como meu data set a QUERY?? COMO FAÇO ISSO ??
O código que estou usando com table e não com query ....
Frmcontrole_gasto.Edcli_forn.Text:= FrmNome.Tblname.fieldbyname('NOME_CLI_FOR').AsString;
HUUM pois é mas meu dataset é uma query dae não tem o recurso fieldbyname esse que é o problema!!
Tem sim .. Pois o fieldByName foi declarado na Classe Secção Publica da Classe TDataSet
Veja como esta declarado a function
TDataSet = class(TComponent, IProviderSupport)
......
public
....
function FieldByName(const FieldName: string): TField;
...
end;
HUUM pois é mas meu dataset é uma query dae não tem o recurso fieldbyname esse que é o problema!!
Tem sim .. Pois o fieldByName foi declarado na Classe Secção Publica da Classe TDataSet
Veja como esta declarado a function
TDataSet = class(TComponent, IProviderSupport)
......
public
....
function FieldByName(const FieldName: string): TField;
...
end;
..
Outra coisa.
Vc Pode Tb usar o Proprio Tfields Definidos no Seu DataSet ( No Caso Sua query) atrvés do FieldsEditor
Então Vc Faz assim
SeuForm.SeuEdit.text:=SeuDataSetNOMECAMPO.asstring;
Exemplo Para o meu Caso
Formulario.SeuEdit.Text:= ClientDataSet1NOME.AsString;
Entendeu Amigão ?????
Quem seria o ClientDataSet1NOME não entendi..?
TDataSet = class(TComponent, IProviderSupport)
......
public
....
function FieldByName(const FieldName: string): TField;
...
end;
vc falou que está declaro ? mas não tem nada disso no meu código estranho olha só:
unit Pes_nomeUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, DBTables;
type
TFrmNome = class(TForm)
DBG: TDBGrid;
DSrce: TDataSource;
QryNome: TQuery;
Tblname: TTable;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGDblClick(Sender: TObject);
procedure DBGCellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmNome: TFrmNome;
implementation
{$R *.dfm}
uses ContaUnit2;
procedure TFrmNome.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TFrmNome.DBGDblClick(Sender: TObject);
begin
//Frmcontrole_gasto.Edcli_forn.Text:= FrmNome.Tblname.fieldbyname('NOME_CLI_FOR').AsString;
// FrmNome.Close;
end;
procedure TFrmNome.DBGCellClick(Column: TColumn);
begin
//Frmcontrole_gasto.Edcli_forn.Text:= FrmNome.Tblname.fieldbyname('NOME_CLI_FOR').AsString;
end;
end.
RAFAEL MARQUES GOMES o que vc quer fazer é muito simples
Faça um teste muito simples e diga o que retorna
Faça com um Faça com Outro ( Usando a Query Usando o Table )
procedure TFrmNome.DBGCellClick(Column: TColumn);
begin
Showmessage(FrmNome. QryNome.fieldbyname('NOME_CLI_FOR').AsString); //Ou
Showmessage(FrmNome.Tblname.fieldbyname('NOME_CLI_FOR').AsString);
end;
MARCO ANTÔNIO SALLES VALEW BROTHER RESOLVIDO O PROBLEMA EU ESTAVA COMETENDO ERRO DE AMADOR MESMO HEHE FUNFO LEGAL AGORA;
O problema é que tenho o ábito de digitas o componente e o ponto certo!
depois do ponto sempre mostra a "função" do componente só que não estava mostrando o .fieldbyname entende por isso tava achando que não funcionava agora sim sódigitei sem esperar que o próprio delphi me" mostrace o caminho" hehe valew pelo forção abraço..... .. ..