Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problemas con tabla access FieldByNOMBRE (https://www.clubdelphi.com/foros/showthread.php?t=59394)

Yensis22 25-08-2008 17:58:35

Problemas con tabla access FieldByNOMBRE
 
tengo do from que estan relacionado el primero tiene este codigo el cual me esta dando error el cual esta acesando a una base de dato qu esta en acces el nombre de la tabla es tSalidaequipos la cual esta en un datamodule o no se si es FieldByNOMBRE que esta funcion no funciona con access.

procedure TConexionDB.TSalidaequiposNewRecord(DataSet: TDataSet);
begin
TConexionDB.tSalidaequipos.FieldByNOMBRE('Fecha').AsDateTime := Now;
end;

procedure TConexionDB.DataModuleCreate(Sender: TObject);
begin
end;
end.


el otron del que de pende este es


unit FConsuFechaEquip;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask, Grids, DBGrids, ExtCtrls, Buttons;
type
TFConsuEquiFech = class(TForm)
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Bevel1: TBevel;
Label1: TLabel;
Label4: TLabel;
Label6: TLabel;
DBGrid1: TDBGrid;
Desde: TMaskEdit;
Hasta: TMaskEdit;
DBMemo1: TDBMemo;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
procedure SpeedButton4Click(Sender: TObject);
procedure DesdeExit(Sender: TObject);
procedure HastaExit(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FConsuEquiFech: TFConsuEquiFech;
implementation
uses login;
{$R *.dfm}
procedure TFConsuEquiFech.SpeedButton4Click(Sender: TObject);
begin
Close ();
end;

procedure TFConsuEquiFech.DesdeExit(Sender: TObject);
Var
A,B: TDate;
begin
A:= Strtodate(Desde.text);
B:= Strtodate(Hasta.text);
if A > B then
Begin
Showmessage('La Fecha inicial no Puede ser Mayor que la Final');
desde.clear;
Activecontrol:= desde;
End;
end;
procedure TFConsuEquiFech.HastaExit(Sender: TObject);
Var
A,B: TDate;
begin
A:= Strtodate(Desde.text);
B:= Strtodate(Hasta.text);
if B < A then
Begin
Showmessage('La Fecha Final no Puede ser Menor que la Inicial');
Hasta.clear;
Activecontrol:= Hasta;
End;
end;
procedure TFConsuEquiFech.FormShow(Sender: TObject);
begin
desde.Clear;
hasta.Text := datetostr(now);
Desde.Text := datetostr(now);
end;


procedure TFConsuEquiFech.SpeedButton1Click(Sender: TObject);
begin
With login do begin
QConsFechaobra.active :=false;
QConsFechaobra.ParamByName('fecha1').AsDate:=StrToDate(desde.text);
QConsFechaobra.ParamByName('fecha2').AsDate:=StrToDate(hasta.text);
QConsFechaobra.active :=true;
// QConsFechaobra.Dataset := QConsFechaobra;
activecontrol := Desde;
activecontrol := Hasta;
end;
end.

egostar 25-08-2008 18:01:04

Pues es que FieldByNOMBRE no te va a funcionar ni en Access, ni en MySQL, ni en Firebird, ni en MSSQL, ni en Delphi mismo

En todo caso es FieldByName

Salud OS

Caro 25-08-2008 18:36:10

Hola Egopolice :), talvez es un campo persistente, y quiera acceder de esta forma TSalidaEquiposNombre.

Saluditos

roman 25-08-2008 18:40:06

Yensis22,

Por favor coloca tu código entre etiquetas [delphi]:


[delphi]

aquí el código

[/delphi]


para que se presente con la indentación y coloración adecuadas.

// Saludos

Yensis22 25-08-2008 19:13:12

tengo do from que estan relacionado el primero tiene este codigo el cual me esta dando error el cual esta acesando a una base de dato qu esta en acces el nombre de la tabla es tSalidaequipos la cual esta en un datamodule o no se si es FieldByNameque esta funcion no funciona con access. disculpeme
que fue que escris mar la funcion pero es co esa misma que me esta dando ese error en dinde esta en rojo

(DELPHI 7)
unit login;
interface
uses
SysUtils, Classes, DB, DBTables, ADODB;
type
TConexionDB = class(TDataModule)
Database1: TDatabase;
Tusuario1: TTable;
QCliente: TQuery;
TNivelUsuario: TTable;
TClientes: TTable;
Tcuentaporcobrar: TTable;
TDirecionusuario: TTable;
DSusuario1: TDataSource;
DSNivelUsuario: TDataSource;
DSClientes: TDataSource;
DScuentaporcobrar: TDataSource;
DSDirecionusuario: TDataSource;
DSEquipos: TDataSource;
DSfactudetalle: TDataSource;
DSfacturacob: TDataSource;
DSfacturacion: TDataSource;
TEquipos: TTable;
Tfactudetalle: TTable;
Tfacturacob: TTable;
Tfacturacion: TTable;
Tpago: TTable;
DSpago: TDataSource;
DSservisiosdias: TDataSource;
DSPieza: TDataSource;
TPieza: TTable;
Tservisiosdias: TTable;
Ttecnicos: TTable;
DStecnicos: TDataSource;
TCompania: TTable;
DSTCompania: TDataSource;
TEmpresas: TTable;
DSEmpresas: TDataSource;
QEquipos: TQuery;
Query3: TQuery;
Query4: TQuery;
Query5: TQuery;
Query6: TQuery;
Query7: TQuery;
Query8: TQuery;
Query9: TQuery;
Query10: TQuery;
Query11: TQuery;
Query12: TQuery;
Query13: TQuery;
DSQCliente: TDataSource;
DSQequipos: TDataSource;
DataSource3: TDataSource;
DataSource4: TDataSource;
DataSource5: TDataSource;
DataSource6: TDataSource;
DataSource7: TDataSource;
DataSource8: TDataSource;
DataSource9: TDataSource;
DataSource10: TDataSource;
DataSource11: TDataSource;
DataSource12: TDataSource;
DataSource13: TDataSource;
DataSource14: TDataSource;
TSalidaequipos: TTable;
DSTSalidaequipos: TDataSource;
TSalidaequiposCod_Equipos: TAutoIncField;
TSalidaequiposCod_Equip_Entrada: TIntegerField;
TSalidaequiposNombre_Cliente: TStringField;
TSalidaequiposEquipos: TStringField;
TSalidaequiposFecha: TDateTimeField;
TSalidaequiposMarca: TStringField;
TSalidaequiposMoto_Repacion: TFloatField;
TSalidaequiposStactu: TStringField;
TSalidaequiposNota: TStringField;
TSalidaequiposFulequipo: TStringField;
procedure TSalidaequiposNewRecord(DataSet: TDataSet);
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ConexionDB: TConexionDB;
implementation

{$R *.dfm}

procedure TConexionDB.TSalidaequiposNewRecord(DataSet: TDataSet);
begin
TConexionDB.tSalidaequipos.FieldByName('Fecha').AsDateTime := Now;
end;

(DELPHI 7)


Y el otron del que de pende este es

(DELPHI 7)

unit FConsuFechaEquip;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask, Grids, DBGrids, ExtCtrls, Buttons;
type
TFConsuEquiFech = class(TForm)
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Bevel1: TBevel;
Label1: TLabel;
Label4: TLabel;
Label6: TLabel;
DBGrid1: TDBGrid;
Desde: TMaskEdit;
Hasta: TMaskEdit;
DBMemo1: TDBMemo;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
procedure SpeedButton4Click(Sender: TObject);
procedure DesdeExit(Sender: TObject);
procedure HastaExit(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FConsuEquiFech: TFConsuEquiFech;
implementation
uses login;
{$R *.dfm}
procedure TFConsuEquiFech.SpeedButton4Click(Sender: TObject);
begin
Close ();
end;

procedure TFConsuEquiFech.DesdeExit(Sender: TObject);
Var
A,B: TDate;
begin
A:= Strtodate(Desde.text);
B:= Strtodate(Hasta.text);
if A > B then
Begin
Showmessage('La Fecha inicial no Puede ser Mayor que la Final');
desde.clear;
Activecontrol:= desde;
End;
end;
procedure TFConsuEquiFech.HastaExit(Sender: TObject);
Var
A,B: TDate;
begin
A:= Strtodate(Desde.text);
B:= Strtodate(Hasta.text);
if B < A then
Begin
Showmessage('La Fecha Final no Puede ser Menor que la Inicial');
Hasta.clear;
Activecontrol:= Hasta;
End;
end;
procedure TFConsuEquiFech.FormShow(Sender: TObject);
begin
desde.Clear;
hasta.Text := datetostr(now);
Desde.Text := datetostr(now);
end;


procedure TFConsuEquiFech.SpeedButton1Click(Sender: TObject);
begin
With login do begin
QConsFechaobra.active :=false;
QConsFechaobra.ParamByName('fecha1').AsDate:=StrToDate(desde.text);
QConsFechaobra.ParamByName('fecha2').AsDate:=StrToDate(hasta.text);
QConsFechaobra.active :=true;
// QConsFechaobra.Dataset := QConsFechaobra;
activecontrol := Desde;
activecontrol := Hasta;
end;
end.

egostar 25-08-2008 19:31:40

Hola

Código Delphi [-]
procedure TConexionDB.TSalidaequiposNewRecord(DataSet: TDataSet);
begin
  TConexionDB.tSalidaequipos.FieldByName('Fecha').AsDateTime := Now;
end;

Sería bueno que nos comentaras que error se te muestra, pero casi estoy seguro que el error es que no tienes tu tabla como insert o edit.

Salud OS

PD: Fijate como se ve el código cuando usas las etiquetas que roman te ha comentado.

Yensis22 25-08-2008 20:20:01

esete es error que manda debajos
 
Este es el codigo y abajo los erroer que manda


var
ConexionDB: TConexionDB;
implementation

{$R *.dfm}

procedure TConexionDB.TSalidaequiposNewRecord(DataSet: TDataSet);
begin
TConexionDB.tSalidaequipos.FieldByName('Fecha').AsDateTime := Now;
end;

end.


[Error] login.pas(99): Method identifier expected
[Error] login.pas(99): Missing operator or semicolon
[Error] login.pas(99): Missing operator or semicolon
[Fatal Error] Facturacion.dpr(21): Could not compile used unit 'login.pas'

maeyanes 25-08-2008 20:28:49

Hola...

Estás usando un método normal de la clase como un método de clase... es por eso que tienes esos errores...

Tu código debería ser:

Código Delphi [-]
procedure TConexionDB.TSalidaequiposNewRecord(DataSet: TDataSet);
begin
  TSalidaequipos.FieldByName('Fecha').AsDateTime := Now
end;

Ahora, a una variable que va a referenciar un objeto de X tipo no debes ponerle nombre que inicie con T, ya que esto te puede llevar a muchas equivocaciones cuando revises tu código...


Saludos...

Yensis22 25-08-2008 22:11:29

gracia
 
ya me funcion bien gracias


La franja horaria es GMT +2. Ahora son las 06:50:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi