2009-11-28 63 views
1

在连续子窗体中,我显示基于DISTINCT查询的记录。因为它是独特的,所以每一行都包含一个记录ID 而不是以连续形式标记记录

有没有人知道添加复选框(或类似)的方式,以便用户可以选择任何记录,然后通过代码创建新记录?

我更喜欢将子窗体用于列表,因为它具有许多列排序和过滤功能。

MTIA

回答

0

仅供参考,我决定使用Windows ListView OCX控件,因为它提供了为每行添加复选框的功能。

1

根据需要创建记录什么,这样的样本可能适合:

Function DisplaySelectedCompanyNames() 
    Dim i As Long 
    Dim F As Form 
    Dim RS As Recordset 

    '' Get the form and its recordset. 
    Set F = Forms![Customers1] 
    Set RS = F.RecordsetClone 

    '' Move to the first record in the recordset. 
    RS.MoveFirst 

    '' Move to the first selected record. 
    RS.Move F.SelTop - 1 

    '' Enumerate the list of selected records presenting 
    '' the CompanyName field in a message box. 
    For i = 1 To F.SelHeight 
    MsgBox RS![CompanyName] 
    RS.MoveNext 
    Next i 

End Function 

更多信息:http://support.microsoft.com/kb/208502

+0

不幸的是,这并不会帮助,因为用户然后被限制为连续的记录。另外,它并不特别直观。我正在尽一切可能以某种方式'标记'一个隐藏的字段 - '复选框'可以只是一个显示Wingding相关复选框字符的文本框。 我一直在尝试使用'行高亮'方法,其中一个未绑定的字段设置为其行号。这是每行中每个未绑定字段具有不同值(即,其行数)的情况。 只是似乎无法完成。 – maxhugen 2009-11-29 03:10:34

+0

我相当确信你无法获得任何与未绑定控件和连续表单。我想你可以将相关记录复制到主窗体上的列表框中作为选择记录时的值。 – Fionnuala 2009-11-29 11:42:02