Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

单击"关闭"按钮时,如何删除掉表中的该条记录

吹冷风  发表于:2013-03-13 11:36:06  
复制

请教各位:

 

       窗体中,主键编号为自动编号,当单击“关闭”按钮时,判断窗体中的字段“A“是否有输入数据,如果未输入数据,则将已自动编号的该条记录从表中删除,该如何实现呢?

 

 

 

Top
煮江品茶 发表于:2013-03-13 12:55:12

所谓判断是否输入数据可以转化为判断某一个或几个字段是否为空或者null。比如在人员表中,姓名是不能或缺的,因此可以判断姓名这个字段是否为空。如此便可以在窗体的卸载事件中写:

    docmd.runsql "delete * from 人员表 where nz(姓名,'')=''"

 

 



殷小宝 发表于:2013-03-13 17:14:45

if isnull(Me.A) then

Currentdb.Execute "delete * from tblname where A is null"

end if

docmd.close acform,me.name



陈连峰 发表于:2013-03-14 15:20:26

我按小宝的回复是这样写的:

 If IsNull(Form_FSRGZJH.Combo2) Then
    CurrentDb.Execute "delete * from TXXZSXB0  where me.combo2 is null"
     End If

   
    DoCmd.Close

提示错误如下截图:

 

 



陈连峰 发表于:2013-03-14 15:31:58
按煮江品茶司这样写的,       我不太理解nz()是什么意思,还请帮解释下,并看下我写的是否    docmd.runsql "delete * from TXXZXSB0 where nz(CHJHZB,'')=''"

陈连峰 发表于:2013-03-18 12:57:25
小宝和品茶,麻烦帮忙看下呗。

陈连峰 发表于:2013-03-18 13:48:58

已按小宝的方式解决,非常感谢:

If IsNull(Form_FSRGZJH.Combo2) Then
    CurrentDb.Execute "delete * from TXXZSXB0  where CHJHZB is null"         注: **底色处应填写字段名,而不是文本框的名字,就OK了。
     End If

  
    DoCmd.Close

 



殷小宝 发表于:2013-03-18 14:42:02
这正是二者的区别,docmd.runsql 运行时出现提示,currentdb.execute不出现提示,前者尚能带控件名,后者不可带控件名。nz是个函数,指示参数为空时显示方式。

总记录:7篇  页次:1/1 9 1 :