急急急!!!Undelclared identifier:'fiedlbyname'?

whhzkl 2003-06-16 09:29:16
我在Uses 中加了db, 但
With datat.Table4 do
if not active then open;
namea:=fieldbyname('name').asstring;
begin
...
然后就报错:Undelclared identifier:'fiedlbyname'?
如果用namea:=datat.table4.fieldbyname('name').asstring;就好了,
是with语句有问题吗?
在线等待!!!
谢谢!!!















程序如下:
uses ... db,...

Dialogs,
Buttons, ExtCtrls, StdCtrls, ComCtrls, Mask, DBCtrls,db, Grids, DBGrids,
RXDBCtrl, GDBGrid, Animate, GIFCtrl, DBTables, DBGridEh;

procedure TRecForm.SpeedButton1Click(Sender: TObject);
var i:integer;
noo:string;
boo:Tbookmark;
begin
if not DataT.Table4.Active then
DataT.Table4.Open;
if DataT.Table4.RecordCount = 0 then noo:='0';
if DataT.Table4.RecordCount > 0 then
Begin
boo:= DataT.Table4.GetBookmark;
DataT.Table4.Close;
DataT.Table4.Open;
DataT.Table4.Last;
noo:=DataT.Table4.fieldbyname('EmpId').AsString;
DataT.Table4.GotoBookmark(boo);
DataT.Table4.FreeBookmark(boo);
End;
noo:=FloatToStr(StrToInt(noo)+1);
For i:=1 to 5-Length(noo) do
begin
noo:='0'+noo;
end;
application.CreateForm(Taddform,addform);
if AddForm.ShowModal=mrOk then
begin
if not DataT.Table4.Active then
DataT.Table4.Open;
case AddForm.RadioGroup1.ItemIndex of
0: begin
DataT.Table4.Edit;
DataT.Table4.insert;
end;
1: begin
DataT.Table4.Next;
DataT.Table4.Edit;
DataT.Table4.Insert;
end;
2: begin
DataT.Table4.Last;
DataT.Table4.Edit;
DataT.Table4.Append;
end;
end;
end;
Dbedit1.SetFocus;
Dbedit1.Text:=noo;
RecForm.Caption:='记录管理 记录数为:'+IntToStr(DataT.Table4.RecordCount)+'人';
AddForm.Release;
end;

procedure TRecForm.SpeedButton3Click(Sender: TObject);
begin
try
try
with DataT.Table4 do
begin
if not active then open;
edit;
Post;
end;
except
Application.MessageBox('数据发生错误!!!请运行<维护>---><数据清理>菜单项!!!','提示框',mb_ok+mb_iconstop);
abort;
end;
Finally
Application.MessageBox('数据成功保存!!!','提示框',mb_ok+mb_iconinformation);
End;
end;

procedure TRecForm.SpeedButton2Click(Sender: TObject);
Var
namea:String;
noo:string;
begin
application.CreateForm(TDelRecForm,DelRecForm);
If DelRecForm.ShowModal=MrOk then
begin

With datat.Table4 do
if not active then open;
noo:=DataT.Table4.fieldbyname('EmpId').AsString;
namea:=datat.Table4.fieldbyname('name').asstring;
begin
Case DelRecForm.RadioGroup1.ItemIndex of
0:
begin
datat.Table4.Edit;
if messagedlg('你确定这条纪录-->'+#13+#10+'姓名: '+namea+#13+#10+'退休吗?定以为退休后此人不再参与每月数据计算',mtconfirmation,
[mbyes,mbno],0)=mryes then FieldByName('ManFlag').AsString:='退休';
post;
end;
1:
begin
edit;
if messagedlg('你确定这条纪录-->'+#13+#10+'姓名: '+namea+#13+#10+'定以为停薪吗?定义为停薪后此人各项数据清零',mtconfirmation,
[mbyes,mbno],0)=mryes then FieldByName('ManFlag').AsString:='停薪';
post;
end;
2:
begin
edit;
if messagedlg('你确定这条纪录-->'+#13+#10+'姓名: '+namea+#13+#10+'定义为调出吗?,定以为调出后此人各项数仍存在,为以后计算台帐做基数.',mtconfirmation,
[mbyes,mbno],0)=mryes then FieldByName('ManFlag').AsString:='调出';
post;
end;
3:
begin
edit;
if messagedlg('你确定这条纪录-->'+#13+#10+'姓名: '+namea+#13+#10+'定以为其他吗?',mtconfirmation,
[mbyes,mbno],0)=mryes then FieldByName('ManFlag').AsString:='其他';
post;
end;
4:
begin
if messagedlg('你确定这条纪录-->'+#13+#10+'姓名: '+namea+#13+#10+'彻底删除吗?,删除后此记录将不可能恢复,台帐数也没有.',mtconfirmation,
[mbyes,mbno],0)=mryes then
begin
delete;
datat.Table4.Close;
datat.table4.Open;
//packtable(datat.table4);
datat.Table4.Close;
datat.table4.Open;
end;
end;
end;
end;
end;
end;
end.
...全文
55 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jan2002 2003-06-16
  • 打赏
  • 举报
回复
没有仔细看
With datat.Table4 do
if not active then open;
namea:=fieldbyname('name').asstring;

with table4..
这句只对下面第一句有效,即 if not active then open;
对以后的语句就在这个WITH块范围之外了
应该用BEGIN。。END包括起来
WWWWA 2003-06-16
  • 打赏
  • 举报
回复
改fiedlbyname为FIELDBYNAME
jan2002 2003-06-16
  • 打赏
  • 举报
回复
同意楼上,是单词拼写错误
fiedlbyname --》fieldbyname
lovelymelon 2003-06-16
  • 打赏
  • 举报
回复
不是吧
没有问题啊
是不是你把fieldbyname写错了(Undelclared identifier:'fiedlbyname');
hammer_shi 2003-06-16
  • 打赏
  • 举报
回复
With datat.Table4 do

begin //需要加

if not active then open;
namea:=fieldbyname('name').asstring;


.....
end;//需要加

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧