Access交流中心

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

在一个绑定数据表的窗体中,如何判断一条记录是新记录?

54.℡80後2oO  发表于:2012-07-11 18:03:46  
复制

1、在一个绑定数据表的窗体中,如何判断一条记录是新记录?还是旧记录?我的目的是想实现,当窗体处于新增记录状态时,保存按钮可用,而用记录导航按钮如上一条跳到上一条记录时,保存按钮不可用;

2、仍然是这种窗体,我想实现,输入的记录只有在按了保存按钮保存后才保存入表中,否则不保存数据,要如何实现?

 

Top
叶海峰 发表于:2012-07-12 08:52:38

NewRecord 属性

参阅应用于示例特性

使用 NewRecord 属性可以确定当前记录是否为新记录。Integer 型,只读。

expression.NewRecord

expression      必需。返回“应用于”列表中的一个对象的表达式。

说明

Newrecord 属性使用以下设置:

设置 说明
True 当前记录是新记录。
False 当前记录不是新记录。

注释   NewRecord 属性在“窗体”视图“数据表”视图中是只读的,并且在“设计”视图中不可用。该属性仅在使用Visual Basic 时才可用。

只要用户移到新记录,不论其是否开始编辑新记录,NewRecord 属性都将设为 True

示例

下面的示例显示如何使用 NewRecord 属性来确定当前记录是否为新记录。NewRecordMark 过程将当前记录赋给变量 Intnewrec。如果该记录为新记录,则显示一个消息框通知用户。可以在窗体的 Current 事件发生时运行该过程。

Sub NewRecordMark(frm As Form)
    Dim intnewrec As Integer

    intnewrec = frm.NewRecord
    If intnewrec = True Then
    MsgBox "You're in a new record." _
        & "@Do you want to add new data?" _
        & "@If not, move to an existing record."
    End If
End Sub
		


叶海峰 发表于:2012-07-12 08:57:03

第二个问题,可以尝试在表里面加一个字段,假设为状态,默认值为0,按保存后,用更新查询将当前记录的状态改成1,关闭窗体时,将状态为0的记录删除.还有其他的方法,论坛上搜搜就有



煮江品茶 发表于:2012-07-12 13:34:23

1、在窗体的鼠标滚动事件处理:

如果是主窗体,则:

me.保存.Enabled=me.NewRecord

如果是子窗体,则:

me.保存.Enabled=me.子窗体.form.NewRecord

 

2、在窗体的更新前事件中处理:

Cancel = MsgBox("保存否?", vbYesNo) = vbNo

 



54.℡80後2oO 发表于:2012-07-12 20:35:40

2、在窗体的更新前事件中处理:

Cancel = MsgBox("保存否?", vbYesNo) = vbNo

 

不能实现我所想要的结果

 

我想要的效果是:

 

你在新增记录状态下,输入一些信息,只有在点击保存按钮才保存记录,而其它任何操作均不保存……

 

不知要如何实现

 

 



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