台灣最大程式設計社群網站
線上人數
1318
 
會員總數:242945
討論主題:187841
歡迎您免費加入會員
討論區列表 >> ACCESS >> 如何用access vba寫出連續資料的查詢在表單內顯示
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何用access vba寫出連續資料的查詢在表單內顯示
價值 : 50 QP  點閱數:287 回應數:4

樓主

alex
初學者
50 1
40 5
發送站內信

一般來說都是用以下這種語法
Me.Form.Filter = "[識別碼] = " & rst("識別碼") & ""
Me.Form.FilterOn = True
Me.Form.Requery

但如果希望用vba的do while迴圈來取出連續資料並放入表單內並設定好資料欄位全部顯示可以跟上面一樣要如何做?
因每次試都只出現一筆資料

strSQL = "select * from tb1 where 識別碼 = " & Me.識別碼 & ""
Set rst = New ADODB.Recordset
rst.Open strSQL, CurrentProject.Connection
While Not rst.EOF
me.a = rst("a")
me.b = rst("b")
me.c = rst("c")

rst.MoveNext
Wend

搜尋相關Tags的文章: [ access vba ] ,
本篇文章發表於2018-04-25 15:36
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
您要的答案不難,但題目卻很難
如果您要出現多筆,選連續表單即可

但因您 strSQL = "select * from tb1 where 識別碼 = " & Me.識別碼
只會選出一筆而已,所以連續表單無效
---------------------------
您的觀念還有很多要調整的,因不知您要什麼,答案真的不難的
本篇文章回覆於2018-04-25 16:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

kib72377
檢舉此回應
首先, 預設檢視方法 DefaultView ,
要設成 Continuous Forms 顯示多筆記錄,
或 Datasheet 顯示被安排成行列式的表單欄位 ;

若是設成 單一表單 Single Form (預設值)。那就永遠一次顯示一筆記錄,
本篇文章回覆於2018-04-30 11:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

alex
檢舉此回應
上面說的都是用表單的屬性設定方式

我指的是用access vba在表單內產生連續資料的欄位顯示
假設tb1資料表內有3筆資料,tb1的資料表有三個欄位a,b,c

strSQL = "select * from tb1"
Set rst = New ADODB.Recordset
rst.Open strSQL, CurrentProject.Connection
While Not rst.EOF
me.a = rst("a")
me.b = rst("b")
me.c = rst("c")

rst.MoveNext
Wend

這樣是只能顯示一筆
為何希望可以在表單內顯示多筆的用意是
在每筆資料後面可做某欄位的條件判斷
去決定是否出現按鈕或計算值(d1)

表單出現如下:
a1,b1,c1,d1
a2,b2,c2,d2
a3,b3,c3,d3

第一筆資料
假如a1+b1 > c1 則d1出現按鈕
如果a1+b1 < c1 則d1出現 a1+b1的值
如果a1+b1 = c1 則空白
同樣另外兩筆也是依ˋ照此條件來做判斷

不知道這樣問題的說明是否清楚?
本篇文章回覆於2018-05-24 15:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

kib72377
檢舉此回應
@@ 出現按鈕 ; 與 出現 a1+b1的值 或 空白; @@

兩種不同類物件呈現方式,
form(連續表單顯示方式時) 無能力做,

但是,
report可以.
本篇文章回覆於2018-05-25 16:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.