canal visual basic .net

Recursos Visual Basic.NET, VB.NET, Manuales de programación, Tutoriales, Foros de programación, Comunidad de programadores

Usuarios activos:  52

Foros de programación, recursos, tutoriales, sistemas operativos...

Bienvenido a la zona de foros. Participa en alguno de nuestros foros: Foros de visual basic, foros de visual basic.net foros de Crystal reports, programas gratis, foros de C++ - C# , foros de Java, foros de PHP, foros de ASP.net. Seguro que hay un foro que te servirá de gran utilidad y si no lo encuentras avísanos y crearemos uno nuevo.
Resultados 1 al 2 de 2
  1. #1
    sk11p3r está desconectado Junior Member Iniciad@
    Fecha de ingreso
    18 ago, 12
    Mensajes
    1

    Post Calcular ULTIMO DIA a partir de un año y mes VBA... [No necesariamente el mes actual]

    Que tal, es mi primer post.

    Recurro a ustedes porque no he podido lograr solucionar este problema.

    Estoy trabajando con un pequeño sistema donde se capturan ciertos datos que vienen acentados en facturas... entre esos datos viene la fecha de factura, etc, etc. Pero no siempre se capturan al día , habeces se hace 1 o 2 meses despues.

    Por ejemplo hoy 17/08/2012 capturo datos en el sistema con fecha de 29/02/2012...

    Entonces como estoy tratando de evitar la mayor cantidad de errores por parte del usuario, quiero validar los datos. En este caso quiero limitar el numero de días a partir de año y mes que halla tecleado el usario, asi por ejemplo si el usuario quiere agregar una nota del 29/02/2012 y por algun error teclea 30/02/2012 que no lo deje y le alerte que el mes de febrero del año 2012 solo tubo 29 días. Me explico?

    He encontrado una función para obtener el ultimo día del mes y año actual, pero yo quiero que funcione con meses y años que no sean forzosamente los actuales.
    Esta es la funcion que encontre:

    Private Sub Form_Load()
    Dim Ultimo As Date
    Ultimo = DateSerial(Year(Now), Month(Now) + 1, 0)
    MsgBox "Ultimo Dia: " & Ultimo
    End Sub

    Esto a fecha actual 17/08/2012 me devuelve esto.... 31/08/2012

    Y he tratado con esto:
    DateSerial(Year(2012), Month(2) + 1, 0)
    y me manda esto: 31/01/1905

    Tambien he declarado variables String, Variant, Date e Integer en donde les meto valores de un txt, luego esa variable la meto asi:
    DateSerial(Year(variableano), Month(variablemes) + 1, 0)
    y me manda un dato erroneo.

    Alguien sabra que estoy haciendo mal?

    Un saludo! y gracias

  2. #2
    RoyMata está desconectado Senior Member Avanzad@
    Fecha de ingreso
    06 ago, 11
    Ubicación
    Cartago, Costa Rica
    Mensajes
    184

    Predeterminado

    En la funcion DateSerial el Objeto Year lo que recibe como parametro es una fecha y no un año. Igual con el objeto Month, no recibe un mes sino una fecha completa (dd/mm/yyyy)
    Ejemplo:
    Código:
    1. Dim Fecha As Date  
    2. Fecha = "17/8/2012"       'tomamos toda la fecha con dia, mes, año
    3. Dim UltimoDia as Date
    4. 'a la funcion DateSerial le pasamos la fecha completa capturada en la variable
    5. UltimoDia = DateSerial(Year(Fecha), Month(Fecha) + 1, 0)
    Suerte

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Visual Studio .VisualBasic.net .ADO.NET .ASP.NET .Framework .Crystal report
[Visual Basic .NET · Información legal · Condiciones de uso · Publicidad · Contacto · RSS novedades Foro · Inicio]
Un sitio web de Internelia (Ontecnia) © Copyright 2013 canalvisualbasic.net. Todos los derechos reservados