Private Sub Combo2_Click(Area As Integer)
'下面是筛选出不及格
ys = 0                                 '计算人数据,提供给修改时用
MSFlexGrid1.Clear
MSFlexGrid1.ColWidth(0) = 2000
  MSFlexGrid1.ColWidth(1) = 1500
  MSFlexGrid1.ColWidth(2) = 1100
MSFlexGrid1.TextMatrix(0, 0) = "     学号"
MSFlexGrid1.TextMatrix(0, 1) = "   姓名"
MSFlexGrid1.TextMatrix(0, 2) = "总成绩"
MSFlexGrid1.TextMatrix(0, 3) = "新成绩"
Text1.Visible = True     'text1可见
  '指定text1在MSFlexGrid表格中的大小及位置
  Text1.Width = MSFlexGrid1.CellWidth
  Text1.Height = MSFlexGrid1.CellHeight
  Text1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left
  Text1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top
  Text1.SetFocus
MSFlexGrid1.Row = 1
Adodc3.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=cjdata.mdb;Persist Security Info=False"
Adodc3.RecordSource = "select 学号,姓名,总成绩 from 成绩录入 where 总成绩 < 60  And 班级号='" & Combo2.Text & "'And 课程名称='" & Combo3.Text & "'And 学期文字='" & DataCombo2.Text & "'"
Set DataGrid3.DataSource = Adodc3
Adodc3.Refresh
Do Until Adodc3.Recordset.EOF
ys = ys + 1                                                 '统计人数
  MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) = Adodc3.Recordset.Fields(0)
  MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1) = Adodc3.Recordset.Fields(1)
  MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2) = Adodc3.Recordset.Fields(2)
  MSFlexGrid1.Row = MSFlexGrid1.Row + 1
  Adodc3.Recordset.MoveNext
Loop
End SubPrivate Sub Command4_Click()
On Error Resume Next                                 '下面是修改代码
Dim i As String
i = 0
MsgBox "请检查所要存储的数据是否正确", 32 + vbOKOnly, "提示"
i = MsgBox("是否存储所有输入的数据?", 32 + vbYesNo, "询问")
If i = 7 Then
Exit Sub
Else
'输入数据
Adodc3.Recordset.MoveFirst
MSFlexGrid1.Row = 1
Do While ys > 0
Adodc3.Recordset.Update
If Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3)) >= 60 Then
Adodc3.Recordset.Fields(2) = 60
Else
Adodc3.Recordset.Fields(2) = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3)
End If
MSFlexGrid1.Row = MSFlexGrid1.Row + 1
ys = ys - 1
Adodc3.Recordset.MoveNext
Loop
End If
End Sub执行修改时出现的问题是:根据用户选择的条件,有些能实现修改,有些修改后系统提示出错,有些就不能修改,系统的提示信息“键列信息不足或不正确。更新影响到多行”单击调试会指向“Adodc3.Recordset.MoveNext”
这个表的字段有:ID、专业名称、学期文字、班级号、课程名称、学号、姓名、考试成绩、平时成绩、总成绩、学分、学时、修习类别、考试方式,这些字段,不能对ID号后面的哪些字段进行设置关键字,这是一个学生的成绩库表。在进行筛选的字段有:学号、姓名、总成绩,这里是对只总成绩进行修改而出现这样的错误
请问哪个高手能解决这样的问题,先谢谢啦,急啊!!!

解决方案 »

  1.   

    你设置一个主健嘛
    datagrid显示的时候不显示不就行了
      

  2.   

    先谢谢你,不过我的筛选条件是筛选不到有重复的记录啊
    这个表的字段有:ID、专业名称、学期文字、班级号、课程名称、学号、姓名、考试成绩、平时成绩、总成绩、学分、学时、修习类别、考试方式,这些字段,不能对ID号后面的哪些字段进行设置关键字,这是一个学生的成绩库表。在进行筛选的字段有:学号、姓名、总成绩,这里是对只总成绩进行修改而出现这样的错误
    请问哪个高手能解决这样的问题,先谢谢啦,急啊!!!