Private Sub Form_Load()
Grid1.SetRegisterInformation "CNwinndy", "W]vyY-nonvk-u\nty-Zbl_e-`hms^" '进行注册
With Grid1
.AllowUserResizing = True
.DisplayFocusRect = False
.ExtendLastCol = True
.Appearance = Flat
.FixedRowColStyle = Flat
.ScrollBarStyle = Flat
.BackColorScrollBar = RGB(231, 235, 247)
.BackColor1 = RGB(231, 235, 247)
.BackColor2 = RGB(239, 243, 255)
.GridColor = RGB(148, 190, 231)
.Column(0).Width = 0
.Column(1).Width = 100
.Column(2).Width = 40
.Column(3).Width = 100
.Column(4).Width = 40
End With
Me.BackColor = RGB(84, 201, 134)
Private Sub callmain()
kssave = False
ksedit = True
ksdel = True
Set ks1 = cnn.Execute("select * from " & kstable)
Grid1.Rows = 1 '清除所有记录
i = 4
Grid1.Cols = i + 1 '必须+1,因为实际上为4行,但第一行是隐藏的
For i = 0 To i - 1 '显示数据的字段名
Grid1.Cell(0, i + 1).Text = ks1.Fields(i).Name '读取表中的各字段名
Next
n = i
i = 1
Do While Not ks1.EOF
Grid1.Rows = Grid1.Rows + 1
For j = 1 To n '设定读取列
If IsNull(ks1.Fields(j - 1)) Then '空值的处理
Grid1.Cell(i, j).Text = ""
Else
Grid1.Cell(i, j).Text = ks1.Fields(j - 1)
End If
Next
i = i + 1
ks1.MoveNext '读取下一记录
Loop
Grid1.Column(1).Locked = True
End Sub
Private Sub Grid1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
PopupMenu cz
End If
End Sub
Private Sub Grid1_RowColChange(ByVal Row As Long, ByVal Col As Long)
hang = Row
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 renovate_Click()
Call callmain
End Sub
Private Sub XPButton1_Click()
kssave = True
Set ks1 = cnn.Execute("select * from " & kstable)
Grid1.Rows = 1 '清除所有记录
Grid1.Rows = 21 '默认为2行
Grid1.Column(1).CellType = cellComboBox
Grid1.Column(2).CellType = cellComboBox
Grid1.ComboBox(1).Clear
Grid1.ComboBox(2).Clear
Set ks2 = cnn.Execute("SELECT DISTINCT 系名 from 课程")
Do While Not ks2.EOF
Grid1.ComboBox(1).AddItem ks2.Fields(0)
ks2.MoveNext
Loop
For i = 1 To 4
Grid1.ComboBox(2).AddItem i
Next
For i = 0 To 3 '显示数据的字段名
Grid1.Cell(0, i + 1).Text = ks1.Fields(i).Name '读取表中的各字段名
Next
Grid1.Column(1).Locked = False
Grid1.Cell(1, 1).SetFocus
XPButton2.Default = True
End Sub
End If
If m <> 0 And n <> 0 Then
Grid1.Range(m, 1, m, 4).BackColor = gcolor1
Grid1.Range(n, 1, n, 4).BackColor = gcolor2
End If
'保存,另一个还没保存就出现了问题。
'--------------------
For i = 1 To Grid1.Rows - 1
For j = i + 1 To Grid1.Rows - 1
If Grid1.Cell(i, 1).Text <> "" Then
If Grid1.Cell(i, 1).Text = Grid1.Cell(j, 1).Text And Grid1.Cell(i, 2).Text = Grid1.Cell(j, 2).Text And Grid1.Cell(i, 3).Text = Grid1.Cell(j, 3).Text Then
MsgBox "第" & i & "行与" & j & "行的数据出现重复,请修改!", vbInformation, "重复错误"
m = i
n = j
gcolor1 = Grid1.Cell(m, 1).BackColor
gcolor2 = Grid1.Cell(n, 1).BackColor
Grid1.Range(i, 1, i, 4).BackColor = RGB(90, 158, 214)
Grid1.Range(j, 1, j, 4).BackColor = RGB(90, 158, 214)
Exit Sub
End If
End If
Next
Next
For i = 1 To Grid1.Rows - 1
For j = 1 To Grid1.Cols - 1
If Grid1.Cell(i, 1).Text <> "" Then
If Grid1.Cell(i, j).Text = "" Then
MsgBox "第" & i & "行的数据请填完整!", vbInformation, "错误提示"
Grid1.Cell(i, j).SetFocus
Exit Sub
End If
Else
Exit For
End If
Next
Next
For i = 1 To Grid1.Rows - 1
If Grid1.Cell(i, 1).Text <> "" Then
Set ks1 = cnn.Execute("select * from 课程 where 系名='" & Grid1.Cell(i, 1).Text & "' and 年级='" & Grid1.Cell(i, 2).Text & "' and 课程名='" & Grid1.Cell(i, 3).Text & "'")
If ks1.EOF = True Then
Set ks2 = cnn.Execute("insert into 课程 values('" & Grid1.Cell(i, 1).Text & "','" & Grid1.Cell(i, 2).Text & "','" & Grid1.Cell(i, 3).Text & "','" & Grid1.Cell(i, 4).Text & "')")
Else
MsgBox "第" & i & "行的数据已经存在,系统自动跳过!", vbInformation, "提示"
End If
End If
Next
MsgBox "资料已保存!", vbInformation, "完成"
Call callmain
Exit Sub
finish:
MsgBox Err.Description
End Sub
End If
If hang = 0 Then
Exit Sub
End If
If Grid1.Cell(hang, 1).Text = "" Then
Exit Sub
End If
Set ks1 = cnn.Execute("delete from " & kstable & " where " & ks1.Fields(0).Name & "='" & Grid1.Cell(hang, 1).Text & "' and " & ks1.Fields(1).Name & "='" & Grid1.Cell(hang, 2).Text & "' and " & ks1.Fields(2).Name & "='" & Grid1.Cell(hang, 3).Text & "'")
MsgBox "目标己删除,请刷新数据!", vbInformation, "删除成功"
Call callmain
Exit Sub
finish:
MsgBox Err.Description
End Sub
Private Sub XPButton5_Click()
Unload Me
End Sub
(6)教室设定窗体:
教室设定窗体,如图13所示,其部分功能类似课程管理窗体,但此窗体多个修改按钮,即多增加了部分功能
图14 设定窗体界面
Dim i As Integer
Private Declare Function GetKeyState Lib "user32" _
(ByVal nVirtKey As Long) As Integer
Dim gcolor1, gcolor2 As String
Dim m, n As Integer
Private Sub Form_Load()
Grid1.SetRegisterInformation "CNwinndy", "W]vyY-nonvk-u\nty-Zbl_e-`hms^" '进行注册
With Grid1
.AllowUserResizing = True
.DisplayFocusRect = False
.ExtendLastCol = True
.Appearance = Flat
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页