Datagrid: Problema con fila seleccionada.

Vuelvo por tu sabiduría. Te comento lo que quiero hacer:
Tengo un datagrid al cual la hacer clic sobre él, me llama a otro formulario, el problema surge cuando hago clic y no tengo registros. Me tira el error: Error de acceso a datos datagrid
Lo que quiero es que no se me produzca el error sino que simplemente no me llame al formulario si no tengo registros.
Teniendo el código así: con If dtaVoluntarios.Row > 1 Then o If dtaVoluntarios.Row > 0 Then
Al hacer clic sobre el datagrid no hace lo que yo quiero, que es llamar al formulario de edición. Si saco esta parte si me funciona.
El inconveniente con tenerlo así como lo tenía es que si no tengo registros y hago click sobre el data me tira el error Error de acceso a datos. Datagrid. Bueno amigo. Espero puedas darme una mano ya que me urge solucionar este problema.
Saludos y muchas gracias!
Osea, yo lo tengo de la siguiente manera:...
Private Sub dtaVoluntarios_Click()
'PARA NO PERMITIR QUE SE EDITE UN FALLECIDO
If dtaVoluntarios.Row > 1 Then
If Trim(dtaVoluntarios.Columns.Item(15).Text) = "Fallecimiento" Then
MsgBox "Voluntario Fallecido. Imposible modificar", vbInformation, "Gestión Voluntarios"
Exit Sub
Else
Call Editar
'End If
End If
End Sub
Editar: Es un procedimiento que lo que hace es traerme un formulario con los datos que le cargo al hacer clic en el datagrid.

Aclaración: Si pongo un punto de parada sobre esa línea me muestra lo siguiente:

dtaVoluntarios.Row = -1

Si pongo la siguiente línea:
If dtaVoluntarios.Row < 1 Then
Y le pongo un punto de parada, teniendo un registro hago clic y me muestra el valor:
dtaVoluntarios.Row = 0
Le saco el punto de parada y me trae el formulario.
Si elimino el único registro que tengo y hago clic me marca el siguiente error:
Error de acceso a datos y me marca esta línea:
If Trim(dtaVoluntarios.Columns.Item(15).Text) = "Fallecimiento" Then

Bueno amigo.

1 Respuesta

Respuesta
1

Como te comenté antes, no doy soporte ya para VB6, ¿por qué? Por que hace más de 10 años que lo dejé de usar (Programé en VB desde la versión 4 y casi todas las versiones de Basic como GWBasic, entre otras), y la verdad, no me acuerdo, muchas cosas, hoy en día se hacen de manera muuuuuy diferente.

La verdad, es como versearte un poco, pero lo que hay que preguntar no es si Row > 0, si no si el índice que se ha seleccionado es > 0

En .NET lo que se pregunta en el Evento Click con la variable Sender (que es el objeto que recibe el click, en este caso el DG)

Private Sub DGVEventos_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVEventos.CellClick
 If e.RowIndex > -1 Then
    '....Algo
End If

DGVEventos es el nombre de mi DataGridView.....

La idea es, saber el index de la columna seleccionada, si es menor a 0 es por que no hay.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas