📄 frnrf.frm
字号:
AutoSearch = 0
AutoSearchDelay = 2
MultiTotals = -1 'True
SubtotalPosition= 1
OutlineBar = 0
OutlineCol = 0
Ellipsis = 0
ExplorerBar = 0
PicturesOver = 0 'False
FillStyle = 1
RightToLeft = 0 'False
PictureType = 0
TabBehavior = 0
OwnerDraw = 0
Editable = 0
ShowComboButton = 2
WordWrap = 0 'False
TextStyle = 0
TextStyleFixed = 0
OleDragMode = 0
OleDropMode = 0
DataMode = 1
VirtualData = -1 'True
ComboSearch = 3
AutoSizeMouse = -1 'True
FrozenRows = 0
FrozenCols = 0
AllowUserFreezing= 3
BackColorFrozen = 65535
ForeColorFrozen = 13876923
WallPaperAlignment= 9
End
End
Attribute VB_Name = "FRNrF"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim s As String
Dim nmc As String
Dim db As Database
Dim rs As Recordset
Dim STR As String
Dim intRecCount As Long
Dim intCounter As Long
Dim XSA As String
Private Sub Combo1_Click()
On Error Resume Next
s = XSA & " WHERE 班级=" & Combo1.Text & "" & " ORDER BY " & "" & Combo2.Text & ""
cmbSource
DoEvents
Dim III As Long
For III = 1 To Vf.Rows - 1
Vf.TextMatrix(III, 0) = III
Next
Vf.ColWidth(0) = 400
End Sub
Private Sub Combo2_Click()
On Error Resume Next
s = XSA & " WHERE 班级=" & Combo1.Text & "" & " ORDER BY " & "" & Combo2.Text & ""
cmbSource
DoEvents
Dim III As Long
For III = 1 To Vf.Rows - 1
Vf.TextMatrix(III, 0) = III
Next
Vf.ColWidth(0) = 400
End Sub
Private Sub Command1_Click()
On Error Resume Next
Skin1.LoadSkin App.Path & "\SKIN\0.sk"
Skin1.ApplySkinByName hwnd, "Form"
Skin1.ApplySkin Me.hwnd
Vf.Visible = False
Toolbar2.Visible = False
VP.Visible = True
Toolbar1.Visible = True
End Sub
Private Sub Command2_Click()
On Error Resume Next
Skin1.LoadSkin App.Path & "\SKIN\3.sk"
Skin1.ApplySkinByName hwnd, "Form"
Skin1.ApplySkin Me.hwnd
Vf.Visible = True
Toolbar2.Visible = True
VP.Visible = False
Toolbar1.Visible = False
End Sub
Private Sub Command3_Click()
On Error Resume Next 'On Error Resume Next
Dim 科目 As String
Dim a
科目 = InputBox("请输入要搜索的学生姓名:", "数据搜索")
If 科目 = "" Then
Exit Sub
Else
s = XSA & " WHERE 姓名='" & 科目 & "'"
cmbSource
End If
End Sub
Private Sub Command4_Click()
On Error Resume Next
Unload Me
End Sub
Private Sub Command5_Click()
On Error Resume Next
Vf.Visible = False
WATING.Show
WATING.Label1.Caption = "检查数据完整性"
DoEvents
s = XSA & " ORDER BY " & "" & Combo2.Text & ""
cmbSource
DoEvents
WATING.Label1.Caption = "自动编号处理中"
DoEvents
Dim III As Long
For III = 1 To Vf.Rows - 1
Vf.TextMatrix(III, 0) = III
Next
Vf.ColWidth(0) = 400
Unload WATING
Vf.Visible = True
End Sub
Private Sub Command6_Click()
On Error Resume Next
Dim QQ As Long
For QQ = 0 To Vf.Cols - 1
Vf.ColAlignment(QQ) = flexAlignCenterCenter
' VSFlexGrid1.CellAlignment = flexAlignCenterCenter
Next QQ
End Sub
Private Sub Form_Resize()
On Error Resume Next
Vf.Width = Me.Width - 100
Vf.Height = Me.Height - Toolbar1.Height - 780
Vf.Top = Toolbar1.Height
Vf.Left = 0
VP.Width = Me.Width - 150
VP.Height = Me.Height - Toolbar2.Height - 400
VP.Top = Toolbar2.Height
VP.Left = 0
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
MAIN.Enabled = True
Unload SCA
Dim ws As Workspace
Dim db As Database
Dim rs As Recordset
For Each ws In Workspaces
For Each db In ws.Databases
For Each rs In db.Recordsets
rs.Close
Set rs = Nothing
Next
db.Close
Set db = Nothing
Next
ws.Close
Set ws = Nothing
Next
End Sub
Private Sub Form_Load()
On Error Resume Next
Me.Hide
SCA.Show
DoEvents
Vf.Visible = False
Skin1.LoadSkin App.Path & "\SKIN\3.sk"
Skin1.ApplySkinByName hwnd, "Form"
Skin1.ApplySkin Me.hwnd
DoEvents
If MAIN.CMD2.filename = "" Then MsgBox "数据文件未载入", 32, "提示": Exit Sub
Combo1.Clear
Set db = OpenDatabase(MAIN.CMD2.filename)
Set rs = db.OpenRecordset("班级")
rs.MoveLast
intRecCount = rs.RecordCount
rs.MoveFirst
For intCounter = 1 To intRecCount
Combo1.AddItem rs![班级]
rs.MoveNext
Next intCounter
Combo1.ListIndex = 0
Set db = OpenDatabase(MAIN.CMD2.filename)
Set rs = db.OpenRecordset("科目")
rs.MoveLast
intRecCount = rs.RecordCount
rs.MoveFirst
For intCounter = 1 To intRecCount
Combo2.AddItem rs![科目]
rs.MoveNext
Next intCounter
Combo2.ListIndex = 5
Set db = OpenDatabase(MAIN.CMD2.filename)
Set rs = db.OpenRecordset("SELECT * FROM COM WHERE 标记='分数输出'")
XSA = rs![代码]
Set db = OpenDatabase(MAIN.CMD2.filename)
Set rs = db.OpenRecordset("SELECT * FROM COM WHERE 标记='名称'")
nmc = rs![代码]
Me.Caption = "分数统计报表 " & "(" & nmc & ")"
'以下代码将取出COM中的输入显示中的代码信息,供下表格输入
'载入数据库文件
Data1.DatabaseName = MAIN.CMD2.filename
'对打印的显示百分值进行初始化
cmbPercent.ListIndex = 3
cmbZoomMode.ListIndex = 0
With VP
.Orientation = orPortrait
.HdrColor = vbRed
End With
'显示数据库的条件,并且载入打印控件
' S = XSA
' cmbSource
' Dim III As Long
' For III = 1 To Vf.Rows - 1
' Vf.TextMatrix(III, 0) = III
' Next
' Vf.ColWidth(0) = 400
Unload SCA
Me.Show
Vf.Visible = True
Call Combo1_Click
Call Command6_Click
End Sub
Private Sub Print_Click()
On Error Resume Next '开始打印
If VP.PageCount > 0 Then VP.PrintDoc
End Sub
Private Sub scrlPage_Change()
On Error Resume Next
'操作 scrlpage 时同时对下面的当前页显示值进行控制
scrlPage.SmallChange = VP.PreviewPages
scrlPage.LargeChange = scrlPage.SmallChange
VP.PreviewPage = scrlPage.Value
Dim lp%
lp = VP.PreviewPage + VP.PreviewPages - 1
If lp > VP.PageCount Then lp = VP.PageCount
If lp < VP.PreviewPage Then lp = VP.PreviewPage
If lp > VP.PreviewPage Then
lblPage = VP.PreviewPage & " - " & lp & " of " & VP.PageCount
Else
lblPage = VP.PreviewPage & " of " & VP.PageCount
End If
'操作 scrlpage 时同时对下面的当前页显示值进行控制
End Sub
Private Sub vp_EndPage()
On Error Resume Next '得到总页数,并且 scrlpage 自动适应其状态
scrlPage.Max = VP.PageCount
scrlPage.Value = VP.PreviewPage
scrlPage_Change
DoEvents
'得到总页数,并且 scrlpage 自动适应其状态
End Sub
Sub RenderRecordset(VP As VSPrinter, rs As Recordset, ByVal maxh As Double)
'对界面进行自动设置
On Error Resume Next
Dim arr, i%, j%, wid!
rs.MoveLast
rs.MoveFirst
i = rs.RecordCount
If i = 0 Then Exit Sub
arr = rs.GetRows(i)
Dim fmt$, hdr$
For i = 0 To rs.Fields.Count - 1
If i > 0 Then hdr = hdr & "|"
fmt = fmt & "|"
hdr = hdr & rs.Fields(i).Name
fmt = fmt & 0
Next
VP.StartTable
VP.AddTableArray fmt, hdr, arr
For i = 0 To rs.Fields.Count - 1
Select Case rs.Fields(i).Type
Case dbBigInt, dbByte, dbChar, dbCurrency, dbDecimal, dbDouble, dbFloat, dbInteger, dbLong, dbNumeric, dbSingle, dbDate
VP.TableCell(tcColAlign) = taCenterMiddle
End Select
If rs.Fields(i).Type = dbMemo Then
VP.TableCell(tcColWidth, , i + 1) = "2.5in"
Else
fmt = ""
For j = 0 To UBound(arr, 2)
If j > 100 Then Exit For
If Len(fmt) < Len(arr(i, j)) Then
fmt = arr(i, j)
End If
Next
If Len(rs.Fields(i).Name) > Len(fmt) Then fmt = rs.Fields(i).Name
VP.TableCell(tcColWidth, , i + 1) = (VP.PageWidth - VP.MarginLeft - VP.MarginRight) / rs.Fields.Count
End If
Next
'################################################################
VP.TableCell(tcFontBold, 0) = True
VP.TableCell(tcBackColor, 0) = vbYellow
VP.TableCell(tcRowHeight, 0) = VP.TextHeight("Test") * 3.7 '设置表格头的字体宽度等
VP.TableCell(tcAlign, 0) = taCenterMiddle
'################################################################
VP.EndTable
'VP.ShowGuides = gdShow
End Sub
Sub cmbSource()
'打印代码从此处载入
On Error Resume Next
MousePointer = vbHourglass
Dim i%
Data1.RecordSource = s
Data1.Refresh
Dim rs As Recordset
Set rs = Data1.Recordset
With VP
.PenColor = RGB(0, 0, 255)
.StartDoc
' NHB = GetPrivateProfileString("学校", "校名", , , , App.Path & "\SET.ini")
' Dim strPath As String
' strPath = App.Path & "\SET.ini"
NHB = GetProfile(App.Path & "\SET.ini", "学校", "校名")
.Footer = "打印日期:" & Format(Date, "Long Date") & "||备注:(学籍中 -1 表示在籍生, 0 表示编外生)"
.Header = NHB & vbCrLf & vbCrLf & "|" & nmc & Combo1.Text & "班分数统计表|当前页 %d"
RenderRecordset VP, rs, 0
.EndDoc
.ScrollIntoView 0, 0
End With
MousePointer = vbDefault
End Sub
Private Sub btnFont_Click()
On Error Resume Next
Me.Enabled = False
'设置字体等项目
With Me.VP
CommonDialog1.Flags = cdlCFBoth + cdlCFEffects
CommonDialog1.FontName = .FontName
CommonDialog1.FontSize = .FontSize
CommonDialog1.FontBold = .FontBold
CommonDialog1.FontItalic = .FontItalic
CommonDialog1.FontUnderline = .FontUnderline
CommonDialog1.FontStrikethru = .FontStrikethru
' CommonDialog1.Color = .PenColor
CommonDialog1.ShowFont
.FontName = CommonDialog1.FontName
.FontSize = CommonDialog1.FontSize
.FontBold = CommonDialog1.FontBold
.FontItalic = CommonDialog1.FontItalic
.FontUnderline = CommonDialog1.FontUnderline
.FontStrikethru = CommonDialog1.FontStrikethru
.PenColor = CommonDialog1.Color
.TextColor = CommonDialog1.Color
End With
DoEvents
cmbSource
Me.Enabled = True
End Sub
Private Sub SETHARD_Click()
On Error Resume Next
Me.Enabled = False
With Me.VP
CommonDialog2.Flags = cdlCFBoth + cdlCFEffects
CommonDialog2.FontName = .HdrFontName
CommonDialog2.FontSize = .HdrFontSize
CommonDialog2.FontBold = .HdrFontBold
CommonDialog2.FontItalic = .HdrFontItalic
CommonDialog2.FontUnderline = .HdrFontUnderline
CommonDialog2.FontStrikethru = .HdrFontStrikethru
CommonDialog2.Color = .HdrColor
CommonDialog2.ShowFont
.HdrFontName = CommonDialog2.FontName
.HdrFontSize = CommonDialog2.FontSize
.HdrFontBold = CommonDialog2.FontBold
.HdrFontItalic = CommonDialog2.FontItalic
.HdrFontUnderline = CommonDialog2.FontUnderline
.HdrFontStrikethru = CommonDialog2.FontStrikethru
.HdrColor = CommonDialog2.Color
End With
DoEvents
cmbSource
Me.Enabled = True
End Sub
Private Sub cmdPageSetup_Click()
On Error Resume Next '调出页面设置界面
Me.Enabled = False
VP.PrintDialog pdPageSetup
cmbSource
Me.Enabled = True
End Sub
Private Sub cmbPercent_Click()
On Error Resume Next '进行百分比操作
VP.Zoom = Val(cmbPercent.List(cmbPercent.ListIndex))
End Sub
Private Sub cmbZoomMode_Click()
On Error Resume Next '当选择了自定义时,则自定义参数生效
If cmbZoomMode.ListIndex = 0 Then
cmbPercent_Click
cmbPercent.Enabled = True
Else
cmbPercent.Enabled = False
VP.ZoomMode = cmbZoomMode.ListIndex
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -