Problema con DTPicker

22/02/2008 - 20:56 por Miguel | Informe spam
En un formulario de entrada de datos que, mediante una macro me copia
los datos en una hoja determinada, entre otros, tengo un DTPicker que
utilizo para introducir la fecha. El problema es que seleccione la
fecha que seleccione, siempre me copia 00/01/1900. ¿A qué puede
deberse?
Muchas gracias.
Miguel A.

Preguntas similare

Leer las respuestas

#6 Miguel
23/02/2008 - 20:54 | Informe spam
On 23 feb, 20:39, "Héctor Miguel"
wrote:
hola, Miguel !

> El codigo que utilizo es el siguiente:    (...)

1) en el codigo que expones, la (unica) instruccion que "administra" el valor del DTPicker1 es la que hace el "pase" a la hoja:

>       .Offset(, 1) = DTPicker1

2) prueba eliminando el procedimiento de evento: > Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer...
    no creo que sea necesario (ademas de que no se aprecia la existencia de algun control "Calendar1" en el formulario) -?-

3) hice pruebas con el archivo anterior que habias proporcionado y... (sin problemas)...
    a menos que (ahora) hubieras modificado/alterado/... otras propiedades, aumentado controles/eventos/codigos/...    -???-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ el codigo expuesto __





> Dim n As Integer
> Private Sub CommandButton1_Click()
>   Dim Salir As Boolean, EstaHoja As String
>   For n = 1 To 2: If Me.Controls("textbox" & n) = "" Then Salir = True: GoTo Verifica
>    Next
>   If IsNull(DTPicker1) Then Salir = True
> Verifica:
>   If Salir Then MsgBox "FALTAN CASILLAS POR LLENAR !!!": Exit Sub
>   EstaHoja = IIf(TextBox2 = "SIN DETENIDO", "estadistica_1", "estadistica")
>   With Worksheets(EstaHoja)
>     With .Range("a65536").End(xlUp).Offset(1)
>       .Value = .Row - 6
>       Range("registro") = .Value + 1
>       .Offset(, 1) = DTPicker1
>       .Offset(, 2) = TextBox1.Value
>       .Offset(, 3) = TextBox2
>       .Offset(, 4) = TextBox3
>       .Offset(, 5) = ComboBox1
>       .Offset(, 6) = TextBox4.Value
>       For n = 2 To 5: .Offset(, n + 5) = Controls("combobox" & n): Next
>       .Offset(, 11) = ComboBox6
>       .Offset(, 12) = TextBox7.Value
>       .Offset(, 13) = ComboBox7
>       .Offset(, 14) = TextBox5.Value
>       .Offset(, 15) = TextBox6.Value
>       For n = 8 To 9: .Offset(, n + 8) = Controls("combobox" & n): Next
>       .Offset(, 18) = TextBox8.Value
>       .Offset(, 19) = TextBox8.Value
>     End With
>   End With
> End Sub

> Private Sub CommandButton2_Click()
>   DTPicker1 = Null
>   For n = 1 To 9: Me.Controls("textbox" & n) = "": Next
>   For n = 1 To 9: Me.Controls("combobox" & n).ListIndex = -1: Next
> '  Worksheets("listas").Visible = True
> '  Worksheets("listas").Select
> '  Worksheets("listas").Visible = False
>   Worksheets("Formulario").Select
> End Sub

> Private Sub CommandButton3_Click()
> Unload Me
> End Sub

> Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
> Calendar1.Today
> End Sub

> Sub Nombre_a_listas()
>   Dim nCol As Byte, Listados As Range, n As Byte, TitulosA, TitulosB
>   TitulosA = Array("Uni", "Des", "Nac", "Mot", "Pro", "Vue", "Sex", "Tip", "Sis", "Inf", "Fun")
>   TitulosB = Array("Unidad", "Destino", "Nacionalidad", "Motivo", "Procedencia", "Vuelo", "Sexo", "Tipo de Sustancia", "Sistema de Oculatacion", "Informacion", "Funcionarios")
>   On Error Resume Next
>   For n = LBound(TitulosA) To UBound(TitulosA): Names(TitulosA(n)).Delete: Next
>   On Error GoTo 0
>   Range("a1:k1") = TitulosA
>   Set Listados = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
>   For nCol = 2 To 11
>     Set Listados = Union(Listados, Range(Cells(1, nCol), Cells(1, nCol).End(xlDown)))
>   Next
>   Listados.Select
>   Selection.CreateNames True
>   Range("a1:k1") = TitulosB
>   Range("a1").Select
>   Set Listados = Nothing
> End Sub

> Private Sub Workbook_Open()
> Sheets("Inicio").Select
>   Dim Hoja As Worksheet
>   For Each Hoja In Worksheets(Array("Inicio", "Formulario", "Estadistica", "Tabla", "Listas"))
>     Hoja.Protect Password:="123", UserInterfaceOnly:=True
>   Next
>   Range("fecha").Value = Date
> End Sub

__ la consulta original __



>> En un formulario de entrada de datos que, mediante una macro me copia los datos en una hoja determinada
>> entre otros, tengo un DTPicker que utilizo para introducir la fecha.
>> El problema es que seleccione la fecha que seleccione, siempre me copia 00/01/1900.
>> A que puede deberse?

> por que no expones el mecanismo, la propiedad, el tipo de vinculo (o lo que sea) que utilizas (en codigo ?)...
> - para "tomar" el dato que se seleccione del DTPicker
> - para "depositar" (y como y en donde) el resultado de la seleccion
> - si utilizas alguna variable (pre)declarada para el tipo de datos
> - cuaquier otro detalle que hubieras dejado "en el tintero" -?-- Ocultar texto de la cita -

- Mostrar texto de la cita -- Ocultar texto de la cita -

- Mostrar texto de la cita -




Hola Héctor Miguel:
He eliminado esa parte del código, he realizado pruebas y me sigue
ingresando 00-01-1900, elija la fecha que elija. Como información
añadida, te puede decir, por si te sirve de algo, que en las celdas
que se copian tiene formato fecha (*14/03/2001).
Gracias.
Un saludo,
Miguel A.
Respuesta Responder a este mensaje
#7 Héctor Miguel
23/02/2008 - 21:08 | Informe spam
hola, Miguel !

He eliminado esa parte del codigo, he realizado pruebas y me sigue ingresando 00-01-1900, elija la fecha que elija.
Como informacion anadida, te puede decir, por si te sirve de algo, que en las celdas que se copian tiene formato fecha (*14/03/2001).



ya probaste a modificar ese tipo de formato ?
a partir de la version xp/2002 los formatos personalizados que utilizan * significa que NO intercambian formatos con el SO

saludos,
hector.
Respuesta Responder a este mensaje
#8 Miguel
23/02/2008 - 21:21 | Informe spam
On 23 feb, 21:08, "Héctor Miguel"
wrote:
hola, Miguel !

> He eliminado esa parte del codigo, he realizado pruebas y me sigue ingresando 00-01-1900, elija la fecha que elija.
> Como informacion anadida, te puede decir, por si te sirve de algo, que en las celdas que se copian tiene formato fecha (*14/03/2001).

ya probaste a modificar ese tipo de formato ?
a partir de la version xp/2002 los formatos personalizados que utilizan * significa que NO intercambian formatos con el SO

saludos,
hector.



Héctor Miguel, seguimos igual, con cualquier formato que aplique, el
resultado siempre es el mismo.No Žse cómo solucionar el problema.
Gracias.
Un saludo,
Miguel A.
Respuesta Responder a este mensaje
#9 Héctor Miguel
23/02/2008 - 21:42 | Informe spam
hola, Miguel !

... seguimos igual, con cualquier formato que aplique, el resultado siempre es el mismo...



prueba cambiando la instruccion que hace el "pase" a la hoja:
de: -> .Offset(, 1) = DTPicker1
a: -> .Offset(, 1) = CDate(CLng(DTPicker1))

comentas como vamos ?
saludos,
hector.
Respuesta Responder a este mensaje
#10 Miguel
23/02/2008 - 21:59 | Informe spam
On 23 feb, 21:42, "Héctor Miguel"
wrote:
hola, Miguel !

> ... seguimos igual, con cualquier formato que aplique, el resultado siempre es el mismo...

prueba cambiando la instruccion que hace el "pase" a la hoja:
de: -> .Offset(, 1) = DTPicker1
  a: -> .Offset(, 1) = CDate(CLng(DTPicker1))

comentas como vamos ?
saludos,
hector.



Héctor,
Gracia seguimos igual.
Un saludo,
Miguel A.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida