- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
20#
發表於 2016-10-20 05:42
| 只看該作者
本帖最後由 GBKEE 於 2016-10-20 05:54 編輯
回復 19# v03586
回溫使用期限點兩下變成1899年...
修改這裡- Sub 放入冰箱() 'Input 冰箱 (資料存入『Database-冰箱』)
- Set Sh = Sheets("Database-冰箱")
- 回溫後使用期限 = Now + 2 '**給值
- Com_Title = " [ 放入冰箱 ]"
- Form_InPut.Show
- End Sub
複製代碼- If T = 3 Or T >= 6 And T <> UBound(Text_Ar) Then Text_Ar(T + 1).SetFocus
- '** 1工號 , 2層架編號 , 4LOT, 5PCS **不設格式不跳到下一輸 入控制項
- '**3Film P/N , 6回溫後使用期限, 7膠紙製造日 8 膠紙到期日 **'跳到下一輸 入控制項
- '** 9 放入時間=>Text_Ar(T + 1).SetFocus 會有錯誤的
複製代碼 工號 跟 層架編號.... 解除限制- Private Sub TextBox1_Change() '** 控制項有變動 : 程式作用 資料格式 的檢查
- '**不限制格式
- TheMsg 1, Trim(TextBox1) <> "" '不限制格式
- End Sub
複製代碼 設定條碼格式- Private Sub TextBox7_Change()
- '格式 條碼 8 位數
- Dim St(1 To 2) As String, Msg As Boolean, Ar
- St(1) = Trim(TextBox7)
- Msg = Len(St(1)) = 8 And IsNumeric(St(1)): If Not Msg Then GoTo Ne
- St(2) = Mid(St(1), 1, 4) & "/" & Mid(St(1), 5, 2) & "/" & Mid(St(1), 7, 2)
- Msg = IsDate(St(2)): If Not Msg Then GoTo Ne '**日期正確
- Msg = DateValue(St(2)) < Date: If Not Msg Then GoTo Ne '**膠紙製造日必小於當日
- Ne:
- TheMsg IIf(Label6.Enabled, 7, 6), Msg
- End Sub
- Private Sub TextBox8_Change()
- '格式 條碼 8 位數
- Dim St(1 To 3) As String, Msg As Boolean, Ar
- St(1) = Trim(TextBox8)
- Msg = Len(St(1)) = 8 And IsNumeric(St(1)): If Not Msg Then GoTo Ne
- St(2) = Mid(St(1), 1, 4) & "/" & Mid(St(1), 5, 2) & "/" & Mid(St(1), 7, 2) '膠紙到期日
- Msg = IsDate(St(2)): If Not Msg Then GoTo Ne
- Msg = Text_Msg(IIf(Label6.Enabled, 7, 6)): If Not Msg Then GoTo Ne '膠紙製造日是否正確
- St(3) = Trim(TextBox7)
- St(3) = Mid(St(3), 1, 4) & "/" & Mid(St(3), 5, 2) & "/" & Mid(St(3), 7, 2) '**'膠紙製造日
- Msg = DateValue(St(2)) > DateValue(St(3)) '**膠紙到期日必大於膠紙製造日
- Ne:
- TheMsg IIf(Label6.Enabled, 8, 7), Msg
- End Sub
- '**設定條碼格式 後需修改
- Private Sub ComButton_Click() '**控制項的事件 (按下控制項)
- Dim i As Integer, XR As Integer
- If MsgBox(Join(Text_Ar, vbLf), vbYesNo, " ** 確定 " & Com_Title & " **") = vbYes Then
- '**Join 函數 傳回一個字串 , 該字串是透過連結某個陣列中的多個子字串而建立的
- XR = Application.CountA(Sh.[A:A])
- With Sh.Range("A" & XR).Offset(1)
- For i = 1 To UBound(Text_Ar) '**UBound 函數 傳回 Long值,表示指定陣列某維最大可使用的陣列索引。
- If InStr(Sh.Name, "冰箱") And (i = 6 Or i = 7) Then
- .Cells(1, i) = Mid(Text_Ar(i), 1, 4) & "/" & Mid(Text_Ar(i), 5, 2) & "/" & Mid(Text_Ar(i), 7, 2)
- ElseIf InStr(Sh.Name, "冰箱") = 0 And (i = 7 Or i = 8) Then
- .Cells(1, i) = Mid(Text_Ar(i), 1, 4) & "/" & Mid(Text_Ar(i), 5, 2) & "/" & Mid(Text_Ar(i), 7, 2)
- Else
- .Cells(1, i) = UCase(Text_Ar(i).Text) '**UCase 函數 傳回一個 Variant (String),所含為轉成大寫之字串。
- End If
- Next
- End With
- DataBase_Show
- End If
- ListBox1_Change
- End Sub
複製代碼 |
|