设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 【求助】双子窗体 数据传送问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-1-9 01:15:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主窗体有两个子窗体,想通过双击功能解决以下两个问题:
1,双击A子窗体中的某字段后,能将A子窗体中的两个字段合并后插入到B子窗体的某字段
2,双击A子窗体中的日期字段后,能将此日期的月份减少2个月后插入到B子窗体中的某 两个日期字段

代码该如何写,有人能帮忙写下吗?小弟新手,对代码不熟

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-1-9 07:48:26 | 只看该作者
问题一
Private Sub 字段2_DblClick(Cancel As Integer)
    Dim strFldVal As String
    Dim strWhere As String
    Dim strSQL As String
    If Not NewRecord Then
        strFldVal = Me.字段4 & " " & Me.字段2
        strWhere = "编号=" & Me.编号
        strSQL = "update 表2 set 字段2='" & strFldVal & "' where " & strWhere
        CurrentDb.Execute strSQL
        Me.Parent.表2_子窗体.Requery
    End If
End Sub
3#
发表于 2009-1-9 07:54:58 | 只看该作者
问题二
Private Sub 字段4_DblClick(Cancel As Integer)
    Dim dtmDate As Date
    Dim strWhere As String
    Dim strSQL As String
    If Not NewRecord Then
        dtmDate = DateAdd("m", -2, Me.字段4)
        strWhere = "编号=" & Me.编号
        strSQL = "update 表2 set 字段3=#" & dtmDate & "#,字段4=#" & dtmDate & _
                 "# where " & strWhere
        CurrentDb.Execute strSQL
        Me.Parent.表2_子窗体.Requery
    End If
End Sub
4#
发表于 2009-1-9 07:55:33 | 只看该作者
建议一步到位,直接双击记录,没有必要分成两步完成。
5#
发表于 2009-1-9 08:02:10 | 只看该作者
原帖由 Henry D. Sy 于 2009-1-9 07:55 发表
建议一步到位,直接双击记录,没有必要分成两步完成。

  1. Function DblRecord()
  2.     Dim strFldVal As String
  3.     Dim strWhere As String
  4.     Dim strSQL As String
  5.     Dim dtmDate As Date
  6.     If Not NewRecord Then
  7.         strFldVal = Me.字段4 & " " & Me.字段2
  8.         dtmDate = DateAdd("m", -2, Me.字段4)
  9.         strWhere = "编号=" & Me.编号
  10.         strSQL = "update 表2 set 字段2='" & strFldVal & "',字段3=#" & dtmDate & _
  11.                  "#,字段4=#" & dtmDate & "# where " & strWhere
  12.         CurrentDb.Execute strSQL
  13.         Me.Parent.表2_子窗体.Requery
  14.     End If
  15. End Function

  16. Private Sub Form_Load()
  17.     Dim ctl As Control
  18.     For Each ctl In Me.Controls
  19.         If TypeOf ctl Is TextBox Then
  20.             ctl.OnDblClick = "=DblRecord"
  21.         End If
  22.     Next
  23. End Sub
复制代码

[ 本帖最后由 Henry D. Sy 于 2009-1-9 08:03 编辑 ]
6#
发表于 2009-1-9 13:05:51 | 只看该作者
DDDD

评分

参与人数 1经验 -10 收起 理由
Henry D. Sy -10 恶意灌水

查看全部评分

7#
 楼主| 发表于 2009-1-13 11:09:38 | 只看该作者
谢谢!Henry D. Sy
我用单步的调试可以完成双击单击功能
但是用一步到位的,那段代码该放在哪个窗体里,我测试了表窗体,表1子窗体均不行,应该是方法不对
如果窗体1中添加一个按钮,单击按钮后能一步到位方式完成上述两个问题吗?
帮忙指点下!

[ 本帖最后由 cslrhyl 于 2009-1-13 11:32 编辑 ]
8#
发表于 2009-1-13 14:16:43 | 只看该作者
原帖由 cslrhyl 于 2009-1-13 11:09 发表
谢谢!Henry D. Sy
我用单步的调试可以完成双击单击功能
但是用一步到位的,那段代码该放在哪个窗体里,我测试了表窗体,表1子窗体均不行,应该是方法不对
如果窗体1中添加一个按钮,单击按钮后能一步到位方式完成 ...


没下载,但好像问题是两个子窗体之间操作的问题。
一般来说你要是想me一家伙,是可以找到本窗体控件的,但是不能找到其他窗体的控件。不过没关系,你就不me了,直接用forms![窗体]![控件]的方式操作其他窗体控件。
9#
发表于 2009-1-13 19:48:46 | 只看该作者
当然是将代码放在你要双击的窗体上
不用按钮,直接双击记录
10#
发表于 2009-1-13 19:48:51 | 只看该作者
当然是将代码放在你要双击的窗体上
不用按钮,直接双击记录
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-28 16:03 , Processed in 0.135808 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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