设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1946|回复: 5
打印 上一主题 下一主题

[窗体] 各位大侠来帮我解决下添加记录的问题,谢谢了

[复制链接]
跳转到指定楼层
1#
发表于 2010-2-8 15:30:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一个窗体,窗体上有一个按钮,该按钮的代码如下,是用来向表中添加记录的,问题在于,每次打开这个窗体,它都好像在内存中生成一条空记录似的(这是本人猜想,不知道对不对),然后关闭此窗体时,这条记录就会保存在表中,形成一条空记录,即关闭窗体时保存了空记录。我找了很久都没找出问题出在哪里,请各位大侠指教,感激不尽,顺祝新年快乐,万事如意!
Private Sub 签到_Click()
On Error GoTo err_签到_Click
    Dim STR As String
    Dim rs As New ADODB.Recordset
    STR = "select * from 签到总记录"
    rs.Open STR, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
    If Me![姓名] <> ""  And Me![联系电话] <> "" Then
      With rs
          .AddNew
          ![姓名] = Me![姓名]
          ![联系电话] = Me![联系电话]
          ![签到时间] = Now()
          .Update
      End With
      MsgBox "签到成功,预祝你工作愉快", vbOKOnly, "签到成功"
      Me![姓名] = Null
      Me![联系电话] = Null
      Me.姓名.SetFocus
      DoCmd.OpenForm "当天记录 窗体"
      Forms![当天记录 窗体].Requery
    Else
      MsgBox "你所填的信息不完整,请补充,谢谢你的配合", vbOKOnly, "警告"
      Me![姓名].SetFocus
    End If
    rs.Close
    Set rs = Nothing
Exit_签到_Click:
    Exit Sub
err_签到_Click:
    MsgBox Err.Description
    Resume Exit_签到_Click
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2010-2-9 15:32:20 | 只看该作者
终于找到问题所在了,原来是在属性表中把数据的“数据输入”属性设为“是”,就会出现写入空记录这个问题。不明白其中的原理,有知道的人麻烦指教一下。
我听说过数据输入设为“是”的话有助于性能的优化,请问有没有解决这个问题的方法,即是把性能设为是而又不写入空记录的方法,谢谢!
3#
发表于 2010-2-9 18:03:43 | 只看该作者
猜想:你的表可能没有主键、没有必填字段。
4#
 楼主| 发表于 2010-2-10 00:26:00 | 只看该作者
3# aslxt
完全正确!请教一下其中的原理,谢谢。另外,主键,必填字段是不是最好要有?用处?
5#
发表于 2010-2-10 08:33:53 | 只看该作者
本帖最后由 aslxt 于 2010-2-10 08:44 编辑

比如说
把签到时间设为主键试一试,看看怎么样
建议发个实例库看看,如何重现这个问题
6#
 楼主| 发表于 2010-2-10 11:26:18 | 只看该作者
5# aslxt
因为签到时间有许多重复值,所以无法设为主键。总之,谢谢你的指教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-15 15:18 , Processed in 0.079592 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表