Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

请教,如何用获取一个窗体中子数据表中另一个关系子表光标定位处的数据

allan  发表于:2020-02-22 10:06:48  
复制

点击下载此附件

图片和附件我已上传,目前只能实现获取子数据表中鼠标定位处的数据,众所周知,一个数据表一旦与另一个表建立了关系,就会在记录前面显示加号,展开关系子表的对应记录。

现在想要实现鼠标定位到这个关系子表,然后用vba获取该行销售明细ID字段的值。要求不使用子窗体,要使用窗体中的子数据表,因为子窗体没有像数据表那样在一条记录上点击加号查看子表的功能

 

Top
西出阳关无故人 发表于:2020-02-23 12:00:09

无法上传附件,所以给代码如下:

Private Sub 获取ID_Click()
 On Error Resume Next '如果子数据表不展开,会出现错误,所以...
 '把两个子表均做成实体对象窗体,并命名为:货品销售表子窗体;货品销售明细表子窗体
 '货品销售表子窗体和主窗体的链接字段设为空,主窗体的数据源设为空
 '货品销售表子窗体/货品销售明细表子窗体的链接主子字段均设为"销售id"
 
 Dim frm As Form
        Set frm = Me.货品销售表子窗体.Controls("货品销售明细表子窗体").Form
        CurrentId = Nz(frm.货品销售明细ID, 0)
    MsgBox CurrentId
End Sub




allan 发表于:2020-02-23 23:44:14

谢谢版主大人,但我是新手,没完全理解做法,还是失败,如图,如果可以,可以修改我的附件发到邮箱吗,万分感谢 35160144@qq.com






西出阳关无故人 发表于:2020-02-24 08:21:44
allan 发表于:2020-02-24 11:24:04
问题解决,十分感谢,不过目前还存在BUG就是,一旦在父级记录展开的情况下,鼠标仍定位在父级记录时,获取ID报了一下错,以后即使定位到该记录的子记录,就再也获取不到子记录的值了

总记录:4篇  页次:1/1 9 1 :