Access交流中心

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

[5分]如何在在子窗体选定记录的字段打勾

心蓝  发表于:2013-05-26 20:16:10  
复制

如何在在子窗体选定记录的字段打勾子窗体打勾

 

Top
我的ACCESS 发表于:2013-05-26 20:59:30

试试?

Private Sub 审核_Click()
    Me.Child0!审核 = "√"
End Sub




心蓝 发表于:2013-05-26 21:43:45
如果子窗体记录集类型为 快照 呢 二楼的方法就不能用了, 记录集类型为 动态集 是可以用的

心蓝 发表于:2013-05-26 21:52:57

Private Sub 审核_Click()
    Me.Child0.Form.RecordsetType = 0
    Me.Child0!审核 = "√"
    Me.Child0.Form.RecordsetType = 2
End Sub

记录集类型为 快照 的话,最上一条记录有效,下面的记录都无效,麻烦各位老师帮忙看下

 



恐龙 发表于:2013-05-27 09:32:16
Private Sub 审核_Click()
Dim sql As String
sql = "UPDATE 表1 SET 表1.审核= '√' "
DoCmd.SetWarnings False
DoCmd.RunSQL sql
End Sub

心蓝 发表于:2013-05-27 09:49:30
恐龙,你把整个审核字段都打上 '√' 了

恐龙 发表于:2013-05-27 10:10:38

 

Private Sub 审核_DblClick(Cancel As Integer)
 Me!审核 = "√"
End Sub



心蓝 发表于:2013-05-27 10:34:07

很明显不行了,Me!审核 不是子窗体里的审核字段



恐龙 发表于:2013-05-27 14:40:00

Option Compare Database
Dim i0 As Long, n As Long

 

Private Sub 审核_Click()
Dim i As Long, j As Long
Dim ctls As Controls, ctl As Control
Set ctls = Me.子窗体.Form.Controls
For i = 0 To n - 1
    Me.子窗体.Form.SelTop = i0 + i
    For Each ctl In ctls
            If ctl.ControlType <> acLabel Then
            Forms.frmopen.子窗体.Form.审核.Value = "√ "
        End If
    Next ctl
    Me.子窗体.Form.Recalc
Next
End Sub



恐龙 发表于:2013-05-27 15:37:53
心蓝 发表于:2013-05-27 15:41:18

没能实现啊,恐龙,还是谢谢您



恐龙 发表于:2013-05-27 15:49:33

动态集
(默认值)对基于单个表或基于具有一对一关系的多个表的绑定控件可以编辑。对于与具有一对多关系的表中的字段绑定的控件,不能编辑位于关系中的“一”方的联接字段中的数据,除非允许表间的级联更新。有关详细信息,请参阅从查询中更新记录时主题中的有关解释。(通俗的说就是:可以看,也可以更改数据)
动态集(不一致的更新)
所有绑定到其字段的表和控件都可以编辑
快照
绑定到其字段的表和控件都不能编辑 (通俗的说就是:只能看,不能改数据)





沈军 发表于:2013-05-27 16:17:24
Private Sub 审核_Click()
     Forms!frmopen!Child0!审核 = "√"
End Sub



沈军 发表于:2013-05-27 16:19:31
Private Sub 审核_Click()
    If Forms!frmopen!Child0!审核 = "" Then
        Forms!frmopen!Child0!审核 = "√"
    Else
        Forms!frmopen!Child0!审核 = ""
    End If
End Sub



零智 发表于:2013-05-27 17:13:34

为了直观一点,建议把审核字段改成是否字段。

效果图:

审核按钮代码:

Private Sub 审核_Click()'本代码中的审核字段的数据类型为“是否”
     CurrentDb.Execute "UPDATE 表1 SET 审核=1 WHERE [记录ID]=" & Me.Child0!记录ID
     Me.Child0.Requery
End Sub

本来想一起把弃审功能给实现的,但是怕画蛇添足了。

�������ش˸���

 



殷小宝 发表于:2013-05-27 17:44:46
Private Sub 审核_Click()
    If IsNull(Me.Child0.Form.审核) Then
        Me.Child0.Form.审核 = "√"
    Else
        Me.Child0.Form.审核 = ""
    End If
End Sub

心蓝 发表于:2013-05-27 18:22:31

荣誉版主都来了,殷小宝老师和沈军老师的代码都非常好,但是都是在子窗体的记录集为动态集的情况下,那么记录集如果为快照的话,俩代码都不能用

零智老师的的方法很好,基本实现了这个功能,谢谢

不用是否字段,难道就没办法实现了吗

 



零智 发表于:2013-05-27 21:26:05

用不用是否字段都可以。

用是否字段判断真假,如果还是用"√",那就只能判断是否为NULL了。只要在代码中做相应的修改就可以。



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