Access交流中心

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

添加记录窗体在关闭时会提交数据

liwenlei  发表于:2011-08-09 16:32:11  
复制

我已经在点击按钮是做了判断,防止重复添加记录。

If Nz([片名]) = "" Or Nz([片名]) = "" Then
        MsgBox "片名不能为空!", 64, "小李:"
    Else
        If DLookup("[片名]", "版权信息", "[片名]='" & Trim([片名]) & "'") <> "" Then
            MsgBox "片名重复,请重新输入!", 64, "小李:"
            Me.片名.SetFocus
        Else
            DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
            MsgBox "数据已经添加成功!", 64, "小李:"
            'Me.Requery
           
            Me![片名].SetFocus
           
        End If
    End If

 

可在关闭窗体是会自动保存最后一条记录,造成记录重复。

请大家帮忙看一下,如何解决,避免记录重复。谢谢。

 

Top
都市侠影 发表于:2011-08-09 16:35:30
没猜错的话你的控件是绑定型的吧,既然窗体关闭自动保存,你不去主动做那个保存工作不就行了嘛。

liwenlei 发表于:2011-08-09 16:39:35

请问还有其他方法吗

 



liwenlei 发表于:2011-08-09 16:40:03
我需要提交保存。

麥田 发表于:2011-08-09 16:40:18

If DCount("字段名", "表名称", "字段名='" & Me.字段名& "'") > 0 Then
MsgBox "你输入的数据已经存在,请重新输入", vbCritical, "警告"
Me.字段名.SetFocus
Exit Sub
End If

 



liwenlei 发表于:2011-08-09 16:50:18

麦田老师,我感觉Dcount和Vlookup两个函数实现的结果一样。现在我的问题是关闭窗体时,窗体会自动保存。我不想让它自动保存,以免数据记录重复。

因为窗体关闭时自动保存,不进行数据记录是否重复的计判断。



煮茶论道 发表于:2011-08-09 18:35:23
http://www.accessoft.com/blog/article-show.asp?userid=12904&Id=5653这个示例中员工添加下的窗体代码你可以参考

符鸿敏 发表于:2011-08-09 19:13:19
添加记录窗体不要绑定库表,应该在完成添加记录填写后,追加到库表,并在追加完成后清空窗体控件。

都市侠影 发表于:2011-08-10 08:43:37

如果不想窗体自动保存,那就把控件都做成非绑定的,在保存按钮的单击事件中利用SQL的INSERT语句向表中插入记录。



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