tengo una tabla a traves de la cual visualizo los datos de una base de datos sql, en form_open cargo estos datos a la misma usando
cx.Begin
rs = cx.Exec("select * from usuarios")
tabla.Columns.Count = 6
tabla.Columns[0].Text = "ID"
tabla.Columns[0].Width = 50
tabla.Columns[1].text = "USUARIO"
tabla.Columns[1].Width = 60
tabla.Columns[2].text = "CLAVE"
tabla.Columns[2].Width = 50
tabla.Columns[3].text = "NOMBRE"
tabla.Columns[3].Width = 80
tabla.Columns[4].text = "APELLIDO"
tabla.Columns[4].Width = 100
tabla.Columns[5].text = "ASIGNATURA"
tabla.Columns[5].Width = 150
DO WHILE rs.Available
clave = rs["id"]
tabla.Add(Clave, Clave)
tabla[Clave][1] = rs["usuario"]
tabla[Clave][2] = rs["clave"]
tabla[Clave][3] = rs["nombre"]
tabla[Clave][4] = rs["apellidos"]
tabla[Clave][5] = rs["asignatura"]
rs.MoveNext
LOOP
cx.Commit
Mconex.desconectar(cx)
rs = cx.Exec("select * from usuarios")
tabla.Columns.Count = 6
tabla.Columns[0].Text = "ID"
tabla.Columns[0].Width = 50
tabla.Columns[1].text = "USUARIO"
tabla.Columns[1].Width = 60
tabla.Columns[2].text = "CLAVE"
tabla.Columns[2].Width = 50
tabla.Columns[3].text = "NOMBRE"
tabla.Columns[3].Width = 80
tabla.Columns[4].text = "APELLIDO"
tabla.Columns[4].Width = 100
tabla.Columns[5].text = "ASIGNATURA"
tabla.Columns[5].Width = 150
DO WHILE rs.Available
clave = rs["id"]
tabla.Add(Clave, Clave)
tabla[Clave][1] = rs["usuario"]
tabla[Clave][2] = rs["clave"]
tabla[Clave][3] = rs["nombre"]
tabla[Clave][4] = rs["apellidos"]
tabla[Clave][5] = rs["asignatura"]
rs.MoveNext
LOOP
cx.Commit
Mconex.desconectar(cx)
el cual carga correctamente, la cuestion es que si elimino un registro efectivamente se borra de la tabla el mismo, pero quedan en desorden los id...lo que he corregido pero si vuelvo a emplear esta rutina para la visualizacion o actualizacion de la tabla sale un error que dice key already used, o si edito un registro y quiero verlo en la tabla sucede lo mismo.....
espero me puedan ayudar
atento a sus comentarios