• Lunes 18 de Noviembre de 2024, 11:40

Autor Tema:  Sistema: Cheques En Cartera  (Leído 2771 veces)

Makko

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
Sistema: Cheques En Cartera
« en: Viernes 23 de Junio de 2006, 22:01 »
0
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:
Saludos.
Makko.

My life is a simple thing that would interest no one. It is a known fact that I was born and that is all that is necessary.

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Sistema: Cheques En Cartera
« Respuesta #1 en: Viernes 23 de Junio de 2006, 22:41 »
0
'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

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
Re: Sistema: Cheques En Cartera
« Respuesta #2 en: Sábado 24 de Junio de 2006, 01:38 »
0
Gracias Jose, siempre muy atento vos al contestar.
Luego lo probare y te comento como me fue.

Un abrazo. :hola:
Saludos.
Makko.

My life is a simple thing that would interest no one. It is a known fact that I was born and that is all that is necessary.

Makko

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
Re: Sistema: Cheques En Cartera
« Respuesta #3 en: Sábado 24 de Junio de 2006, 02:08 »
0
Jose:
Estoy probando lo que me dijiste y me tira error en esta linea:
Código: Text
  1. For i = 1 To MSFlexGrid.MAXROWS - 1
  2.  
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.

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:
Saludos.
Makko.

My life is a simple thing that would interest no one. It is a known fact that I was born and that is all that is necessary.

ebolo

  • Miembro MUY activo
  • ***
  • Mensajes: 188
    • Ver Perfil
Re: Sistema: Cheques En Cartera
« Respuesta #4 en: Sábado 24 de Junio de 2006, 14:39 »
0
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.

Makko

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
Re: Sistema: Cheques En Cartera
« Respuesta #5 en: Martes 27 de Junio de 2006, 02:20 »
0
Gracias Ebolo, te comento que intente utilizando la propiedad ROWS pero no hace nada, si bien ahora ya no tira error pues no logra hacer nada...

Alguien mas??? :(
Saludos.
Makko.

My life is a simple thing that would interest no one. It is a known fact that I was born and that is all that is necessary.

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Sistema: Cheques En Cartera
« Respuesta #6 en: Martes 27 de Junio de 2006, 17:39 »
0
Sorry, por los detalles, pero lo hice mentalmente, sin probar...

Ahi te va el codigo con ejemplos y probado...


Private Sub command1_Click()
'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 MSFlexGrid1.Rows - 1
    'Se obtiene el importe
    MSFlexGrid1.Col = 5
    MSFlexGrid1.Row = i
    xImporte = CDbl(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
    End If
   
    '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
        For j = 1 To MSFlexGrid1.Cols - 1
            MSFlexGrid1.Col = j
            MSFlexGrid1.CellBackColor = vbRed
        Next j
    End If
Next i

MsgBox "Total Cheques:" & Suma

End Sub

Private Sub Form_Load()
MSFlexGrid1.Cols = 8
MSFlexGrid1.Rows = 1
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 1: MSFlexGrid1.Text = "Cliente"
MSFlexGrid1.Col = 2: MSFlexGrid1.Text = "N° Cheque"
MSFlexGrid1.Col = 3: MSFlexGrid1.Text = "Banco"
MSFlexGrid1.Col = 4: MSFlexGrid1.Text = "Fecha"
MSFlexGrid1.Col = 5: MSFlexGrid1.Text = "Importe"
MSFlexGrid1.Col = 6: MSFlexGrid1.Text = "Observac"
MSFlexGrid1.Col = 7: MSFlexGrid1.Text = "Destino"

For i = 1 To 30
    MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
    MSFlexGrid1.Row = MSFlexGrid1.Rows - 1
    MSFlexGrid1.Col = 1: MSFlexGrid1.Text = Format(i & "-06-2006", "dddd")
    MSFlexGrid1.Col = 2: MSFlexGrid1.Text = Format(CInt(Rnd() * 10) + i * 13 + i)
    MSFlexGrid1.Col = 3: MSFlexGrid1.Text = Format(i & "-06-2006", "mmm")
    If i = 5 Or i = 14 Or i = 23 Then
        MSFlexGrid1.Col = 4: MSFlexGrid1.Text = Format(Date, "dd-mm-yyyy")
    Else
        serial = DateSerial(Year(Date), Month(Date), Day(Date)) + i * 6 + 1
        MSFlexGrid1.Col = 4: MSFlexGrid1.Text = Format(serial, "dd-mm-yyyy")
    End If
    MSFlexGrid1.Col = 5: MSFlexGrid1.Text = Format(CInt(Rnd() * 10000), "#,##0")
    MSFlexGrid1.Col = 6: MSFlexGrid1.Text = Format(i & "-06-2006", "dddd")
    If i = 7 Or i = 13 Or i = 21 Or i = 29 Then
        MSFlexGrid1.Col = 7: MSFlexGrid1.Text = Format(i & "-06-2006", "dddd")
    End If
'Cliente, Cheque Numero, Banco, Fecha Cobro, Importe ($), Observaciones y Destino
Next i

End Sub