設為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

12下一頁
返回列表 發(fā)新帖
查看: 5005|回復: 11
打印 上一主題 下一主題

[模塊/函數(shù)] 導入Execl示例,碰到困難,請教如何設置子窗體中文本框的數(shù)據(jù)源?

[復制鏈接]

點擊這里給我發(fā)消息

跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2009-12-31 16:05:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
要求與遍歷得到的查詢字段名稱一一對應。不可直接將文本框綁定,因為我想做成一個活動的。
見附件!

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2009-12-31 16:18:26 | 只看該作者
實例沒看明白想解決什么問題。
控件來源用me.text1.ControlSource設置;
控件值用me.text1.value設置。

點擊這里給我發(fā)消息

3#
 樓主| 發(fā)表于 2009-12-31 16:36:37 | 只看該作者
思路是:
   1。 查詢一個EXCEL表格內(nèi)容,QryExcel導入
   2。 子窗體的來源為該查詢
   3。 將子窗體中的文本控件分別與查詢中的字段名相對應。方便查看。
   4。 。。。。。。。接下來就可做成活動的導入工具。

點擊這里給我發(fā)消息

4#
 樓主| 發(fā)表于 2009-12-31 16:48:12 | 只看該作者
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
     
Next Flt

'關閉記錄集并釋放對象占用空間
rs.Close
Set rs = Nothing
5#
發(fā)表于 2009-12-31 17:11:31 | 只看該作者
本帖最后由 todaynew 于 2009-12-31 17:16 編輯

試試:
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

如果子窗體數(shù)據(jù)源沒有設置還應該加一句設置窗體數(shù)據(jù)源的語句

點擊這里給我發(fā)消息

6#
 樓主| 發(fā)表于 2009-12-31 17:44:13 | 只看該作者
這樣還是不行,子窗體中的所有文本來源全是最后一個字段。我再想想。

上面一個按鈕就是將左邊的EXCEL文件指定的范圍作為查詢來源的。

我就想這樣比較靈活,方便檢查導入的EXCEL數(shù)據(jù)與需要的數(shù)據(jù)是不是存在結(jié)構上的不對。
7#
發(fā)表于 2009-12-31 18:30:48 | 只看該作者
本帖最后由 todaynew 于 2009-12-31 18:44 編輯
這樣還是不行,子窗體中的所有文本來源全是最后一個字段。我再想想。

上面一個按鈕就是將左邊的EXCEL文件指定的范圍作為查詢來源的。

我就想這樣比較靈活,方便檢查導入的EXCEL數(shù)據(jù)與需要的數(shù)據(jù)是不是存在結(jié)構 ...
heqing3000 發(fā)表于 2009-12-31 17:44

呵呵,看了看代碼,應該如此。內(nèi)層循環(huán)應該取消。

試試:
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

點擊這里給我發(fā)消息

8#
 樓主| 發(fā)表于 2009-12-31 18:47:02 | 只看該作者
本帖最后由 heqing3000 于 2009-12-31 18:48 編輯

呵呵,老樣子,我改了一下子窗體數(shù)據(jù)源,這樣就能發(fā)現(xiàn)問題了。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x

點擊這里給我發(fā)消息

9#
 樓主| 發(fā)表于 2009-12-31 20:30:55 | 只看該作者
todaynew  的方法還是不行, 我現(xiàn)在搞好了,上傳上來分享一下。多謝論壇上的大哥大姐們。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
10#
發(fā)表于 2009-12-31 20:37:12 | 只看該作者
todaynew  的方法還是不行, 我現(xiàn)在搞好了,上傳上來分享一下。多謝論壇上的大哥大姐們。41051
heqing3000 發(fā)表于 2009-12-31 20:30

自己解決得來更深刻,呵呵。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 08:33 , Processed in 0.123646 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表