form1.frm
字号:
Grid2.Cell(0, i + 1).Text = qy5.Fields(i).Name '读取表6中的各字段名
Next
For i = 1 To Grid2.Rows - 1 '设定读取行
For j = 1 To Grid2.Cols - 1 '设定读取列
If qy5.Fields(j - 1) = Null Then '空值的处理
Grid2.Cell(i, j).Text = ""
Else
Grid2.Cell(i, j).Text = qy5.Fields(j - 1)
End If
Next
qy5.MoveNext '读取下一记录
Next
Grid2.Column(1).Locked = True
Grid2.Column(2).Locked = True
Grid2.Column(3).Locked = True
End Sub
Private Sub asPopup8_Click(Cancel As Boolean)
Label1.Caption = "对学生的新生老生交替问题等进行更新..."
If qy1.State = adStateOpen Then '表状态
qy1.Close
End If
qy1.Open "select * from 学生信息 where 学生状态='新生'", cnn, adOpenKeyset, adLockOptimistic, adCmdText
Do While qy1.EOF = False
If Int(qy1.Fields(4)) <= Int(Date - "365") Then
qy1.Fields(9) = "老生"
qy1.Update
End If
qy1.MoveNext
Loop
MsgBox "系统对学生信息更新己经完成!", vbInformation, "更新完成"
Label1.Caption = ""
End Sub
Private Sub asPopup9_Click(Cancel As Boolean)
Dim fo2 As CTranslucentForm
Set fo2 = New CTranslucentForm
fo2.hWnd = Form4.hWnd
fo2.Alpha = 90 / 100 * 255
Me.WindowState = vbMinimized
Load Form4
Form4.Show 1
End Sub
Private Sub Grid1_CellChange(ByVal Row As Long, ByVal Col As Long)
If griddel = True Then
If dbase <> "新生入学" Then
If qy1.State = adStateOpen Then
qy1.Close
End If
qy1.Open "select * from 学生信息 where 学号='" & Grid1.Cell(hang, 1).Text & "'", cnn, adOpenKeyset, adLockOptimistic, adCmdText
If qy1.EOF = True Then
MsgBox "当前记录己经不存在!", vbInformation, "记录不存在"
Else
qy1.Delete
qy1.Update
End If
If qy5.State = adStateOpen Then
qy5.Close
End If
qy5.Open "select * from 学生信息 where 学号='" & Grid1.Cell(hang, 1).Text & "'", cnn, adOpenKeyset, adLockOptimistic, adCmdText
Do While qy5.EOF = False
qy5.Delete
qy5.Update
Loop
MsgBox "目标己删除,请刷新数据!", vbInformation, "删除成功"
griddel = False
End If
End If
End Sub
Private Sub Grid1_RowColChange(ByVal Row As Long, ByVal Col As Long)
hang = Row
If dbase = "新生入学" Then
If Grid1.Cell(Row, 5).Text = "" Then
Grid1.Cell(Row, 5).Text = Date
End If
If Grid1.Cell(Row, 10).Text = "" Then
Grid1.Cell(Row, 10).Text = "新生"
End If
If Grid1.Cell(Row, 11).Text = "" Then
Grid1.Cell(Row, 11).Text = "3"
End If
End If
End Sub
Private Sub Grid1_Validate(Cancel As Boolean) '设定TAB键切换
Dim nActiveRow As Long, nActiveCol As Long
Const VK_TAB = 9
If GetKeyState(VK_TAB) < 0 Then
nActiveRow = Grid1.ActiveCell.Row
nActiveCol = Grid1.ActiveCell.Col
If nActiveCol < Grid1.Cols - 1 Then
Grid1.Range(nActiveRow, nActiveCol + 1, _
nActiveRow, nActiveCol + 1).Selected
End If
Cancel = True
End If
End Sub
Private Sub Grid2_CellChange(ByVal Row As Long, ByVal Col As Long)
'---------------
End Sub
Private Sub Grid2_LeaveCell(ByVal Row As Long, ByVal Col As Long, NewRow As Long, NewCol As Long, Cancel As Boolean)
'----------
End Sub
Private Sub Grid2_RowColChange(ByVal Row As Long, ByVal Col As Long)
hang = Row
End Sub
Private Sub Grid2_Validate(Cancel As Boolean)
Dim nActiveRow As Long, nActiveCol As Long
Const VK_TAB = 9
If GetKeyState(VK_TAB) < 0 Then
nActiveRow = Grid2.ActiveCell.Row
nActiveCol = Grid2.ActiveCell.Col
If nActiveCol < Grid2.Cols - 1 Then
Grid2.Range(nActiveRow, nActiveCol + 1, _
nActiveRow, nActiveCol + 1).Selected
End If
Cancel = True
End If
End Sub
Private Sub asPopup1_Click(Cancel As Boolean) '添加销售记录
gridsave = True
gridedit = False
griddelete = False
yuzhi = True
dbase = "新生入学"
Grid2.Visible = False
Grid1.Visible = True
If qy1.State = adStateOpen Then '表状态
qy1.Close
End If
qy1.Open "select * from 学生信息", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Grid1.Rows = 1 '清除所有记录
Grid1.Rows = 2 '默认为2行
i = 11
Grid1.Cols = i + 1 '必须+2,因为实际上为11行,但第一行是隐藏的
For i = 0 To 10 '显示数据的字段名
Grid1.Cell(0, i + 1).Text = qy1.Fields(i).Name '读取表中的各字段名
Next
Grid1.Cell(Grid1.Rows - 1, 1).SetFocus
Grid1.ComboBox(3).Clear
Grid1.ComboBox(3).AddItem "男"
Grid1.ComboBox(3).AddItem "女"
Grid1.ComboBox(4).Clear
For i = 15 To 30 '循环出年龄
Grid1.ComboBox(4).AddItem i
Next
Grid1.ComboBox(6).Clear
If qy2.State = adStateOpen Then '表状态
qy2.Close
End If
qy2.Open "select * from 系别", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Do While qy2.EOF = False
Grid1.ComboBox(6).AddItem qy2.Fields(0)
qy2.MoveNext
Loop
Grid1.ComboBox(7).Clear
If qy3.State = adStateOpen Then '表状态
qy3.Close
End If
qy3.Open "select * from 班级", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Do While qy3.EOF = False
Grid1.ComboBox(7).AddItem qy3.Fields(0)
qy3.MoveNext
Loop
Grid1.ComboBox(10).Clear
If qy4.State = adStateOpen Then '表状态
qy4.Close
End If
qy4.Open "select * from 学生状态", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Do While qy4.EOF = False
Grid1.ComboBox(10).AddItem qy4.Fields(0)
qy4.MoveNext
Loop
Grid1.ComboBox(11).Clear
For i = 1 To 4 '循环出教育年制,实现预先输入成绩
Grid1.ComboBox(11).AddItem i
Next
Grid1.Column(1).Locked = False
XPButton8.Default = True
End Sub
Private Sub asPopup2_Click(Cancel As Boolean) '销售记录
gridsave = False
gridedit = True
griddelete = True
yuzhi = False
dbase = "在校生管理"
Grid2.Visible = False
Grid1.Visible = True
If qy1.State = adStateOpen Then '表状态
qy1.Close
End If
qy1.Open "select * from 学生信息 where 是否在校生='1'", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Grid1.Rows = 1 '清除所有记录
Grid1.Rows = qy1.RecordCount + 1
i = 11
Grid1.Cols = i + 1 '必须+2,因为实际上为11行,但第一行是隐藏的
For i = 0 To 10 '显示数据的字段名
Grid1.Cell(0, i + 1).Text = qy1.Fields(i).Name '读取表中的各字段名
Next
Grid1.ComboBox(3).Clear
Grid1.ComboBox(3).AddItem "男"
Grid1.ComboBox(3).AddItem "女"
Grid1.ComboBox(4).Clear
For i = 15 To 30 '循环出年龄
Grid1.ComboBox(4).AddItem i
Next
Grid1.ComboBox(6).Clear
If qy2.State = adStateOpen Then '表状态
qy2.Close
End If
qy2.Open "select * from 系别", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Do While qy2.EOF = False
Grid1.ComboBox(6).AddItem qy2.Fields(0)
qy2.MoveNext
Loop
Grid1.ComboBox(7).Clear
If qy3.State = adStateOpen Then '表状态
qy3.Close
End If
qy3.Open "select * from 班级", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Do While qy3.EOF = False
Grid1.ComboBox(7).AddItem qy3.Fields(0)
qy3.MoveNext
Loop
Grid1.ComboBox(10).Clear
If qy4.State = adStateOpen Then '表状态
qy4.Close
End If
qy4.Open "select * from 学生状态", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Do While qy4.EOF = False
Grid1.ComboBox(10).AddItem qy4.Fields(0)
qy4.MoveNext
Loop
Grid1.ComboBox(11).Clear
For i = 1 To 4 '循环出教育年制,实现预先输入成绩
Grid1.ComboBox(11).AddItem i
Next
For i = 1 To Grid1.Rows - 1 '设定读取行
For j = 1 To Grid1.Cols - 1 '设定读取列
If qy1.Fields(j - 1) = Null Then '空值的处理
Grid1.Cell(i, j).Text = ""
Else
Grid1.Cell(i, j).Text = qy1.Fields(j - 1)
End If
Next
qy1.MoveNext '读取下一记录
Next
Grid1.Column(1).Locked = True
End Sub
Private Sub Grid3_CellChange(ByVal Row As Long, ByVal Col As Long)
If Grid3.Cell(1, 1).Text <> "" And Grid3.Cell(1, 2).Text = "" Then
Grid3.ComboBox(2).Clear
If qy6.State = adStateOpen Then '表状态
qy6.Close
End If
qy6.Open "select * from 历史查询 where 所属表='" & Grid3.Cell(1, 1).Text & "'", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Do While qy6.EOF = False
Grid3.ComboBox(2).AddItem qy6.Fields(0)
qy6.MoveNext
Loop
End If
End Sub
Private Sub Image1_Click()
Dim fo2 As CTranslucentForm
Set fo2 = New CTranslucentForm
fo2.hWnd = Form2.hWnd
fo2.Alpha = 75 / 100 * 255
duixiang = 1
Load Form2
Form2.Show 1
End Sub
Private Sub XPButton1_Click()
Frame2.Top = XPButton1.Top + XPButton1.Height + 5
Frame2.Visible = True
Frame3.Visible = False
Frame4.Visible = False
Frame5.Visible = False
XPButton4.Top = XPButton5.Top - XPButton4.Height + 15
XPButton3.Top = XPButton5.Top - XPButton3.Height - XPButton4.Height + 15 * 2
XPButton2.Top = XPButton5.Top - XPButton2.Height - XPButton3.Height - XPButton4.Height + 15 * 3
Frame2.Height = XPButton2.Top - XPButton2.Height - XPButton6.Height + 15
Frame2.Left = 0
Frame2.Width = 1695
End Sub
Private Sub XPButton10_Click()
If griddelete = False Then
MsgBox "当前删除操作不被允许!", vbInformation, "非使用对象"
Exit Sub
End If
griddel = True
If hang = "" Or hang = "0" Then
Exit Sub
End If
Call Grid1_CellChange(hang, 1)
Call Grid2_CellChange(hang, 1)
End Sub
Private Sub XPButton13_Click()
If Grid3.Cell(1, 1).Text = "学生信息" Then
gridsave = False
gridedit = True
griddelete = True
yuzhi = False
dbase = "新生管理"
Grid2.Visible = False
Grid1.Visible = True
If qy1.State = adStateOpen Then '表状态
qy1.Close
End If
qy1.Open "select * from 学生信息 where " & Grid3.Cell(1, 2).Text, cnn, adOpenKeyset, adLockReadOnly, adCmdText
Grid1.Rows = 1 '清除所有记录
Grid1.Rows = qy1.RecordCount + 1
i = 11
Grid1.Cols = i + 1 '必须+2,因为实际上为11行,但第一行是隐藏的
For i = 0 To 10 '显示数据的字段名
Grid1.Cell(0, i + 1).Text = qy1.Fields(i).Name '读取表中的各字段名
Next
Grid1.ComboBox(3).Clear
Grid1.ComboBox(3).AddItem "男"
Grid1.ComboBox(3).AddItem "女"
Grid1.ComboBox(4).Clear
For i = 15 To 30 '循环出年龄
Grid1.ComboBox(4).AddItem i
Next
Grid1.ComboBox(6).Clear
If qy2.State = adStateOpen Then '表状态
qy2.Close
End If
qy2.Open "select * from 系别", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Do While qy2.EOF = False
Grid1.ComboBox(6).AddItem qy2.Fields(0)
qy2.MoveNext
Loop
Grid1.ComboBox(7).Clear
If qy3.State = adStateOpen Then '表状态
qy3.Close
End If
qy3.Open "select * from 班级", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Do While qy3.EOF = False
Grid1.ComboBox(7).AddItem qy3.Fields(0)
qy3.MoveNext
Loop
Grid1.ComboBox(10).Clear
If qy4.State = adStateOpen Then '表状态
qy4.Close
End If
qy4.Open "select * from 学生状态", cnn, adOpenKeyset, adLockReadOnly, adCmdText
Do While qy4.EOF = False
Grid1.ComboBox(10).AddItem qy4.Fields(0)
qy4.MoveNext
Loop
Grid1.ComboBox(11).Clear
For i = 1 To 4 '循环出教育年制,实现预先输入成绩
Grid1.ComboBox(11).AddItem i
Next
For i = 1 To Grid1.Rows - 1 '设定读取行
For j = 1 To Grid1.Cols - 1 '设定读取列
If qy1.Fields(j - 1) = Null Then '空值的处理
Grid1.Cell(i, j).Text = ""
Else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -