Imprimir página | Cerrar ventana

error en suma de dias y fecha

Impreso de: Foro de Access y VBA
Categoría: Otros de Microsoft: Windows y Office
Nombre del foro: Excel
Descripción del foro: Foro de Excel y VBA de Excel
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=79802
Fecha de impresión: 24/Febrero/2020 a las 10:05


Tema: error en suma de dias y fecha
Publicado por: atecocoli
Asunto: error en suma de dias y fecha
Fecha de publicación: 27/Octubre/2014 a las 19:49
tengo un formulario VBA donde en ciertos textbox tengo fecha y en otro tengo numero de días y en el tercero me tiene que dar la suma de días con fecha nueva pero al correrlo solo me da en el tercer textbox 01/01/1900 y no cambia para nada les dejo aquí el código y de antemano les agradezco sus amables respuestas:


Dim fecha As Date
Private Sub TextBox4_Change()
TextBox5 = ""
TextBox7 = ""
End Sub

Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox4.Value = Format(TextBox4, "dd/mm/yyyy")
fecha = TextBox4.Value
End Sub


Private Sub TextBox5_Change()
Dim fecha As Date
TextBox7.Value = fecha + Val(TextBox5.Value)
End Sub

Private Sub TextBox7_Change()
TextBox7.Value = Format(TextBox7, "dd/mm/yyyy")
End Sub  ---------------------------- aqui es donde me da 01/01/1900 y no cambia por nada la fecha



Respuestas:
Publicado por: lbauluz
Fecha de publicación: 28/Octubre/2014 a las 02:04
Tienes fecha como variable global y como variable local

Luis

-------------
El Búho es mi ídolo caido


Publicado por: atecocoli
Fecha de publicación: 28/Octubre/2014 a las 02:31
Publicado originalmente por lbauluz lbauluz escribió:

Tienes fecha como variable global y como variable local

Luis

perdón soy nuevo en esto no te entendí? que es lo que tengo que hacer para que quede bien? no se si me podrías ayudar gracias


Publicado por: E. Feijoo
Fecha de publicación: 28/Octubre/2014 a las 08:22
Publicado originalmente por atecocoli atecocoli escribió:

Publicado originalmente por lbauluz lbauluz escribió:

Tienes fecha como variable global y como variable local

Luis


perdón soy nuevo en esto no te entendí? que es lo que tengo que hacer para que quede bien? no se si me podrías ayudar gracias


Si yo también cito y el que responda a cualquier mensaje también cita .... ¿al final que saldrá en el mensaje final con ciento cincuenta citas combinadas?

El que desee seguir la secuencia lo tiene 'tan sencillo' como leer el hilo desde su inicio, mas limpio, mas breve, mas fácil de mantener el orden y seguimiento ¿Por qué será que el resto de los participantes lo hace así?

Por favor: cita solo cuando sea necesario o mejor ... cuando sea indispensable, pues el hilo es monotemático para la cuestión que plantees (cada pregunta deberá tener su 'propio hilo' según las normas)


Publicado por: AnSanVal
Fecha de publicación: 28/Octubre/2014 a las 12:32
 

Dim fecha As Date ' <<< Esta es fecha global (está fuera de los módulos y permanece para todos ellos).

 
Private Sub TextBox4_Change()

TextBox5 = ""

TextBox7 = ""

End Sub

 
Private Sub TextBox5_Change()

Dim fecha As Date ' <<< Esta es fecha local (está dentro de un módulo, solo vale para este módulo pero tiene prioridad sobre la global).

TextBox7.Value = fecha + Val(TextBox5.Value) ' Aquí la fecha vale 0 (cero) ya que no se le ha asignado ningún valor.

End Sub

 
----------------------------------------------------------
 

Prueba con:

 
Dim fecha As Date, dias#

Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)

  TextBox4.Value = Format(TextBox4, "dd/mm/yyyy")

  fecha = TextBox4.Value

  FechaHasta

End Sub

 
Private Sub TextBox5_Change()

  dias = Val(TextBox5.Value)

  FechaHasta

End Sub

 
Private Sub FechaHasta()

  TextBox7.Value = Format(fecha + dias, "dd/mm/yyyy")

End Sub

 
 


-------------
Aprendemos intentando resolver dudas ajenas (ayuda cuando puedas/sepas).

Mi http://achinet.mvp-access.es/" rel="nofollow - sitio_web con ejemplos Excel.


Publicado por: atecocoli
Fecha de publicación: 28/Octubre/2014 a las 17:46
@An San Val en el texbox7 me sigue dando esta fecha y no cambia por nada 30/12/1899 con el código que me pusiste lo cual te agradezco también no se si se me permita ponerte todo el formulario completo para que puedas tener un mejor panorama?


Publicado por: emiliove
Fecha de publicación: 28/Octubre/2014 a las 17:50
Tienes que considerar, que existen palabras Reservadas en access y fecha es una de ellas, antes que hagas algo por que no le cambias el nombre a ver si es por eso.
 
Saludos.


Publicado por: atecocoli
Fecha de publicación: 28/Octubre/2014 a las 18:05
Corrección ya corrió como quería con el código que me puso AnSanVal solo lo subí al inicio de el formulario y ahí funciono a la primera les agradezco mucho su apoyo y si alguien necesita todo el formulario cuenten con el, por favor si gustan cerrar el hilo ya esta resuelto gracias nuevamente


Publicado por: AnSanVal
Fecha de publicación: 28/Octubre/2014 a las 18:20
Yo he hecho la prueba con un formulario (UserForm1) que contiene 3 cuadros de texto (TextBox4, TextBox5 y TextBox7) y como único código el que te he ofrecido.
 
Escribo una fecha en TextBox4 "12/4" (sin comillas) y pulso INTRO, me muestra en TextBox4 12/04/2014 y en TextBox7 lo mismo, escribo un número en TextBox5 "12", al escribir el "1", en TextBox7 me muestra 13/04/2014 (1 día más que la fecha de TextBox4) y al escribir el 2, en TextBox7 me muestra 24/04/2014 (12 días más que la fecha de TextBox4).
 
Supongo que eso es lo que pretendes.
 
 
De cualquier modo prueba con lo comentado por emiliove (en informática nunca se sabe) por ejemplo en lugar de fecha podrias intentar con miFecha, aunque en VBA creo que fecha no es una palabra reservada ya que se utiliza DATE (aunque si está reservada en Excel).
 
 
Editado: Lo siento, no habia leido tu último mensaje. Hilo cerrado


-------------
Aprendemos intentando resolver dudas ajenas (ayuda cuando puedas/sepas).

Mi http://achinet.mvp-access.es/" rel="nofollow - sitio_web con ejemplos Excel.



Imprimir página | Cerrar ventana