|
Mostrar Mensajes
|
Páginas: 1 [2] 3
|
13
|
Programación / Programación Visual Basic / comoparar pares de celdas en control msflexgrid
|
en: 9 Agosto 2009, 00:33 am
|
Hola a todos... Tengo un problemilla que le he dado vueltas y no he podido resolver... resulta que tengo 2 msflexgrid en form diferentes. en el form1 el msflexgrid tiene de columnas NI(nodo inicial), NF(nodo final) y Logintud. Cabe destacar que en el form1 hay 1 textbox y un boton y depende de la cantidad que meta en el textbox y apriete el boton saldran tantas filas como haya introducido en el textbox....( eso ya lo tengo solucionado) seguimos con el problema en el msflexgrid del form2 tambien tengo las mismas columnas (NI,NF,longitud) y hace lo mismo con el textbox pero en este caso el numero de filas puede ser menor o igual al numero de filas del msflexgrid del form 1... la pregunta es la siguiente: Como hago para comparar als columnas NI y NF(esas 2 comlumnas) del msflexgrid del form1 con las columnas NI y NF y depende de si son iguales o no traerme la longitud de la columna del msdflexgrid del form1 al msflexgrid del form2... Nota: en el form1 los datos a introducir son NI , ND y longitud y en el form2 solo introduzco el NI y NF y al apretar un boton la longitud me la deberia traer del msflexgrid del form1.. Aqui adjunto el codigo con el que he tratado... He hecho con 2 for pero me da el mismo resultado he aqui el primer code que use. Private Sub longitud() For i = 1 To Val(Text1.Text)
If frmtramos.MSFlexGrid1.Rows > 0 And Text1.Text > 0 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(1, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(1, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(1, 3) Else If frmtramos.MSFlexGrid1.Rows > 1 And Text1.Text > 1 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(2, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(2, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(2, 3) Else If frmtramos.MSFlexGrid1.Rows > 2 And Text1.Text > 2 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(3, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(3, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(3, 3) Else If frmtramos.MSFlexGrid1.Rows > 3 And Text1.Text > 3 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(4, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(4, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(4, 3) Else If frmtramos.MSFlexGrid1.Rows > 4 And Text1.Text > 4 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(5, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(5, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(5, 3) Else If frmtramos.MSFlexGrid1.Rows > 5 And Text1.Text > 5 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(6, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(6, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(6, 3) Else If frmtramos.MSFlexGrid1.Rows > 6 And Text1.Text > 6 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(7, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(7, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(7, 3) Else If frmtramos.MSFlexGrid1.Rows > 7 And Text1.Text > 7 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(8, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(8, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(8, 3) Else If frmtramos.MSFlexGrid1.Rows > 8 And Text1.Text > 8 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(9, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(9, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(9, 3) Else If frmtramos.MSFlexGrid1.Rows > 9 And Text1.Text > 9 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(10, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(10, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(10, 3) Else If frmtramos.MSFlexGrid1.Rows > 10 And Text1.Text > 10 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(11, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(11, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(11, 3) Else If frmtramos.MSFlexGrid1.Rows > 11 And Text1.Text > 11 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(12, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(12, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(12, 3) Else If frmtramos.MSFlexGrid1.Rows > 12 And Text1.Text > 12 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(13, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(13, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(13, 3) Else If frmtramos.MSFlexGrid1.Rows > 13 And Text1.Text > 13 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(14, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(14, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(14, 3) Else If frmtramos.MSFlexGrid1.Rows > 14 And Text1.Text > 14 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(15, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(15, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(15, 3) Else If frmtramos.MSFlexGrid1.Rows > 15 And Text1.Text > 15 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(16, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(16, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(16, 3) Else If frmtramos.MSFlexGrid1.Rows > 16 And Text1.Text > 16 Then If MSFlexGrid1.TextMatrix(i, 0) = frmtramos.MSFlexGrid1.TextMatrix(17, 1) And MSFlexGrid1.TextMatrix(i, 1) = frmtramos.MSFlexGrid1.TextMatrix(17, 2) Then MSFlexGrid1.TextMatrix(i, 2) = frmtramos.MSFlexGrid1.TextMatrix(17, 3) Else MsgBox "Eso no es un tramo", 48, "Atencion" End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If
Next i
aqui adjunto las fotos de los 2 form ( o la parte que me interesa que me ayuden) form1 form2
|
|
|
14
|
Programación / Programación Visual Basic / Comparar celdas de msflexgrid diferentes
|
en: 7 Julio 2009, 23:33 pm
|
Tengo una duda que no me deja avanzar un proyecto... Resulta que tengo un msflexgrid1 en un form1 y tengo otro msflexgrid2 en otro form2 -el form1 esta compuesto por un textbox1 un cmd1(boton) y un msflexgrid1 -el form2 esta compuesto por un textbox2 un cmd2(boton) y un msflexgrid2 ya tengo programado el form1 (el evento click del boton) para que al introducir un valor en la caja de texto del msflexgrid1 me salgan tantas filas como el valor de ese numero... el otro form2 tambien lo tengo programado igual en el evento click del boton para que al introducir un valor en la caja de texto del msflexgrid2 me salgan tantas filas como el valor de ese numero... mi duda es la siguiente: Como comparo yo las celdas de una columna especifica del msflexgrid1 con las celdas de otra columna especifica del msflexgrid2 Quiero traer valores de las celdas de una columna del msflexgrid1(del form1) a las celdas de una columna del msflexgrid2(en el form2) Problemas: en la caja de texto el form1 yo podria introducir por ejemplo "4" y darle click entonces en el msflexgrid1 me saldrian 4 filas...(las columnas ya vienen predeterminadas) igual en el form2 en la caja de texto2 yo podria colocar el valor 6 y al darle click al boton me saldrian 6 filas en el msflexgrid2 conclusion: puedo tener el msflexgrid1 con mas columnas q el msflexgrid2 y viceversa. he tratado esto en el form2: For i = 1 To Val(Text1.Text) + 1 If MSFlexGrid1.TextMatrix(i, 1) = frmnodos.MSFlexGrid1.TextMatrix(i, 0) Then MSFlexGrid1.TextMatrix(i, 3) = frmnodos.MSFlexGrid1.TextMatrix(i, 1) End If Next i
pero me da un error... y me imagino que es por los problemas q mencione anteriormente... Estoy trancado en un proyecto con eso... si hay alguien en este foro que me ayude a resolver este problema lo agradecería enormemente he publicado esto en varios foros y no me han respondido... Sin embargo en este foro siempre me han dado respuestas satisfactorias.. Muchas gracias de antemano. espero haber planteado lo mejor posible mi problema para que me puedan ayudar...
|
|
|
16
|
Programación / Programación Visual Basic / Con cual control hago esto?
|
en: 3 Julio 2009, 05:37 am
|
Con cual control se hace esto y como se programa... Lo que hace es q cuando yo introduzca un numero y le doy aceptar el control me muestra tantas celdas como haya metido en el textbox del ovalo de arriba... Como hago eso y como lo programo Eso lo vi de un programa y quiero usarlo en una aplicacion. Gracias de antemano
|
|
|
18
|
Programación / Programación Visual Basic / Re: Crear un informe sin necesidad de base de datos??
|
en: 2 Julio 2009, 03:31 am
|
Gracias por responder....
Te capto la idea pero me hace falta verlo mas claro...
Supongamos un ejemplo simple....
Tengo una label1.caption = "Nombre" text1.text y un boton quiero que al apretar el boton en el reporte salga Nombre ......... "Lo que este dentro del textbox"
Otra cosa.. como hago esto con data report?? Algun ejemplo les agradeceria..
|
|
|
19
|
Programación / Programación Visual Basic / Crear un informe sin necesidad de base de datos??(Solucionado)
|
en: 2 Julio 2009, 02:55 am
|
Es posible crear un informe con data report (o crystal reports..) sin depender de una base de datos^? Se puede hacer enviando los datos desde los controles del formulario?
He buscado bastante y no encuentro algo concreto sore lo que quiero hacer.. Lo que no quiero es tener que crear una base de datos solo para eso... si existe la posibilidad de hacerlo sin bd porfavor que alguien me explique o me sugiera algun post sobre esto..
P.D: Ya lei el post que esta entre los primeros sobre haer informes... pero alli es necesario una base de datos..
|
|
|
|
|
|
|