标题: 导入Execl示例,碰到困难,请教如何设置子窗体中文本框的数据源? [打印本页] 作者: heqing3000 时间: 2009-12-31 16:05 标题: 导入Execl示例,碰到困难,请教如何设置子窗体中文本框的数据源? 要求与遍历得到的查询字段名称一一对应。不可直接将文本框绑定,因为我想做成一个活动的。
见附件![attach]41046[/attach]作者: todaynew 时间: 2009-12-31 16:18
实例没看明白想解决什么问题。
控件来源用me.text1.ControlSource设置;
控件值用me.text1.value设置。作者: heqing3000 时间: 2009-12-31 16:36
思路是:
1。 查询一个EXCEL表格内容,QryExcel导入
2。 子窗体的来源为该查询
3。 将子窗体中的文本控件分别与查询中的字段名相对应。方便查看。
4。 。。。。。。。接下来就可做成活动的导入工具。作者: heqing3000 时间: 2009-12-31 16:48
Dim rs As DAO.Recordset
Dim Flt As Field
Dim Flt1 As Field
'定义返回对象实例
Set rs = CurrentDb.OpenRecordset("QryExcel导入")
'遍历字段集合,列出所有字段
For Each Flt In rs.Fields
Dim ctl As Control
'遍历子窗体上的控件,并将Flt依次指定给其做为来源,这里搞不定???????
For Each ctl In Me.子窗体.Form.Controls
If ctl.ControlType = acTextBox Then
Me.子窗体.Form.ctl.ControlSource = Flt.Name
End If
Next ctl
试试:
Dim rs As DAO.Recordset
Dim Flt As Field
Dim ctls As Controls
Dim ctl As Control
Set rs = CurrentDb.OpenRecordset("QryExcel导入")
set ctls=Me.子窗体.Form.Controls
For Each Flt In rs.Fields
For Each ctl In ctls
If ctl.ControlType = acTextBox Then
ctl.ControlSource = Flt.Name
End If
Next ctl
Next Flt
rs.Close
Set rs = Nothing
试试:
Dim rs As DAO.Recordset
Dim Flt As Field
Dim ctls As Controls
Dim i As long
Set rs = CurrentDb.OpenRecordset("QryExcel导入")
set ctls=Me.子窗体.Form.Controls
i=0
For Each Flt In rs.Fields
i=i+1
If ctl.ControlType = acTextBox Then
clts(i).contrsource= Flt.Name
End If
Next Flt
rs.Close
Set rs = Nothing作者: heqing3000 时间: 2009-12-31 18:47 本帖最后由 heqing3000 于 2009-12-31 18:48 编辑