Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problema extraño entre 2 formularios y un MSFlexgrid

Estas en el tema de Problema extraño entre 2 formularios y un MSFlexgrid en el foro de Visual Basic clásico en Foros del Web. Buenas, vengo con un problema rariiisomo al cual no encuentro explicación y no he sido capaz de solucionar, a ver si alguien sabe porque pasa ...
  #1 (permalink)  
Antiguo 02/03/2012, 05:40
Avatar de acid_burd  
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Problema extraño entre 2 formularios y un MSFlexgrid

Buenas, vengo con un problema rariiisomo al cual no encuentro explicación y no he sido capaz de solucionar, a ver si alguien sabe porque pasa esto. Expongo el problema.

Tengo 2 formulario. Adjuntados como Formulario1 y Formulario2. En el formulario1 elijo un programa en el combobox superior. Cada programa tiene sus actividades por lo que pulse el botón gris Añadir para Añadir una nueva actividad que llama al Formulario2. Código del botón:

Código:
modoAsAc = "Añadir"
AsigActividad.Show 1
DoEvents
Codigo a la carga del Formulario2:
Código:
RellenarActividades
    FSolicitud.Value = Now
    
    If modoAsAc = "Editar" Then
        Dim contador As Integer
        For contador = 0 To C_Actividad.ListCount - 1
            If C_Actividad.ItemData(contador) = Val(Asig_Centros.M_Actividad.TextMatrix(Asig_Centros.M_Actividad.Row, 0)) Then
                Exit For
            End If
        Next contador
        
        C_Actividad.ListIndex = contador
        FSolicitud.Value = CDate(Asig_Centros.M_Actividad.TextMatrix(oMiGrid.Row, 2))
        C_Estado.Text = Asig_Centros.M_Actividad.TextMatrix(oMiGrid.Row, 3)
        C_Actividad.Locked = True
La función Rellenar actividades rellena el combobox C_Actividad con las actividades correspondientes con el programa seleccionado en el Formulario1.
FSolicitud es un datapiker y C_Estado en un combobox.

Bien, una vez que tengo mis datos de la actividad seleccionados pulso el botón Aceptar que lo que hace es pasar la información del Formulario2 al MSFlexGrid que hay en la parte inferior del Formulario1 (Al cual se se cargo una primera fila con las cabeceras al cargar el Formulario1).
Código del botón Aceptar:
Código:
If modoAsAc = "Añadir" Then
        If validaractividad = 0 Then
            Dim fila As Integer
           fila = Asig_Centros.M_Actividad.Rows
            Asig_Centros.M_Actividad.Rows = Asig_Centros.M_Actividad.Rows + 1
             
            Asig_Centros.M_Actividad.TextMatrix(fila, 0) = Me.C_Actividad.ItemData(C_Actividad.ListIndex)
            Asig_Centros.M_Actividad.TextMatrix(fila, 1) = Trim(C_Actividad.Text)
            Asig_Centros.M_Actividad.TextMatrix(fila, 2) = Format(Me.FSolicitud.Value, "dd/mm/yyyy")
            Asig_Centros.M_Actividad.TextMatrix(fila, 3) = Trim(Me.C_Estado.Text)
            Asig_Centros.M_Actividad.Refresh
            
        End If
    Else
        If modoAsAc = "Editar" Then
            Asig_Centros.M_Actividad.TextMatrix(Asig_Centros.M_Actividad.Row, 0) = Me.C_Actividad.ItemData(C_Actividad.ListIndex)
            Asig_Centros.M_Actividad.TextMatrix(Asig_Centros.M_Actividad.Row, 1) = Trim(C_Actividad.Text)
            Asig_Centros.M_Actividad.TextMatrix(Asig_Centros.M_Actividad.Row, 2) = Format(Me.FSolicitud.Value, "dd/mm/yyyy")
            Asig_Centros.M_Actividad.TextMatrix(Asig_Centros.M_Actividad.Row, 3) = Trim(Me.C_Estado.Text)
            
        End If
        Unload Me
    End If
Solo la primera condición, el else no vale ahora.
Bien, pues aquí está el problema y es que si ejecuto este código normalmente, no solo no me pasa nada al MSFlexGrid M_Actividad del Formulario1 sino que también me borra el programa que habia seleccionado en el combobox. Pero si pongo un punto de parada en la condición If y voy linea por linea pero sin hacer ningún cambio ni nada ni ningún tipo de inspección, los datos pasan al Formulario1 perfectamente.

La verdad es que no se porque pasa esto, para mi es un autentico misterio. ¿Alguien sabe a que puede deberse esto?

Mil gracias por la ayuda

Un saludo

FORMULARIO1


FORMULARIO2

Etiquetas: vb6
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:16.