设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主:
打印 上一主题 下一主题

[窗体] 子窗体里选中的记录如何复制

[复制链接]
21#
发表于 2011-2-16 14:12:25 | 只看该作者
简 发表于 2011-2-16 12:57
我运行你的附件无法双击复制记录呢。

另外,登记日期不能复制,登记日期的默认值为date(),并且锁定, ...

加一句排除某些字段即可:
Function AllDblClick()
Dim ctls As Controls
Dim ctl As Control
Set ctls = Me.Controls
For Each ctl In ctls
    If ctl.ControlType <> acLabel Then
        If ctl.Name <> "编号" Then
            If ctl.Name <> "登记日期" Then
                Me.Parent.Form.Controls(ctl.Name).Value = ctl.Value
            End If
        End If
    End If
Next ctl
Me.Parent.Form.Requery
Me.Requery
Me.Parent.SetFocus
DoCmd.RunCommand acCmdRecordsGoToNew
End Function

我运行的时候可以,不知道你为什么不行,呵呵:


本帖子中包含更多资源

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

x
22#
 楼主| 发表于 2011-2-16 12:57:48 | 只看该作者
todaynew 发表于 2011-2-16 08:50
这个事情很简单嘛,你在主窗体上建一个按钮,然后写如下代码:
Private Sub 复制_Click()
Dim ctls A ...

我运行你的附件无法双击复制记录呢。

另外,登记日期不能复制,登记日期的默认值为date(),并且锁定,因为在输入工时时不准人为修改登记日期,并且这个登记日期是统计的基准。

我运行追加查询后,然后打开表,结果复制在主窗体里的记录并没有保存在表中,表中显示的是空白记录。这是怎么回事呢。
23#
发表于 2011-2-16 09:40:58 | 只看该作者
回复 的帖子

这是截屏图。我们是先录入了基本数据,然后再添加名单。。

本帖子中包含更多资源

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

x
24#
 楼主| 发表于 2011-2-18 17:37:32 | 只看该作者
我想再问问,如果把子窗体换成列表框,列表框里选中的记录又如何双击复制呢?
25#
发表于 2011-2-18 18:37:31 | 只看该作者
本帖最后由 roych 于 2011-2-18 19:01 编辑

关于列表框的问题,小鱼游游和我都写了相关实例,自己找找看,别太懒了。
实例是修改记录的,但只要修改好SQL语句,同样可以作为追加记录来用。
学习Access,重要的是思考过程,要学会举一反三,否则收效甚微。
26#
 楼主| 发表于 2011-2-18 19:11:29 | 只看该作者
roych 发表于 2011-2-18 18:37
关于列表框的问题,小鱼游游和我都写了相关实例,自己找找看,别太懒了。
实例是修改记录的,但只要修改好 ...

关键是论坛上无法搜索指定用户的帖子来,比如我要搜索你的帖子,你的用户名roych ,我只能找到你的空间,却找不出你所发表的所有帖子来。
27#
发表于 2011-2-18 19:15:36 | 只看该作者
28#
发表于 2011-2-18 19:44:14 | 只看该作者
本帖最后由 todaynew 于 2011-2-18 19:45 编辑
简 发表于 2011-2-18 17:37
我想再问问,如果把子窗体换成列表框,列表框里选中的记录又如何双击复制呢?







Private Sub 表_AfterUpdate()
Dim i As Long
For i = 0 To Me.表.ColumnCount - 1
    Me.Controls(Me.表.Column(i, 0)).Value = Me.表.Column(i)
Next
End Sub

Private Sub 确定_Click()
Call 编辑(Me.选项.Value)
End Sub

Sub 编辑(num As Long)
Dim rs As New ADODB.Recordset
Dim ssql As String
Dim i As Long
ssql = "select * from tblGSdengji where 编号=" & Nz(Me.编号.Value, 0)
rs.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If num = 1 Then
    rs.AddNew
End If
For i = 1 To rs.Fields.Count - 1
    rs(i).Value = Me.Controls(rs(i).Name).Value
Next
rs.Update
rs.Close
Set rs = Nothing
Me.表.Requery
End Sub

本帖子中包含更多资源

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

x
29#
发表于 2011-2-18 19:48:29 | 只看该作者
注意:列表框设置时需要选列标题为是,这样才能用Me.表.Column(i, 0)来读取列名称。
30#
发表于 2011-2-19 11:40:03 | 只看该作者
回复 todaynew 的帖子

批评老汉一句,这样可不行,不能过于宠着版友,要逐步培养他们独立思考问题的能力。
坛子上有很多东西只需要稍作修改就可以达到目的的实例,可以让他们下载后调试,不对的地方再提出,这样才有助于他们学好Access。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 19:30 , Processed in 0.076971 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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