Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/07/2011, 22:35
Daviel
 
Fecha de Ingreso: octubre-2008
Mensajes: 44
Antigüedad: 15 años, 7 meses
Puntos: 1
Consulta fecha mas reciente y mas datos

Que tal compañeros, he estado intentando obtener de una base de datos (access) varios registros donde el criterio de eliminación son campos como "Tipo", "Año" y "Mes" sin embargo pueden existir mas de un registro donde los tres campos son iguales, ahora entonces el cuarto criterio de eliminación es el campo "fecha" donde quisiera obetener el dato con la fecha mas reciente, he utilizado la funcion Max() sin ningun exito ya que los ejemplos que he visto solo manejan un campo "x" y la fecha y son muy escuetos, en mi cunsulta aparte de los campos con los criterios de eliminación necesito los datos de varias columnas mas de la tabla para llenar una grilla, espero haberme explicado y espero sea el fro correcto para postear mi duda, sin mas pego mi código y consulta para ver si alguien pudiese hecharme una manita, de antemano muchas gracias.
Código SQL:
Ver original
  1. Sub CargarDeclaracionesCargo(ByVal vsFxAy AS AxvsFlexLib.AxvsFlexArray, ByVal TipoImpuesto AS String)
  2.         Dim ImpCn AS NEW ADODB.Connection
  3.         Dim ImpRd AS NEW ADODB.Recordset
  4.         Dim Fila, Columna AS INTEGER
  5.         Dim Importe AS DECIMAL
  6.         Dim Consulta AS String
  7.         ImpCn.OPEN("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & RutaRev & ";Persist Security Info=False;Jet OLEDB:DataBase Password=hu9rethu")
  8.         Consulta = "Select Año, Mes, TipoDeclaracion, TipoImptoCred, Impuesto, ImptoDeclAnt, Actualizacion, Recargos, Total, Compensacion, AcredIVA, " & _
  9.         "AcredIDE, PagadoSubsEmp, PagadoEfectivo, FechaPresent, NumOprn, Portal, NumFolioComp, NumOprnAnt, FechaDeclAnt, Observacion From ImptosCargo " & _
  10.         "Where TipoImptoCred = '" & TipoImpuesto & "' Group By Mes"
  11.         ImpRd.OPEN(Consulta, ImpCn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
  12.         ON Error Resume NEXT
  13.         WITH vsFxAy
  14.             .ROWS = .FixedRows
  15.             While NOT ImpRd.EOF
  16.                 .ROWS = .ROWS + 1
  17.                 .set_TextMatrix(.ROWS - 1, 1, ImpRd.FIELDS("Año").VALUE)
  18.                 .set_TextMatrix(.ROWS - 1, 2, StrConv(MonthName(ImpRd.FIELDS("Mes").VALUE, FALSE), VbStrConv.ProperCase))
  19.                 .set_TextMatrix(.ROWS - 1, 3, ImpRd.FIELDS("TipoDeclaracion").VALUE)
  20.                 .set_TextMatrix(.ROWS - 1, 4, ImpRd.FIELDS("TipoImptoCred").VALUE)
  21.                 .set_TextMatrix(.ROWS - 1, 5, ImpRd.FIELDS("Impuesto").VALUE)
  22.                 .set_TextMatrix(.ROWS - 1, 6, ImpRd.FIELDS("ImptoDeclAnt").VALUE)
  23.                 .set_TextMatrix(.ROWS - 1, 7, ImpRd.FIELDS("Actualizacion").VALUE)
  24.                 .set_TextMatrix(.ROWS - 1, 8, ImpRd.FIELDS("Recargos").VALUE)
  25.                 .set_TextMatrix(.ROWS - 1, 9, ImpRd.FIELDS("Total").VALUE)
  26.                 .set_TextMatrix(.ROWS - 1, 10, ImpRd.FIELDS("Compensacion").VALUE)
  27.                 .set_TextMatrix(.ROWS - 1, 11, ImpRd.FIELDS("AcredIVA").VALUE)
  28.                 .set_TextMatrix(.ROWS - 1, 12, ImpRd.FIELDS("AcredIDE").VALUE)
  29.                 .set_TextMatrix(.ROWS - 1, 13, ImpRd.FIELDS("PagadoSubsEmp").VALUE)
  30.                 .set_TextMatrix(.ROWS - 1, 14, ImpRd.FIELDS("PagadoEfectivo").VALUE)
  31.                 .set_TextMatrix(.ROWS - 1, 15, ImpRd.FIELDS("FechaPresent").VALUE)
  32.                 .set_TextMatrix(.ROWS - 1, 16, ImpRd.FIELDS("NumOprn").VALUE)
  33.                 .set_TextMatrix(.ROWS - 1, 17, ImpRd.FIELDS("Portal").VALUE)
  34.                 .set_TextMatrix(.ROWS - 1, 18, ImpRd.FIELDS("NumFolioComp").VALUE)
  35.                 .set_TextMatrix(.ROWS - 1, 19, ImpRd.FIELDS("NumOprnAnt").VALUE)
  36.                 .set_TextMatrix(.ROWS - 1, 20, ImpRd.FIELDS("FechaDeclAnt").VALUE)
  37.                 .set_TextMatrix(.ROWS - 1, 21, ImpRd.FIELDS("Observacion").VALUE)
  38.                 CALL AjustarAltoFila(vsFxAy, .ROWS - 1, 260, 21, 60, 4000)
  39.                 ImpRd.MoveNext()
  40.             END While
  41.             .ROWS = .ROWS + 1
  42.             FOR Columna = 5 TO 14
  43.                 Importe = 0
  44.                 FOR Fila = .FixedRows TO .ROWS - 2
  45.                     Importe = Importe + .get_TextMatrix(Fila, Columna)
  46.                 NEXT Fila
  47.                 .set_TextMatrix(Fila, Columna, Importe)
  48.             NEXT Columna
  49.         END WITH
  50.         CALL AjustarColumnas(vsFxAy, 1, 18)
  51.         ImpRd.Close()
  52.         ImpCn.Close()
  53.         ImpRd = Nothing
  54.         ImpCn = Nothing
  55.         Fila = Nothing
  56.         Columna = Nothing
  57.         Importe = Nothing
  58.     END Sub