Office中国论坛/Access中国论坛

标题: 关于子窗体内记录复制的偷懒想法 [打印本页]

作者: 紫风    时间: 2011-8-4 16:02
标题: 关于子窗体内记录复制的偷懒想法
不知道大家有没有冒出类似的想法或遇到类似的想偷懒的情况:
在子窗体里录入数据时(比方说要录入N条记录),每一条记录的内容除ID号以外都是一样的……
如下图:
ID
状态
65232
出局
65233
出局
65234
出局
65235
出局
65236
出局
65237
出局
65238
出局

注意:这个ID号不是系统的自动编号,而是可以手工定义其格式的,但是最后若干位一定是阿拉伯数字,且做出来是连号(见下例)
例如:
1. 纯数字:65232、65233、65234、65235……
2. 文本+数字:OUT65232、OUT65233、OUT65234、OUT6525、OUT65236……
至于要多少行记录,录入的人员可以在主窗体的某个控件里自己决定(如果想要32行,就输入32),然后子窗体自动生成32行记录,ID字段为我们在主窗体里决定的格式,只是在最后数字段每行+1……
不知道大家曾经有没有过这种偷懒的想法或例子?有没有什么思路呢?

作者: 紫风    时间: 2011-8-4 16:09
可能有版友觉得以上的想法不可思议,用系统的自动编号不行么?
实话实说吧:
鉴于某人自2006年起至今被迫相亲无数次,且次次都不成功,欲做一数据库报表记录自己的相亲失败次数,并希望将此导出成报表让家人不要继续逼他了……
至于ID号为何不能从1开始,那就只有当事人才知道了
悲催啊,还望各位帮忙给个思路或例子吧……
作者: roych    时间: 2011-8-4 16:27
用Insert Into Table (Fields ) Values(Controls)结合For语句就好了。例如
For i=1 to me.设置值
docmd .RunSQL "Insert Into 相亲记录(ID,结果) Values('" & "Out0000" & i & "','" & Me.相亲结果 & "')"
next i
作者: 紫风    时间: 2011-8-4 16:57
本帖最后由 紫风 于 2011-8-4 17:21 编辑
roych 发表于 2011-8-4 16:27
用Insert Into Table (Fields ) Values(Controls)结合For语句就好了。例如
For i=1 to me.设置值
docmd  ...


谢版主的回复!我也是想这样做……
不过,起始ID不是1啊……
相亲的起始ID也会在主窗体里设置的,以下能行么?
For i = me.起始ID to me.起始ID + me.设置值
docmd.RunSQL "……"
next i
这样不会被拖死,不过出来个变量未定义……奇怪了……
作者: todaynew    时间: 2011-8-4 17:27
紫风 发表于 2011-8-4 16:02
不知道大家有没有冒出类似的想法或遇到类似的想偷懒的情况:
在子窗体里录入数据时(比方说要录入N条记录) ...

动态设默认值就可以了
作者: asklove    时间: 2011-8-5 09:53
相亲达人啦
做个数据库是不是想时不时的回顾一下光辉历史啊,我看最好每个记录加一个相亲对象的照片
作者: 紫风    时间: 2011-8-5 14:35
asklove 发表于 2011-8-5 09:53
相亲达人啦
做个数据库是不是想时不时的回顾一下光辉历史啊,我看最好每个记录加一个相亲对象的照片

呵呵,不是的,只是想将相亲记录导出来给家人看看,不要再逼了……
这东西,逼不来的啊~~~
作者: xiaowuo2    时间: 2011-8-5 14:42
这个我以前也问过类似这个问题,当时主要是为了达到同时录入“同号不同书(系列书)”的目的。
作者: 紫风    时间: 2011-8-5 17:27
roych 发表于 2011-8-4 16:27
用Insert Into Table (Fields ) Values(Controls)结合For语句就好了。例如
For i=1 to me.设置值
docmd  ...

真的出错了……麻烦版主帮我看一下代码,谢谢!

Private Sub Cmd导入_Click()
For i = Me.开始ID To Me.结束ID
    DoCmd.RunSQL "Insert Into tbl相亲结果temp(ID,姓名,日期,地点,时间,成功否) Values('" & i & "','" & Me.姓名 & "','" & Me.日期 & "','" & Me.地点 & "','" & Me.时间 & "','" & Me.成功否 & "')"
Next i
End Sub

如果不定义 i ,系统报错:变量未定义
如果定义了 i ,系统报错:'6' 溢出

是什么原因呢?还是哪里写错了?

备注:ME.开始ID 和 ME.结束ID 的格式都设成了数字,且小数位是0

作者: roych    时间: 2011-8-5 17:40
1、i是需要定义为长整型(Long)的。
2、日期/时间字段前后需要改为井号(#),而不是单引号。
3、成功如果是“是否字段”,则应去掉单引号。
其它错误可能需要看到源文件才好判断。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3