📄 frmrecalarmquery.frm
字号:
EndProperty
EndProperty
BeginProperty Column01
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
SplitCount = 1
BeginProperty Split0
BeginProperty Column00
EndProperty
BeginProperty Column01
EndProperty
EndProperty
End
End
Attribute VB_Name = "frmRecAlarmQuery"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Property Get GrdColumns() As Object
Set GrdColumns = GrdEvent.Columns
End Property
Property Get DataType() As String
DataType = "Grid"
End Property
Property Get PrintCaption() As String
PrintCaption = "接收机报警事件"
End Property
Public Sub PrintMe(ByRef PrintObj As Object, Optional sRangeInfo As String)
If sRangeInfo = "" Then
PrintTable GrdEvent, DatEvent.Recordset, Me, True, PrintObj, False
Else
Dim nFromPage As Integer, nEndPage As Integer
Do While Len(sRangeInfo) > 0
GetFromToEndPageNo sRangeInfo, nFromPage, nEndPage '三个参数均传址调用
PrintTable GrdEvent, DatEvent.Recordset, Me, False, PrintObj, False, nFromPage, nEndPage
Loop
End If
End Sub
Public Sub PrintHeader(PrintObj As Object, LMargin As Integer, T_PWidth As Integer)
Dim sTemp As String
If MaskBeginDate.Text = MaskEndDate.Text Then
sTemp = MaskBeginDate.Text
Else
sTemp = MaskBeginDate.Text & " --- " & MaskEndDate.Text
End If
PrintObj.CurrentX = LMargin + (T_PWidth - PrintObj.TextWidth(sTemp)) / 2
PrintObj.Print sTemp
PrintObj.Print
sTemp = "事件类别" & ": " & cobEventType.Text
PrintObj.CurrentX = LMargin
PrintObj.Print sTemp;
End Sub
Public Sub PrintTail(PrintObj As Object, LMargin As Integer, T_PWidth As Integer, T_PHeight As Integer, Row_Height As Integer, nCurPage As Integer, nTotalPage As Integer)
Dim sTailText As String
PrintObj.CurrentY = T_PHeight - Row_Height * Me.RowTailCount()
sTailText = "<高特技软件>"
PrintObj.CurrentX = LMargin + 5
PrintObj.Print sTailText;
sTailText = Format(Date, "打印日期:YYYY年MM月DD日") & " 第" & nCurPage & "/" & nTotalPage & "页"
PrintObj.CurrentX = LMargin + T_PWidth - PrintObj.TextWidth(sTailText) - 5
PrintObj.Print sTailText
End Sub
Property Get RowTailCount() As Integer
RowTailCount = 1
End Property
''/////////////////////////////////////////////
'//
Private Function GetFindCondition() As String
Dim sCondition As String, sText As String
Dim nPos As Integer, sType As String, sCode As String
sCondition = " And Alarm.FAlarmDate >= #" & Format(MaskBeginDate.Text, "yyyy/mm/dd") & "# " & _
" And Alarm.FAlarmDate <= #" & Format(MaskEndDate.Text, "yyyy/mm/dd") & "# "
sText = cobEventType.Text
sType = Left(sText, 1)
sCode = Mid(sText, 2, 2)
If cobEventType.ListIndex = 0 Then
'全部事件
Else
sCondition = sCondition & " And Alarm.FEventType = '" & sType & "' And Alarm.FZoneCode = '" & sCode & "' "
End If
GetFindCondition = sCondition
End Function
Private Sub RefreshScreenDate(sOrderby As String)
Dim sSqlStr As String, sGrdWidth As String, sCondition As String
Dim i As Integer
sCondition = GetFindCondition()
sSqlStr = "Select FAlarmDate, FAlarmTime, Alarm.FEventType & Alarm.FZoneCode, " & _
" iif(IsNull(RecSelfSign.FEventDescribe), '未知报警事件', RecSelfSign.FEventDescribe) " & _
" From Alarm Left Join RecSelfSign On Alarm.FAccountId = RecSelfSign.FAccountId And " & _
" Alarm.FEventType = RecSelfSign.FEventType And Alarm.FZoneCode = RecSelfSign.FEventCode " & _
" Where Alarm.FAccountId = '0000' " & sCondition & sOrderby
If DatEvent.RecordSource = sSqlStr Then
Exit Sub
End If
DatEvent.RecordSource = sSqlStr
DatEvent.Refresh
With GrdEvent
sGrdWidth = GetPrivateSetting(Me.Caption, "GrdWidth", "")
.RowHeight = GetPrivateSetting(Me.Caption, "GrdHeight", "275")
i = 0
.Columns(i).Caption = "报警日期"
.Columns(i).NumberFormat = "YYYY.MM.DD"
SetColumnWidth sGrdWidth, .Columns(i), 1100
i = i + 1
.Columns(i).Caption = "报警时间"
.Columns(i).NumberFormat = "Long Time"
SetColumnWidth sGrdWidth, .Columns(i), 900
i = i + 1
.Columns(i).Caption = "事件类型"
SetColumnWidth sGrdWidth, .Columns(i), 900
i = i + 1
.Columns(i).Caption = "报警内容"
SetColumnWidth sGrdWidth, .Columns(i), 2000
End With
End Sub
Private Sub cmdColse_Click()
Unload Me
End Sub
Private Sub cmdPrint_Click()
Let frmPrint.Initial(Me.Caption, GrdColumns()) = Me
frmPrint.Show vbModal
End Sub
Private Sub cmdView_Click()
cmdDateSort_Click
End Sub
Private Sub SetButtonsStatus(sCaption As String)
cmdDateSort.Enabled = IIf(cmdDateSort.Caption = sCaption, False, True)
cmdTypeSort.Enabled = IIf(cmdTypeSort.Caption = sCaption, False, True)
End Sub
Private Sub cmdDateSort_Click()
RefreshScreenDate (" Order by Alarm.FAlarmDate, Alarm.FAlarmTime ")
SetButtonsStatus (cmdDateSort.Caption)
End Sub
Private Sub cmdTypeSort_Click()
RefreshScreenDate (" Order by Alarm.FEventType & Alarm.FZoneCode, Alarm.FAccountId, Alarm.FAlarmDate, Alarm.FAlarmTime ")
SetButtonsStatus (cmdTypeSort.Caption)
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{Tab}"
End If
End Sub
Private Sub Form_Load()
SetForm Me, 9
DatEvent.ConnectionString = m_gsConnection
MaskBeginDate.Text = Format(Date, "YYYY年MM月DD日")
MaskEndDate.Text = Format(Date, "YYYY年MM月DD日")
Dim EventTypeRs As ADODB.Recordset
Dim sSqlStr As String
Set EventTypeRs = New ADODB.Recordset
sSqlStr = "Select FEventType & FEventCode & ' ' & FEventDescribe as SType From RecSelfSign Order by FEventCode, FEventType "
EventTypeRs.Open sSqlStr, m_gCnAlarm
cobEventType.AddItem "全部事件"
With EventTypeRs
Do While Not .EOF
cobEventType.AddItem ![sType]
.MoveNext
Loop
End With
Set EventTypeRs = Nothing
cobEventType.ListIndex = 0
RefreshScreenDate (" Order by Alarm.FAlarmDate, Alarm.FAlarmTime ")
End Sub
Private Sub Form_Resize()
On Error Resume Next
With GrdEvent
.Left = 50
.Top = 50
.Width = Me.ScaleWidth - PicFind.Width - .Left - 20
.Height = Me.ScaleHeight - .Top - 50
End With
End Sub
Private Sub Form_Unload(Cancel As Integer)
Me.MousePointer = vbDefault
End Sub
Private Sub GrdEvent_ColResize(ByVal ColIndex As Integer, Cancel As Integer)
SaveGridColWidth Me.Caption, GrdEvent
End Sub
Private Sub GrdEvent_RowResize(Cancel As Integer)
SavePrivateSetting Me.Caption, "GrdHeight", GrdEvent.RowHeight
End Sub
Private Sub MaskBeginDate_Validate(Cancel As Boolean)
If Not IsDate(MaskBeginDate.Text) Then
Cancel = True
End If
End Sub
Private Sub MaskEndDate_Validate(Cancel As Boolean)
If Not IsDate(MaskEndDate.Text) Then
Cancel = True
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -