Visual Basic - Borrar registros FlexGrid (error)

Life is soft - evento anual de software empresarial
 
Vista:

Borrar registros FlexGrid (error)

Publicado por Dr0gNan (3 intervenciones) el 18/02/2007 18:45:52
Bien, he conseguido programar un boton para que me borre la fila seleccionada de un FlexGrid pero si borro todos los registros del FlexGrid (y de la tabla Passwords de Acess) me da un error:

Error 30015

No se puede quitar la ultima fila no fija.

Hay alguna forma para conseguir que se borren todos los registros?

Os pongo a continuacion como he hecho el borrado:

Private Sub cmdborraru_Click()
Dim res As String
With MSFlexGrid
If .Row <= 0 Then
MsgBox " No hay ninguna fila seleccionada para eliminar ", vbExclamation
Exit Sub
End If
El_dato = .TextMatrix(.Row, 1)
SQL = "DELETE * FROM Passwords WHERE usuario ='" & El_dato & "'"
res = MsgBox("Eliminar el Registro ?", vbQuestion + vbYesNo)
If res = vbYes Then
.RemoveItem (.RowSel)
bd.Execute SQL
.Redraw = False
rspassword.Requery
.Redraw = True
Else
Exit Sub
End If
End With
End Sub

Gracias! :D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Borrar registros FlexGrid (error)

Publicado por Javier (35 intervenciones) el 18/02/2007 21:01:50
Prueba asi:

If .Row <= 0 Then
Cambialo por
If MSFlexGrid .RowSel = Empty And MSFlexGrid .Rows <= 1 Then
Con esto te aseguras que se seleccione un fila y no sea la cabecera ( si es que tiene)

El_dato = .TextMatrix(.Row, 1)
SQL = "DELETE * FROM Passwords WHERE usuario ='" & El_dato & "'"
Si la variable el dato guarda un valos numerico no hace falta la comilla simple
pon esto:
El_dato = .TextMatrix(.Row, 1)
SQL = "DELETE * FROM Passwords WHERE usuario =" & val(El_dato) & ""
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Borrar registros FlexGrid (error)

Publicado por Dr0gNan (3 intervenciones) el 19/02/2007 01:26:01
Yaya, gracias por decirme lo de las comillas simples, pero la variable El_dato almacena un string de caracteres (nombre de usuario que puede ser desde un nombre a secas como un nombre con numeros).

Lo otro no lo he probado porque es muy tarde ya, pero mañana por la mañana lo pruebo. Gracias por la ayuda y por las molestias; aunque tenga mil dudas voy cogiendole el truco a este mundillo de la programacion.

Agur! Asta mañana! ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Borrar registros FlexGrid (error)

Publicado por Dr0gNan (1 intervención) el 19/02/2007 11:14:12
Bueno, acabo de probar lo que me dijiste pero nada, el mismo error y no deja borrar todos los registros, asi que hare un if para que gestione el error diciendole (de excusa) que se necesita al menos un registro en la tabla y que es imposible borrarlo.

Gracias de todas formas! Agur! ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar