设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 求助: 如何一次性录入多条记录

[复制链接]
跳转到指定楼层
1#
发表于 2012-6-20 09:05:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ferockpan 于 2012-6-20 09:17 编辑





工作中遇到一种情况: 每件材料都要单独录入数据库,相同的材料相同的不良情况还要重复录入。能否只录入一条记录,按“添加记录”时,自动按实际情况添加N条记录?
例子:


在窗体中添加记录
在序列号中记录不良品的序列号



想要生成的效果:

3条记录,序列号分别是6,7,8

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-6-20 10:14:44 | 只看该作者
  1. Private Sub Command5_Click()
  2.     Dim intS As Integer
  3.     Dim intE As Integer
  4.     Dim i As Integer
  5.     Dim strSQL As String
  6.     If Not IsNull(Me.序列号) Then
  7.         intS = Left(Me.序列号, 1)
  8.         intE = Right(Me.序列号, 1)
  9.     Else
  10.         Exit Sub
  11.     End If
  12.     For i = intS To intE
  13.         strSQL = "INSERT INTO 总表2 (材料编号,材料名称,不良原因,处理方式,不良品数量,序列号 )values('" & _
  14.                  Me.材料编号 & "','" & Me.材料名称 & "','" & Me.不良原因 & "','" & Me.处理方式 & "'," & _
  15.                  Me.不良品数量 & "," & i & ")"
  16.         CurrentDb.Execute strSQL
  17.     Next
  18. End Sub
复制代码

本帖子中包含更多资源

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

x
3#
发表于 2012-6-20 10:43:47 | 只看该作者
完善一下:
  1. Private Sub Command5_Click()
  2.     Dim intS As Integer
  3.     Dim intE As Integer
  4.     Dim i As Integer, p As Integer
  5.     Dim bln As Boolean
  6.     Dim strSQL As String
  7.     If Not IsNull(Me.序列号) Then
  8.         p = InStr(Me.序列号, "-")
  9.         If p > 0 Then
  10.             bln = True
  11.             intS = Left(Me.序列号, p - 1)
  12.             intE = Right(Me.序列号, Len(Me.序列号) - p)
  13.         Else
  14.             bln = False
  15.         End If
  16.     Else
  17.         Exit Sub
  18.     End If
  19.     If bln Then
  20.         For i = intS To intE
  21.             strSQL = "INSERT INTO 总表2 (材料编号,材料名称,不良原因,处理方式,不良品数量,序列号 )values('" & _
  22.                      Me.材料编号 & "','" & Me.材料名称 & "','" & Me.不良原因 & "','" & Me.处理方式 & "'," & _
  23.                      Me.不良品数量 & "," & i & ")"
  24.             CurrentDb.Execute strSQL
  25.         Next
  26.     Else
  27.         strSQL = "INSERT INTO 总表2 (材料编号,材料名称,不良原因,处理方式,不良品数量,序列号 )values('" & _
  28.                  Me.材料编号 & "','" & Me.材料名称 & "','" & Me.不良原因 & "','" & Me.处理方式 & "'," & _
  29.                  Me.不良品数量 & "," & Me.序列号 & ")"
  30.         CurrentDb.Execute strSQL
  31.     End If
  32. End Sub
复制代码
4#
 楼主| 发表于 2012-6-20 14:37:27 | 只看该作者
Henry D. Sy 发表于 2012-6-20 10:43
完善一下:

非常感谢!先试试.....
5#
 楼主| 发表于 2012-6-21 10:44:35 | 只看该作者
Henry D. Sy 发表于 2012-6-20 10:43
完善一下:

Henry D. Sy ,

您好,我把代码加到“添加记录”按钮,试了一下。结果它把原来的序列号为“6-8”的记录都添加上去了,实际上我是不想要这条记录的。如何可以不添加这条记录?谢谢!
6#
发表于 2012-6-21 14:02:02 | 只看该作者
ferockpan 发表于 2012-6-21 10:44
Henry D. Sy ,

您好,我把代码加到“添加记录”按钮,试了一下。结果它把原来的序列号为“6-8”的记录 ...

结果它把原来的序列号为“6-8”的记录都添加上去了---不会吧!!
7#
 楼主| 发表于 2012-7-2 20:47:56 | 只看该作者
Henry D. Sy ,

您好,我把代码移植到实际使用的数据库,但运行时总出错,查来查去都不知道哪里出错,麻烦帮忙看看,如附件。非常感谢!


本帖子中包含更多资源

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

x
8#
发表于 2012-7-3 09:36:17 | 只看该作者
要追加的字段数目,与追加值的数目不符!
你少写了或者多写了。
9#
发表于 2012-7-3 09:39:04 | 只看该作者
字段是14个,值却是15个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-26 08:49 , Processed in 0.097182 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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