?? 設備運行_設備故障顯示.frm
字號:
Call Hfmrgs(CxbbGrid, GridCode, GridStr())
Case "szxsxm" '設置顯示項目
Call Szxsxm(CxbbGrid, GridCode)
End Select
End Sub
Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "ymsz" '頁面設置
Dyymctbl.Show 1
Case "yl" '預 覽
Call bbyl(True)
Case "dy" '打 印
Call bbyl(False)
Case "cx" '查 詢
Dev_MalfunctionFindForm.Show 1
Case "Bill" '單 據
Call CxbbGrid_DblClick
Case "xz" '新 增
If Not Security_Log("Dev_MalfunctionEdit", Xtczybm, 1, True) Then
Exit Sub
End If
Call Sub_AddBill
Case "sc" '刪 除
If Not Security_Log("Dev_MalfunctionEdit", Xtczybm, 1, True) Then
Exit Sub
End If
Call Sub_DeleteBill
Case "bz" '幫 助
Call F1bz
Case "fh" '退 出
Unload Me
End Select
End Sub
Private Sub Timer1_Timer() '在窗體激活后調入查詢程序
Timer1.Enabled = False
Xt_Wait.Show
Xt_Wait.Refresh
'加快顯示速度
CxbbGrid.Redraw = False
'生成查詢結果
Call Sub_Query(0)
CxbbGrid.Redraw = True
Xt_Wait.Hide
End Sub
Private Sub Sub_Query(Int_QueryType As Integer) '生成查詢結果(Define)
'過程參數:Int_QueryType 0-"點確定按鈕"查詢 1-"刷新"查詢
Dim Rec_Query As New ADODB.Recordset '查詢結果動態集
Dim Coljsq As Long '網格列計數器
Dim jsqte As Integer '臨時動態計數器
'以下為自定義部分[
If Int_QueryType = 0 Then '0-"點確定按鈕"查詢
With Dev_MalfunctionFindForm
'生成查詢條件
Str_QueryCondi = " where 1=1 "
For jsqte = 1 To 6
Select Case jsqte
Case 1
If Trim(.LrText(0).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " And Dev_V_Malfunction.MalfunCode>='" & Trim(.LrText(0).Text) & "'"
End If
Case 2
If Trim(.LrText(1).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " And Dev_V_Malfunction.MalfunCode<= '" & Trim(.LrText(1).Text) & "'"
End If
Case 3
If Trim(.LrText(2).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " And Dev_V_Malfunction.ArisesDate >= '" & Format(.LrText(2).Text, "yyyy-mm-dd") & "'"
End If
Case 4
If Trim(.LrText(3).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " and Dev_V_Malfunction.ArisesDate <= '" & Format(.LrText(3).Text, "yyyy-mm-dd") & "'"
End If
Case 5
If Trim(.LrText(4).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " and Dev_V_Malfunction.DeptCode = '" & (.LrText(4).Tag) & "'"
End If
Case 6
If Not .Opt_Check(0).Value Then
If .Opt_Check(1).Value Then
Str_QueryCondi = Str_QueryCondi & " and Dev_V_Malfunction.Checker='' "
Else
Str_QueryCondi = Str_QueryCondi & " and Dev_V_Malfunction.Checker<>'' "
End If
End If
End Select
Next jsqte
End With
Else
'1-"刷新"查詢
If Str_QueryCondi = "" Then
Str_QueryCondi = " where 1=2 "
End If
End If
Sqlstr = "select Dev_V_Malfunction.* from Dev_V_Malfunction" & _
Str_QueryCondi
Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
With Rec_Query
CxbbGrid.Rows = CxbbGrid.FixedRows
jsqte = CxbbGrid.FixedRows
Do While Not .EOF
CxbbGrid.AddItem ""
'[>>自定義填充內容
CxbbGrid.TextMatrix(jsqte, 0) = .Fields("MalfunctionID") '故障ID
CxbbGrid.TextMatrix(jsqte, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("MalfunCode")) '故障編號
CxbbGrid.TextMatrix(jsqte, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("DEVID") & "") '設備編號
CxbbGrid.TextMatrix(jsqte, Sydz("003", GridStr(), Szzls)) = Trim(.Fields("Dname") & "") '設備名稱
CxbbGrid.TextMatrix(jsqte, Sydz("004", GridStr(), Szzls)) = Trim(.Fields("Model") & "") '規格型號
CxbbGrid.TextMatrix(jsqte, Sydz("005", GridStr(), Szzls)) = Trim(.Fields("DeptName") & "") '部門名稱
CxbbGrid.TextMatrix(jsqte, Sydz("006", GridStr(), Szzls)) = Trim(.Fields("ConkPheno") & "") '故障現象
CxbbGrid.TextMatrix(jsqte, Sydz("007", GridStr(), Szzls)) = Trim(.Fields("RepairName") & "") '維修類別
CxbbGrid.TextMatrix(jsqte, Sydz("008", GridStr(), Szzls)) = Trim(.Fields("RprPosition") & "") '維修部位
CxbbGrid.TextMatrix(jsqte, Sydz("009", GridStr(), Szzls)) = Trim(.Fields("RepairUnit") & "") '維修單位
CxbbGrid.TextMatrix(jsqte, Sydz("010", GridStr(), Szzls)) = Val(.Fields("WorkHour")) '工時
CxbbGrid.TextMatrix(jsqte, Sydz("011", GridStr(), Szzls)) = Trim(.Fields("ConkOutCause") & "") '故障原因
CxbbGrid.TextMatrix(jsqte, Sydz("012", GridStr(), Szzls)) = Trim(.Fields("DealResult") & "") '處理結果
CxbbGrid.TextMatrix(jsqte, Sydz("013", GridStr(), Szzls)) = Format(.Fields("ArisesDate"), "yyyy-mm-dd") '維修日期
CxbbGrid.TextMatrix(jsqte, Sydz("014", GridStr(), Szzls)) = Val(.Fields("StopTime") & "") '停機臺時
CxbbGrid.TextMatrix(jsqte, Sydz("015", GridStr(), Szzls)) = Trim(.Fields("ListName") & "") '故障類型
CxbbGrid.TextMatrix(jsqte, Sydz("016", GridStr(), Szzls)) = Trim(.Fields("PersonName") & "") '操作人員
CxbbGrid.TextMatrix(jsqte, Sydz("017", GridStr(), Szzls)) = Trim(.Fields("Remark") & "") '備注
CxbbGrid.TextMatrix(jsqte, Sydz("018", GridStr(), Szzls)) = Trim(.Fields("Maker") & "") '制表人
CxbbGrid.TextMatrix(jsqte, Sydz("019", GridStr(), Szzls)) = Format(.Fields("MakerDate"), "yyyy-mm-dd") '制表日期
CxbbGrid.TextMatrix(jsqte, Sydz("020", GridStr(), Szzls)) = Trim(.Fields("Checker") & "") '審核人
'<<]
'設置數據行高度(Fixed)
CxbbGrid.RowHeight(jsqte) = Sjhgd
'動態集指針加1,同時將計數器加1(Fixed)
.MoveNext
jsqte = jsqte + 1
Loop
End With
']以上為用戶自定義部分
End Sub
Private Sub CxbbGrid_DblClick() '用戶雙擊網格調入相應單據
Dim RecTemp As New ADODB.Recordset '臨時使用動態集
'非數據行退出
If CxbbGrid.Rows = CxbbGrid.FixedRows Then Exit Sub
If CxbbGrid.Row < CxbbGrid.FixedRows Or Val(CxbbGrid.TextMatrix(CxbbGrid.Row, 0)) = 0 Then
Exit Sub
End If
Sqlstr = "SELECT MalfunctionID From Dev_V_Malfunction Where MalfunctionID=" & Val(CxbbGrid.TextMatrix(CxbbGrid.Row, 0))
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
With RecTemp
If .EOF Then
Tsxx = "此故障單已被其他用戶刪除!"
Call Xtxxts(Tsxx, 0, 4)
Exit Sub
Else
'調入單據處理窗體
With Dev_MalfunctionEditForm
'填充查詢單據標識
XT_BillID = CxbbGrid.TextMatrix(CxbbGrid.Row, 0)
Xtcdcsfz = Str_QueryCondi
'設置單據處理為列表查詢(修改)狀態
Xtcdcs = "2"
.Show 1
End With
If Xtfhcs = "1" Then
Tsxx = "故障單發生變化,是否刷新故障單列表?"
Yhanswer = Xtxxts(Tsxx, 2, 2)
If Yhanswer = 1 Then
Xt_Wait.Show
Xt_Wait.Refresh
'加快顯示速度
CxbbGrid.Redraw = False
'生成查詢結果
Call Sub_Query(1)
CxbbGrid.Redraw = True
Xt_Wait.Hide
End If
End If
End If
End With
End Sub
Private Sub Sub_AddBill() '新增單據
With Dev_MalfunctionEditForm
'設置單據處理為填制單據狀態
Xtcdcs = "1"
.Show 1
End With
If Xtfhcs = "1" Then
Tsxx = "故障單發生變化,是否刷新故障單列表?"
Yhanswer = Xtxxts(Tsxx, 2, 2)
If Yhanswer = 1 Then
Xt_Wait.Show
Xt_Wait.Refresh
'加快顯示速度
CxbbGrid.Redraw = False
'生成查詢結果
Call Sub_Query(1)
CxbbGrid.Redraw = True
Xt_Wait.Hide
End If
End If
End Sub
Private Sub Sub_DeleteBill() '刪除選中當前單據
Dim YAnswer As Integer
Dim Lng_BillID As Long '單據標識
'非數據行退出
If CxbbGrid.Row < CxbbGrid.FixedRows Or Val(CxbbGrid.TextMatrix(CxbbGrid.Row, 0)) = 0 Then
Exit Sub
End If
Tsxx = "請確認是否刪除當前單據?"
Yhanswer = Xtxxts(Tsxx, 2, 2)
If Yhanswer = 1 Then
'1.判斷當前單據是否允許刪除
If Not Fun_AllowDelete Then
Exit Sub
End If
'2.刪除單據所有內容
Lng_BillID = Val(CxbbGrid.TextMatrix(CxbbGrid.Row, 0))
On Error GoTo Swcwcl
Cw_DataEnvi.DataConnect.BeginTrans
Cw_DataEnvi.DataConnect.Execute ("Delete Dev_Malfunction Where MalfunctionID=" & Lng_BillID) '刪除單據內容
Cw_DataEnvi.DataConnect.CommitTrans
'刪除網格中單據數據
CxbbGrid.RemoveItem (CxbbGrid.Row)
Else
Exit Sub
End If
Exit Sub
Swcwcl:
Cw_DataEnvi.DataConnect.RollbackTrans
Tsxx = "刪除單據過程中出現未知錯誤,程序自動恢復刪除前狀態!"
Call Xtxxts(Tsxx, 0, 1)
Exit Sub
End Sub
Private Function Fun_AllowDelete() As Boolean '判斷當前單據是否允許刪除
Dim RecTemp As New ADODB.Recordset '臨時使用動態集
Dim Sqlstr As String '查詢字符串
Dim Lng_BillID As Long '單據ID
Lng_BillID = Val(CxbbGrid.TextMatrix(CxbbGrid.Row, 0))
Sqlstr = "Select Checker From Dev_Malfunction Where MalfunctionID=" & Lng_BillID
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
With RecTemp
If Not .EOF Then
If Trim(.Fields("Checker") & "") <> "" Then
Tsxx = "該故障單已審核確認,不能刪除!"
Call Xtxxts(Tsxx, 0, 4)
Exit Function
End If
End If
End With
Fun_AllowDelete = True
End Function
Private Sub bbyl(bbylte As Boolean) '報表打印預覽
Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
Bbxbtgs = 1 '報 表 小 標 題 行 數
Bbbwhgs = 0 '報 表 表 尾 行 數
ReDim Bbxbt(1 To Bbxbtgs)
ReDim bbxbtzzxs(1 To Bbxbtgs)
If Bbbwhgs <> 0 Then
ReDim Bbbwh(1 To Bbbwhgs)
ReDim Bbbwhzzxs(1 To Bbbwhgs)
End If
Bbzbt = ReportTitle
Bbxbt(1) = ""
bbxbtzzxs(1) = 0 '報表行組織形式(0-居左 1-居中 2-居右)
Call Scyxsjb(CxbbGrid) '生成報表數據
Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
If Not bbylte Then
Unload DY_Tybbyldy
End If
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -