欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

form1.frm

学生信息管理系统 学生信息管理系统
FRM
第 1 页 / 共 5 页
字号:
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 + -