我要添加一条记录,在text中输入,但是点击添加按钮时,由于text中是空的,有一个空语句问题,我加如下代码
Dim strSQL As String, strXM As String
   If IsNull(Data1.Recordset.Fields("姓名").Value) Then
   Command6_Click
   End If
Command6_Click是添加记录的操作,它提示溢出堆栈空间,只要我没有输入记录,就一直给我分配空间,肯定会溢出啊,请问该怎么解决这个问题啊?
完整子过程代码:
Private Sub Data1_Reposition()
   Dim strSQL As String, strXM As String
   If IsNull(Data1.Recordset.Fields("姓名").Value) Then
   Command6_Click
   End If
   strXM = Data1.Recordset.Fields("姓名")
   Label7.Caption = strXM & "所选课程及成绩"
   MSFlexGrid1.Cols = 3: MSFlexGrid1.ColWidth(0) = 1600
   MSFlexGrid1.ColWidth(1) = 1200: MSFlexGrid1.ColWidth(2) = 1000
   strSQL = strSQL & "SELECT Course.课程名,Teacher.教师名,SC.成绩 "
   strSQL = strSQL & " FROM Course,Teacher,SC,Student"
   strSQL = strSQL & " WHERE Student.学号='" & Data1.Recordset.Fields("学号") & "'"
   strSQL = strSQL & " AND Student.学号=SC.学号 AND SC.课程号=Course.课程号"
   strSQL = strSQL & " AND Course.教师号=Teacher.教师号"
   Data2.RecordSource = strSQL
   Data2.Refresh
   
End Sub

解决方案 »

  1.   

    又出现新的问题,添加操作可以了,删除操作又有问题,当我删除记录后,错误提示:无当前记录,
    If IsNull(Data1.Recordset.Fields("姓名").Value) Then 出错,哎
      

  2.   

    我不给分没人理,给分也没人理,我找谁惹谁了?还是问题太简单了?有没有人啊?
    删除最后一条记录的时候报错,当前记录为空,我已经Data1.Record.MoveLast了,为什么它还出错??
      

  3.   

    应该这样判断:
    If Data1.Recordset.EOF Then
    '……
    end if
      

  4.   

    我有这一句
     If Data1.Recordset.EOF Then Data1.Recordset.MoveLast
      

  5.   

    最后一条都删除了,哪还有呢……
    Data1.Recordset.MoveLast
      

  6.   

    最后一条都删除后,如果再移动到下一条的话,记录指针就回到EOF位置。
      

  7.   

    If Data1.Recordset.EOF Then Data1.Recordset.MoveLast 
    '加一句刷新语句看看!
    Data1.Recordset.refresh