delphi7 按回车不执行,而是切换。请高手帮忙看下!代码如下

procedureTfm_caiyin.DBEdit3KeyPress(Sender:TObject;varKey:Char);varid:integer;num:int... procedure Tfm_caiyin.DBEdit3KeyPress(Sender: TObject; var Key: Char);
var
id: integer;
num:integer;
zzh:string;
begin
if (key=#13) and (xstatus='ADD') and (dbedit3.Focused) then
begin
adotm.Close;
adotm.SQL.Clear;
adotm.SQL.Add('select *,num-cyjnum cyjnum1 from t_dan where cfm=''N'' and num-cyjnum>0 and tm_code=:xtm_code ');
adotm.Parameters[0].Value:=copy(DBEDIT3.Text,0,11);
adotm.open;
if adotm.Eof then
begin
dbedit3.Text:='';
dbedit3.SetFocus;
dbedit3.ReadOnly:=false;
showmessage('没有满足条件!');
abort;
end;
难道就没人知道吗?
展开
 我来答
景茹炜L8
2012-11-02 · TA获得超过481个赞
知道小有建树答主
回答量:617
采纳率:0%
帮助的人:376万
展开全部
检查一下你的窗体中的OnKeyPress事件,可能是在这个事件中对回车键进行了转换。例如,这个事件中有以下代码:
if Key=#13 then
begin
Key := #0; { 吃掉回车键 }
Perform(WM_NEXTDLGCTL, 0, 0); { 移动到下一个控制 }
end;
追问
没有啊  窗体中根本没有这个事件
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liu55721
2012-11-01 · TA获得超过922个赞
知道大有可为答主
回答量:1861
采纳率:100%
帮助的人:871万
展开全部
你这代码界面上是不会有多大变化的,甚至不会有变化, if adotm.Eof then要求当前记录是最后一条记录,如果不是最后一条记录, dbedit3.Text:='';
dbedit3.SetFocus;
dbedit3.ReadOnly:=false;
showmessage('没有满足条件!');
abort;
这些代码都不会被执行。你在这条
adotm.open;语句的后面加一句, adotm.next;试一下,看有没有反应。
追问
还是没用 ,事实上有段很长代码,我只是在这个控件上按enter能执行就行,方面的话加我QQ646382285,成吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mischemeXL
2012-11-07 · TA获得超过280个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:165万
展开全部
if (key=#13) and (xstatus='ADD') and (dbedit3.Focused) then

条件太多了。
你只需要对DBEdit3控件的KeyPress事件进行处理就好了。
if (key=#13) then
追问
不行啊,那两个条件必须要。因为整个程序需要
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式