是这样我:我对我数据库中表的记录进行删除操作,每条记录的第一列(列名为步骤)是该记录的编号,从1开始,按1递增(注意,该列不是自动编号而是由我在程序中已经实现了)我用的是Access 
具体如下;
列名:     步骤  力值归零    位移归零    运行速度  方向  停止于 暂停时间 
数据类型: 整型  True/False  True/False    整型    文本  文本     整型
*******由于一行写不下,我接在下一行写********
列名:          返回步骤   循环次数  已循环次数
数据类型:        整型       整型       整型我的要做的是每当我删除一条记录时,表中其他记录的步骤号可以自动调整,比如:
我表中有6条记录,每条记录的步骤字段分别是1,2,3,4,5,6
我删除第2条记录后,后面的4条记录的步骤字段的值应都减1,变为2,3,4,5
我的程序运行后出了这样的故障:我从最后一条记录往前一条一条删时(先删6,再删5,....1)没任何问题,但我从中间连续删除在某个位置上的记录时(比如我总删除步骤为3的记录),DataGrid上相应单元格的值第1次变了后就再也不变了,如果我不连续某个位置上的记录而是乱删除时,又会出现步骤字段的值有时变化不对的情况,说了这么多,大家有可能云里雾里,还是看具体程序吧,若你帮我解决了而决的分不够,我再加Private Sub btnDeleteStep_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteStep.Click        '首先判断表中是否为空,若为空则不能执行删除操作
        If datagridTestStep.VisibleRowCount = 0 Then
            MsgBox("表中数据已空,无法进行删除操作!", MsgBoxStyle.Critical, "删除提示")
            Exit Sub
        End If        Dim stepNo As Integer = datagridTestStep.CurrentCell.RowNumber + 1        '表中数据不空,在删除前进行删除确认提示!
        If MsgBox("您确实要删除第" + stepNo.ToString + "步测试吗?", vbQuestion + vbOKCancel, "删除提示") = DialogResult.Cancel Then            '不删除
            Exit Sub
        Else
            
            DeleteStep(stepNo)            '修改返回步骤数下拉框中的内容
            Dim i As Integer
            For i = stepNo + 1 To cmbStepNo.Items.Count - 1
                cmbStepNo.Items(i) = (i - 1).ToString
            Next            '在返回步骤数下拉框中移出被删除的步骤
            cmbStepNo.Items.RemoveAt(stepNo)            '修改表中的步骤字段并更新DataGrid中的内容
            UpdateStepNo(stepNo - 1)            '提示已删除
            MsgBox("已删除第" + stepNo.ToString + "步测试!", vbInformation + vbOKCancel, "删除结果提示")
        End If
    End Sub'删除DataGrid中CurrentCell所对应的那条记录
Private Sub DeleteStep(ByVal StepNo As Integer)
        Try
            Dim strSQL As String = "Delete From TestStep Where 步骤= " + StepNo.ToString()
            Dim cmd As New OleDbCommand(strSQL, myCon)
            If myCon.State = ConnectionState.Closed Then
                myCon.Open()
            End If
            cmd.ExecuteNonQuery()
        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            myCon.Close()
        End Try
    End Sub '修改表中的步骤字段并更新DataGrid中的内容
    Private Sub UpdateStepNo(ByVal StartNo As Integer)
        Try
            Dim strSQL As String = "Select * From TestStep"
            Dim cmd As New OleDbCommand(strSQL, myCon)
            Dim myDataSet As New DataSet
            Dim myAdapter As New OleDbDataAdapter
            If myCon.State = ConnectionState.Closed Then
                myCon.Open()
            End If
            myAdapter.SelectCommand = cmd
            myAdapter.Fill(myDataSet, "TestStep")
            Dim EndNo As Integer = myDataSet.Tables(0).Rows.Count - 1
            For i As Integer = StartNo To EndNo
                myDataSet.Tables(0).Rows(i)(0) = (i + 1).ToString
                myDataSet.Tables(0).Rows(i).AcceptChanges()
            Next
            myAdapter.Update(myDataSet.Tables(0))
            myDataSet.Tables(0).AcceptChanges()            '更新DataGrid中的显示
            datagridTestStep.DataSource = myDataSet.Tables(0)
        Catch ex As Exception
            MsgBox(ex.ToString)
        Finally
            myCon.Close()
        End Try
    End Sub