Visual Basic - Msflexgrid fila vacía

Life is soft - evento anual de software empresarial
 
Vista:

Msflexgrid fila vacía

Publicado por Martin (28 intervenciones) el 02/04/2015 20:52:36
Hola a todos,

tengo una app en vb 6.0 en la cual lleno un msflexgrid, necesito un ciclo en el cual valide linea por linea si la columna 1 tiene informacion o no, si está vacía deberá borrarla y pasar a las siguientes lineas a realizar la misma validacion para que al final solo queden las lineas cuya columna 1 tenga informacion.


gracias de antemano.
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
sin imagen de perfil
Val: 147
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Msflexgrid fila vacía

Publicado por Juan Gilberto (323 intervenciones) el 03/04/2015 18:25:00
Escribe un For-Next loop que le de vuelta al grid desde la ULTIMA linea hasta la PRIMERA
Establece la primera columna
Pregunta si esta vacia
Si lo esta, entonces remuevela


...pero lo ideal seria que pusieras el filtro al momento de cargar el grid... digo, si las condiciones lo permiten...
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
Imágen de perfil de LUIS FRANCO

Msflexgrid fila vacía

Publicado por LUIS FRANCO (93 intervenciones) el 06/04/2015 14:35:34
Primero conectas msflexgrid con data1 y la tabla a relacionar en la BD.

luego simple

1
2
3
4
5
6
7
8
9
data1.refresh
do while data1.recorset.eof=false
      if columna="" then
             data1.delete
      else
 
     end if
data1.recordset.movenew
loop

dudaz hazla llegar.
Sin mas por el Momento se Despide.

LUIS A FRANCO R
INGENIERO DE SISTEMAS
EMAIL: [email protected]
TLF: 0426-5821929
PIN: 79F120E2
INSTAGRAM: FRANCO776
TWITTER: @FRANCO776
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

Msflexgrid fila vacía

Publicado por Martin (28 intervenciones) el 06/04/2015 17:28:44
Que tal Franco, agradezco tu ayuda,

la grilla ya la tengo cargada con el recordset para que el usuario vaya capturando en la columna 1 los renglones que le interesa imprimir y tengo que borrar solo los que no tengan cantidad, cuando el usuario da click en el boton imprimir deben borrarse, implemente un ciclo do loop en el evento click del boton solo funciona si los renglones con cantidades son consecutivos (ejemplo, renglon 1 al 5 tienen cantidades), si tengo renglones salteados no funciona por ejemplo 1 al 5 tienen cantidades y el renglon 8 tambien, me deja los renglones 1 al 5 y borra el 8 y me deja del 1 al 6 no se que es lo que esta mal.

este es el ciclo que estoy utilizando :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'DECLARAMOS VARIABLES A UTILIZAR
    Dim A As Single
'INICIALIZAMOS VARIABLES A UTILIZAR
    A = MSFlexGrid1.ROWS - 1
'SELECCIONAMOS LA COLUMNA A VALIDAR    
    MSFlexGrid1.COL = 1
'EJECUTAMOS CICLO FOR PARA ELIMINAR LOS RENGLONES VACIOS
    Do While A > 0 And A <= MSFlexGrid1.ROWS - 1
        If MSFlexGrid1.TextMatrix(A, 1) = "" Then
            MSFlexGrid1.RemoveItem (MSFlexGrid1.Row)
            MSFlexGrid1.Redraw = True
            A = A - 1
        Else
            A = A - 1
        End If
    Loop
FIN:
    MsgBox "Fin !!", vbInformation
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
Imágen de perfil de LUIS FRANCO

Msflexgrid fila vacía

Publicado por LUIS FRANCO (93 intervenciones) el 06/04/2015 18:12:37
ENVIAME EL PROYECTO A VER.

No entendi nada de lo que me escribiste
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

Msflexgrid fila vacía

Publicado por Martin (28 intervenciones) el 06/04/2015 18:25:56
Si mira, la grilla la lleno desde un recordset, una vez lleno el usuario va capturando cantidades en la columna 1, algunos renglones quedan vacios entonces al momento de dar click en el boton imprimir el ciclo debe detectar y borrar los renglones que tengan la columna 1 vacia para posteriormente imprimirmos, el ciclo solo me esta funcionando si los renglones con cantidades estan continuos, si existe algun renglon vacio entre renglones con cantidad se pierde y me borra el ultimo que tenga cantidad y me deja el vacio que debio de haber eliminado ejemplo:

renglon columna 1
1 si
2 si
3 si
4 si
5
6 si

En el ejemplo anterior vemos que la grilla cuenta con 6 renglones en los cuales solo el 5 esta vacio por lo que al ejecutar el cliclo deberia de resultar lo siguiente :

renglon columna 1
1 si
2 si
3 si
4 si
6 si
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
Imágen de perfil de LUIS FRANCO

Msflexgrid fila vacía

Publicado por LUIS FRANCO (93 intervenciones) el 07/04/2015 15:46:50
Martin te hice un programa revisalo y dime si te funciona.

por lo que me explicas esto es lo que quieres hacer.

Sin mas por el Momento se Despide.

LUIS A FRANCO R
INGENIERO DE SISTEMAS
EMAIL: [email protected]
TLF: 0426-5821929
PIN: 79F120E2
INSTAGRAM: FRANCO776
TWITTER: @FRANCO776
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Msflexgrid fila vacía

Publicado por Martin (28 intervenciones) el 07/04/2015 16:20:51
Que tal Franco, te comento que no me funcionó porque la captura que yo realizo es solo sobre la grilla y no sobre la bd, de cualquier forma encontré el error en mi código el cual se localizaba en la línea :

MSFlexGrid1.RemoveItem (MSFlexGrid1.Row)

solo era cambiar el msflexgrid1.row por la literal del contador :

MSFlexGrid1.RemoveItem (a)

con esto ya funciona perfecto, de todas formas agradezco infinitamente tu ayuda e interés, tu programa lo voy a guardar porque estoy convencido de que me va a ser util en futuros proyectos, mil gracias.

Saludos cordiales...
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
Imágen de perfil de LUIS FRANCO

Msflexgrid fila vacía

Publicado por LUIS FRANCO (93 intervenciones) el 07/04/2015 18:03:23
Siempre a la orden amigo. Estamos para eso ayudarnos mutuamente.

Sin mas por el Momento se Despide.

LUIS A FRANCO R
INGENIERO DE SISTEMAS
EMAIL: [email protected]
TLF: 0426-5821929
PIN: 79F120E2
INSTAGRAM: FRANCO776
TWITTER: @FRANCO776
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