设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] 实现ID 自动编号

[复制链接]
跳转到指定楼层
1#
发表于 2007-2-2 16:55:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Private Sub 保存记录_Click()
On Error GoTo Err_保存记录_Click
   '定义各种变量
   Dim STemp As String
   Dim Rs As ADODB.Recordset
   Set Rs = New ADODB.Recordset
   STemp = "Select * From 电"
   '为打开数据表"查询语句"字符变量赋值
   Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
     '判断必填文本框和组合框是否为空
     If IsNull(Me![ID]) = True Then
       MsgBox "请输入ID它不能为空!", vbOKOnly, "输入ID"
       Me![ID].SetFocus
     ElseIf IsNull(Me![日期]) = True Then
       MsgBox "请输入日期,它不能为空!", vbOKOnly, "输入日期"
       Me![日期].SetFocus
     ElseIf IsNull(Me![班次]) = True Then
       MsgBox "请输入班次,它不能为空!", vbOKOnly, "输入班次"
       Me![班次].SetFocus
     ElseIf IsNull(Me![抄表人]) = True Then
       MsgBox "请输入抄表人,它不能为空!", vbOKOnly, "输入抄表人"
       Me![抄表人].SetFocus
     ElseIf IsNull(Me![统计员]) = True Then
       MsgBox "请输入统计员,它不能为空!", vbOKOnly, "输入统计员"
       Me![统计员].SetFocus
     Else
     '保存产量输入
    STemp = "INSERT INTO 电"
     STemp = STemp & "(ID,日期,班次,抄表人,1#动力变,2#动力变,1#整流变,2#整流变,3#整流变,4#整流变,5#整流变,高压电机,统计员,备注)"
     STemp = STemp & "VALUES ('" & Me![ID] & "','" & Me![日期] & "',"
     STemp = STemp & "'" & Me![班次] & "','" & Me![1#动力变] & "',"
     STemp = STemp & "'" & Me![2#动力变] & "','" & Me![1#整流变] & "',"
     STemp = STemp & "'" & Me![2#整流变] & "','" & Me![3#整流变] & "',"
     STemp = STemp & "'" & Me![4#整流变] & "','" & Me![5#整流变] & "',"
     STemp = STemp & "'" & Me![高压电机] & "','" & Me![抄表人] & "',"
     STemp = STemp & "'" & Me![统计员] & "','" & Me![备注] & "')"
     DoCmd.RunSQL STemp
     '刷新子窗体
     Me![电 子窗体].Requery
     End If
Exit_保存记录_Click:
  Exit Sub
Err_保存记录_Click:
  MsgBox Err.Description
  Resume Exit_保存记录_Click
End Sub


[此贴子已经被作者于2007-2-2 15:53:27编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-2-2 18:56:00 | 只看该作者
由于“1#动力变”等等字段是数值型的,不需要用单引号来分隔,因此代码需要由  ,'" & Me![1#动力变] & "',"    改成 ," & Me![1#动力变] & ","

而日期型的字段应使用#号来分隔而不是用单引号。

而自动编号的id字段是不需要您去追加,它会自动生成编号的。

点击这里给我发消息

3#
发表于 2007-2-2 19:29:00 | 只看该作者
可能跟你的字段名里的#号有关,有#号的字段要用[ ]括起来。

  STemp = STemp & "(ID,日期,班次,抄表人,1#动力变,2#动力变,1#整流变,2#整流变,3#整流变,4#整流变,5#整流变,高压电机,统计员,备注)"
改成:  STemp = STemp & "(ID,日期,班次,抄表人,[1#动力变],[2#动力变],[1#整流变],[2#整流变],[3#整流变],[4#整流变],[5#整流变],高压电机,统计员,备注)"
试试看!
4#
 楼主| 发表于 2007-2-2 23:50:00 | 只看该作者
以下是引用hi-wzj在2007-2-2 10:56:00的发言:


而自动编号的id字段是不需要您去追加,它会自动生成编号的。

这个

我还不会,请教了!!!![em09]

应该说是做过但没有成功。所以



[此贴子已经被作者于2007-2-2 15:52:43编辑过]

5#
发表于 2007-2-3 00:55:00 | 只看该作者
其它字段增加数据后,自动编号会自动完成,这个不用教了吧,你在表中输入数据就知了
6#
 楼主| 发表于 2007-2-3 18:15:00 | 只看该作者
在表中,我会啊,我是说在窗体中,怎么实现这个功能,

我是这样做的,在增加时,使各文本框为空,在保存时,让ID自动编号。

首先问:我这样的思路对吗?再问怎样才能自动编号。

Private Sub 保存记录_Click()
On Error GoTo Err_保存记录_Click
   '定义各种变量
   Dim STemp As String
   Dim Rs As ADODB.Recordset
   Set Rs = New ADODB.Recordset
   STemp = "Select * From 电"
   '为打开数据表"查询语句"字符变量赋值
   Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
     '判断必填文本框和组合框是否为空
      If IsNull(Me![ID]) = True Then
       MsgBox "请输入ID它不能为空!", vbOKOnly, "输入ID"
       Me![ID].SetFocus
     ElseIf IsNull(Me![日期]) = True Then
       MsgBox "请输入日期,它不能为空!", vbOKOnly, "输入日期"
       Me![日期].SetFocus
     ElseIf IsNull(Me![班次]) = True Then
       MsgBox "请输入班次,它不能为空!", vbOKOnly, "输入班次"
       Me![班次].SetFocus
     ElseIf IsNull(Me![抄表人]) = True Then
       MsgBox "请输入抄表人,它不能为空!", vbOKOnly, "输入抄表人"
       Me![抄表人].SetFocus
     ElseIf IsNull(Me![统计员]) = True Then
       MsgBox "请输入统计员,它不能为空!", vbOKOnly, "输入统计员"
       Me![统计员].SetFocus
     Else
     '保存产量输入
     STemp = "INSERT INTO 电"
     STemp = STemp & "(ID,日期,班次,抄表人,[1#动力变],[2#动力变],[1#整流变],[2#整流变],[3#整流变],[4#整流变],[5#整流变],[高压电机],统计员,备注)"
     STemp = STemp & "VALUES ('" & Me![日期] & "',"
     STemp = STemp & "'" & Me![班次] & "','" & Me![1#动力变] & "',"
     STemp = STemp & "'" & Me![2#动力变] & "','" & Me![1#整流变] & "',"
     STemp = STemp & "'" & Me![2#整流变] & "','" & Me![3#整流变] & "',"
     STemp = STemp & "'" & Me![4#整流变] & "','" & Me![5#整流变] & "',"
     STemp = STemp & "'" & Me![高压电机] & "','" & Me![抄表人] & "',"
     STemp = STemp & "'" & Me![统计员] & "','" & Me![备注] & "')"
     DoCmd.RunSQL STemp
     '刷新子窗体
     Me![电 子窗体].Requery
     End If
Exit_保存记录_Click:
  Exit Sub
Err_保存记录_Click:
  MsgBox Err.Description
  Resume Exit_保存记录_Click

[em23][em23][em23][em23][em23][em23][em23][em23][em23][em23][em23][em23][em23][em23]

[此贴子已经被作者于2007-2-3 10:27:20编辑过]

7#
发表于 2007-2-3 19:53:00 | 只看该作者
这个字段不要管它,由系统自动完成,用窗体增加数据也会自动完成的,看下这个例子

http://www.office-cn.net/forum.php?mod=viewthread&tid=52001&replyID=&skin=1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-26 18:38 , Processed in 0.100695 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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