返回列表 上一主題 發帖

[發問] VBA 表單功能發問

[發問] VBA 表單功能發問

各位前輩, 小弟想建立一個表單式功能的程式設計
內含功能有   建立資料/編輯資料/查詢資料 等功能應用

建立資料
1. 機台號碼欄位只能輸入 兩個數字
2. 製程類別只能點選一個
3. 厚度只能輸入 三個數字
4. 回溫日期 四個數字 MMDD
5. ID 則是 4個文字或數字都可以
6. 按下建立條碼後資料會跑到Excel Database 對應的欄位
    A欄位=Now()
7. 按下建立條碼後會產生一個序號在Database G欄位
規則如下面圖片, 生產日= Now 的MMDD, 之後依序合併起來成為一組序號, 後兩碼流水號是避免當天會有重複條件


編輯資料
1.輸入序號列會帶出該筆資料的資訊
2.文字方塊未輸入序號無法輸入資料, 序號有輸入後才可以編輯資料
3.編輯完成就更新Excel Database資料



查詢資料
1.查詢資料只能查詢不能修改資料
2.輸入序號碼就可以帶出資訊


查詢過期
1. Excel E欄位 +90Days 超過會顯示出來清單內


取出資料
1.輸入條碼序號會顯示該序號的下列資訊
2.輸入MH ID , 會把該序號從Database轉換到 MH Database的資料表 ,MH Database" I欄位" Now()


列印條碼
1.是否能將產生出來的條碼序號轉換成條碼文字格式
2.列印長度 6CM 寬度 1CM

條碼列印.rar (32.02 KB)

回復 2# singo1232001


    感謝大大的幫忙...小弟我自己也努力在看看其他有哪些功能是自己可以新增的!! 目前還卡關中

TOP

回復 4# 准提部林


    抱歉版大..沒敘述清楚, 感謝版大的協助
     1.右邊一字是 "0"  這部分我修改過了
     2."回溫日期" 與 建立日期有何關係???   回溫日期用途在建立產品從冷凍庫拿出後3個月內有效期限,
                                                                                所以A 產品可能在1/8第一次回溫,
                                                                                B產品在2/28使用相同冷凍品(期限尚未過)  ,
                                                                                C 產品在4/10要使用時就不能用, 已超過三個月有效期限

     3."回溫日期" 若只有 "mmdd" ,沒年份..如何判斷過期??? 當初考量不周...因為條碼產生字串太長, 條碼機無法掃...這點有曾想過...但不知道從程式可不可以篩選, 所以才留MMDD

TOP

回復 6# 准提部林


    建立日期為何需要加時間
     因為工廠24小時運作需要知道哪一個時間點生產的資料
     1. 感謝版大的建議, 當時確實很苦惱這個問題, 因為YYYY/MM/DD 沒有想到這個多 , 版大又幫我想到2月有潤月的問題
     2. 回溫日期小於建立日期(甚至判斷天數是否正確, 如:至少要差30天) , 目前生產過程中有一些例外, 所以暫時不將這個判斷在內, 除非有過期材料, 也就是回溫日+90天
     3.今天嘗試將版大的程式再套入『編輯資料』『取出資料』功能表中, 其中『編輯資料』不知道如何把OptionButton叫出來, 然後按下編輯完成後, 更新該筆資料


     4.『取出資料』功能表中 , 新增取出前先輸入要取出的厚度, 再透過條碼去判斷, 取出來的厚度是否正確, 擔心拿錯條碼厚度, 在成是撰寫中, 查詢到條碼, 不知道怎麼把資料從Database資料頁, 搬到MH Database資料頁
     
  附件是利用版大的程式在延伸
Xl0000359-01.rar (54.18 KB)

TOP

回復 8# 准提部林


    感謝版大的幫忙,這幾天測試了之後功能都正常, 唯獨有修改了日期的卡控(要大於今日)
   
     取出功能能請板大協助幫忙
   

     ”取出資料”功能中, 輸入要取出的資料比對輸入條碼的厚度要一樣才能取出
    之後記錄取出人ID 與 使用產品 ID
    資料會從"Database"資料頁 跳到"MH Database"資料頁
    使用產品固定長度 7碼數字+"-"+SA"數字"."數字"
     ex : 1234567-SA0.1  紅色=固定格式
   




Xl0000359-02.rar (57.23 KB)

TOP

回復 13# 准提部林


    感謝大大的協助, 再請問大大一下, 如果取出要把Database的資料移到MHdatabase 要加哪一段程式碼?
   意思就是兩個資料頁只會留一筆序號碼 ( 目前兩個資料頁都會存在)

TOP

回復 15# 准提部林


    不好意思版大!!看到了, 也修改過來了!! 感謝幫忙
    因為目前還想不到列印條碼的介面..所以只好先檢單的設定列印的方式
   目前只能先將建立好的資訊先寫一個檢單的列印格式在資料頁『條碼列印』在模組內的Module2 (欄寬/字體格式)

   但因條碼機需要將字串前後加上『*』 才讀出來
    可以請教如何在建立資料的同時也在資料欄『條碼列印』B2欄位也新增剛剛建立的條碼序號但前後要加上『*』
    e.g *02031566546*


條碼建立&列印.rar (114.56 KB)

TOP

回復 17# 准提部林


    感謝版大幫忙,另請問一下請問選擇欄有預設值嗎?目前測試到第300筆資料後,無法跳到第301筆資料以後

TOP

回復 17# 准提部林


    找到問題了已修改,我再測試一下

TOP

回復 17# 准提部林

1.版大你好, 我有在新增一個WGP製程, 但在執行查詢的時候有跳出一個錯誤, 『陣列引索超出範圍』, 我有再程式碼多加"WGP" 但還是錯誤, 請問需要修改在哪邊呢?
  1. Private Sub CommandButton2_Click()
  2. Dim T$, xF As Range, V%
  3. Call 清除_查詢值: xChk = 0
  4. T = TextBox5.Text
  5. If T = "" Then MsgBox "*條碼序號未輸入! ": Exit Sub
  6. If Len(T) <> 16 Then MsgBox "*條碼序號輸入不完整或超過16個字元! ": Exit Sub
  7. Set xF = Sheets("Database").Range("G:G").Find(T, Lookat:=xlWhole)
  8. If xF Is Nothing Then MsgBox "*找不到目標! ": Exit Sub
  9. Set xF = xF(1, -5)
  10. V = InStr("+H0D", xF(1, 3)) - 1
  11. Lab_A1 = Array("", "WGH", "WG0", "WGD", "WGP")(V)
  12. Lab_A2 = xF(1, 4)
  13. Lab_A3 = xF(1, 5)
  14. xChk = 1
  15. End Sub
複製代碼
2. 版大先前在前面幾篇的回覆中有提到如果需要計算過期日期, 需要再輸入時加上年份, 但目前看起來輸入值是文字, 這樣能再Database中H欄位計算D+90的過期日嗎?
條碼系統.rar (326.21 KB)

TOP

        靜思自在 : 發脾氣是短暫的發瘋。
返回列表 上一主題