台灣最大程式設計社群網站
線上人數
1647
 
會員總數:243176
討論主題:187991
歡迎您免費加入會員
討論區列表 >> ACCESS >> Access 如何使用VBA自動計算並新增一個欄位
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Access 如何使用VBA自動計算並新增一個欄位
價值 : 50 QP  點閱數:448 回應數:13

樓主

大頭賢
門外漢
0 2
64 5
發送站內信



各位大大好:
小弟碰到一個問題如下說明:
A欄位(長文字),存放的值有義意 -> 我希望能夠透過A欄位"另存一個值"做Group by
例如:A欄位為1070226A000,裡面有A,我就自動另存一個分類欄位(長文字)A -> 因為如此我才能用此分類欄位去做Group by統計
這個在Access要怎麼做呢?




搜尋相關Tags的文章: [ 新增欄位 ] ,
本篇文章發表於2018-02-26 12:43
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
看沒你的題目
只能說你的題目比答案難

能舉實例來說明嗎?


本篇文章回覆於2018-02-26 22:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

P陳
檢舉此回應
不必那麼麻煩 以下請參考

SELECT Mid([A欄位],8,1) AS Expr1, Count(A欄位) AS A筆數
FROM table1
GROUP BY Mid([A欄位],8,1);

本篇文章回覆於2018-02-27 10:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

大頭賢
檢舉此回應
謝謝您的回復^^
用mid可能不行~因為key欄位不太固定@@...也有可能打成107226A0001
有可能1070226A0001,也有可能1070226AB001,要抓的值也可能會是2個數字
小弟就是想把key欄位做分群計算,但是一個A類別我只會做單一SQL...
SELECT ...
FROM ...
WHERE (( ([欄位].key) Like "*A*" And ([欄位].key) Not Like "*AB*"));

所以才希望多一個欄位存類別,然後用此欄位做Group by計算,如
1070226A0001 -> 存入後 -> 自動存入一個設好的分類欄位為A
1070226AB001 -> 存入後 -> 自動存入一個設好的分類欄位為AB

或著有更好的做法嗎?
本篇文章回覆於2018-02-27 14:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

P陳
檢舉此回應
位置不固定 長度不固定,那您要如何自動
A0001 您用A類 來處理

AB001 的算不算 A類

您要的不難 但要自動則很難
本篇文章回覆於2018-02-27 23:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

P陳
檢舉此回應
要寫 Function 來處理了
前後的數字去掉 留中間的英文 即是
本篇文章回覆於2018-02-28 08:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

大頭賢
檢舉此回應
A0001->A類

AB001->AB類

用SQL查詢"單一類"用SQL的like可完成,但想做的是分類統計報表...VBA不太熟..><

有參考範例嗎? 來研究看看~
本篇文章回覆於2018-03-01 10:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

kib72377
檢舉此回應
IIF(([欄位].key) Like "*AB*","AB",IIF(......))
本篇文章回覆於2018-03-01 13:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

P陳
檢舉此回應
範例當然有 模式也會有很多種
1.你要在什麼地方用 (表單、查詢)
2.要存那些東東,請先將您的 程式PO出來,我們好給範例
本篇文章回覆於2018-03-01 16:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

P陳
檢舉此回應
您的中間可能有一個或二個英文字?會有3個的嗎?
您要的答案不難,但模式狀況很多,

請將您寫好的程式PO,我們一段一段來

-----------題外話----------------

107111 是 1/11 或 是 11/1
107101 是1/10 或 10/1
????????????????????

本篇文章回覆於2018-03-01 16:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

大頭賢
檢舉此回應
我沒有寫VBA程式,因為不會XD,只有用到巨集
想做到的是
1070226A0001 -> 存入後 -> 自動存入一個已新增的分類欄位 為A
1070226AB001 -> 存入後 -> 自動存入一個已新增的分類欄位 為AB

不會,最多只會有2個英文數字。已經在資料庫裡的key欄位我會自己手動分類,以後應該不會有107226這情況->規則講好了,只怕沒照規則來又要特別處理
如果要自動分類我是要在After update裡面加VBA程式碼嗎?

本篇文章回覆於2018-03-01 16:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

P陳
檢舉此回應
那你的 1070226A0001 要在什麼地方打
您不是用表單登打嗎? 直接打在【查詢】或【資料表】嗎?

不會用 VBA 那學一下吧,如果要走這條路,早晚要學的

如果要自動分類我是要在After update裡面加VBA程式碼嗎? <-沒錯 看來就是用表單打了
規則講好了,只怕沒照規則來又要特別處理 <可以用輸入遮罩來限定
如果可以的去補習班學一下吧,自己摸則很浪費時間。

本篇文章回覆於2018-03-01 17:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

大頭賢
檢舉此回應
阿,我說錯了。我其實有用VBA,但是只是簡簡單的記下user登打的時間
在Before update中有加 Me![更新時間] = Now() ->只有用這加這行而已,因為真的不熟XD

對!!那編號就是user在表單打的^^
本篇文章回覆於2018-03-01 17:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

P陳
檢舉此回應
不管是自己要用還是公司用的,請圥自我提昇吧
看起來您要加強的還有 資料庫正規化、查詢、表單、報表.........

1.去補習班上課
2.在這找位順眼的前輩請他針對您的需求,設計課程

這樣您才能快速提昇。

雖然 Access 功能很強大,好學好用,但你還是會用的很痛苦。

再來只是看誰出錢的問題而已。
本篇文章回覆於2018-03-01 20:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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