Programación General > Visual Basic 6.0 e inferiores
Sistema: Cheques En Cartera
Makko:
Saludos gente.
Tengo algunas consulta para hacerle y quizas puedan darme una mano.
Antes que nada les comento como viene el asunto. Hice un Sistema que lleva la CARTERA DE CHEQUES de la empresa de mi padre. La App. esta dividida en INGRESOS (cheques que entran como pago) y EGRESOS (cheques que damos para pagar). Lo hice mediante una base de datos asi llevo un registro mas ordenado y prolijo. Tengo 12 TABLAS (una por cada mes) con los siguientes CAMPOS (Cliente, Cheque Numero, Banco, Fecha Cobro, Importe ($), Observaciones y Destino). Luego de cargar los datos, muestro los registros en un MSFlexGrid. Todo bien hasta aqui.
Finalmente le agregue tambien un DO LOOP que me suma todo el CAMPO "Importe ($)" asi se cual es la cantidad (en $) que hay en la cartera de cheques para cada mes.
Las preguntas son:
- Como hago para que esa suma que les comente de el resultado basandose en el CAMPO "Destino"? es decir, si DESTINO esta vacio, que lo sume... si esta ocupado que no lo sume porque con ese cheque se pago algo. Se entiende?
- En el mismo MSFlexGrid que muestro todos los registros quisiera saber si se puede hacer que se tome la fecha de la PC y si ésta coincide con la FECHA COBRO de algun registro de cheque... el registro entero se marque con ROJO.
Bueno, por ahora solo eso, ire poniendo si tengo alguna otra duda a ver si me pueden hechar una mano.
Desde ya, muchas gracias a todos por tomarse el tiempo de leer.
Saludos a todos.
Makko. :hola:
Jose Arriagada:
'Se obtiene la fecha de hoy
HoyDia=Date
'Se obtiene el numero serial de la fecha de hoy
SerialHoyDia=Dateserial(year(HoyDia),month(HoyDia),day(HoyDia))
For i=1 to MSFLEXGRID.MAXROWS-1
'Se obtiene el importe
msflexgrid1.col=5
msflexgrid1.row=i
xImporte=msflexgrid1.text
'Se obtiene el contenido de la celda Destino
msflexgrid1.col=7
msflexgrid1.row=i
sDestino=trim(msflexgrid1.text)
if Len(sDestino)=0 then
suma=suma + xImporte
endif
'Se obtiene la fecha de cheque
msflexgrid1.col=4
msflexgrid1.row=i
sFecha=msflexgrid1.text
'Se obtiene el numero serial de la fecha del cheque
SerialCheque=Dateserial(year(sFecha),month(sFecha),day(sFecha))
if SerialCheque = SerialHoyDia then
MSFlexGrid1.CellBackColor = vbRed
endif
next i
msgbox "Total Cheques:" & Suma
Makko:
Gracias Jose, siempre muy atento vos al contestar.
Luego lo probare y te comento como me fue.
Un abrazo. :hola:
Makko:
Jose:
Estoy probando lo que me dijiste y me tira error en esta linea:
--- Código: Text ---For i = 1 To MSFlexGrid.MAXROWS - 1 Yo le agregue el 1 al final del MSFlexGrid, porque vos te lo salteaste, pero lo mismo me da error:
--- Citar ---Error de compilacion:
No se encuentro el metodo o el miembro de datos.
--- Fin de la cita ---
Estuve buscando info acerca de MaxRows y lo que entendi es que seria algo asi como el número máximo de registros que se deben copiar en la hoja de calculo. Y lei por ahi que si se omite este argumento, se copian todos los registros del objeto de conjunto de registros.
No me quedo muy en claro esa parte del codigo.
Quizas este empleandolo mal.
Si queres te paso mi codigo para que lo veas, no tengo problemas en mostrartelo.
Un saludo. :hola:
ebolo:
Hola a todos, perdona Jose que me meta por en medio, pero estoy casi seguro que la propiedad .Maxrows no se puede aplicar a un MSFLEXGRID.
Usa la propiedad .ROWS, que te devuelve el nº de filas que tiene el flexgrid.
Un saludo.
Navegación
[#] Página Siguiente
Ir a la versión completa