返回列表 上一主題 發帖

[發問] 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)

回復 20# v03586


V = InStr("+H0DP", xF(1, 3)) - 1 這也要加"P"


D = CDate(format(20230130, "00-00-00")) '即可轉成日期
if D - Date < 90 then msgbox "已過期"

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

回復 17# 准提部林


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

TOP

回復 17# 准提部林


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

TOP

回復 16# v03586

用微調按鈕選擇條碼~~
Xl0000438-01.rar (122.56 KB)

TOP

回復 15# 准提部林


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

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


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

TOP

回復 14# v03586

這裡不是預留了一條代碼
'xF.EntireRow.Delete '刪除原資料(自行決定)
將單引號刪去即可

TOP

回復 13# 准提部林


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

TOP

回復 12# v03586

取出//
Xl0000359-03.rar (109.44 KB)

TOP

        靜思自在 : 人生沒有所有權,只有生命的使用權。
返回列表 上一主題