hola tengo una duda de como insertar este campo en mi tabla, necesito hacer una bitacora pero la estoy tratando de insertar asi: & .wDay & "/" & .wMonth & "/" & .wYear & "/" & .wHour & ":" & .wMinute & ":" & .wSecond pero no es insertada como la estoy tomando del sistema no se si es asi como debe ir para insertarlo en mi campo si alguien pudiera hubicarme se los agradezco
si podrias especificar mas seria genial.
fijate si son las variables que estan vacias. aunque veo el formato que estas poniendo, creo que te conviene mas poner en vez de todo eso, usar la funcion "now()"
salu2
saludos, hola
pues miralo que etoy haciendo es una bitacora en un sistema y lo que quiero es insertar este campo por medio de las APIs y el problema esque no se como es el formato tambien obtengo el usuario etc pero falta este la funcion que estoy usando es esta
Public Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Dim LocalTime As SYSTEMTIME
GetLocalTime LocalTime
With LocalTime
MsgBox "Fecha " & .wDay & "/" & .wMonth & "/" & .wYear & "/" & .wHour & ":" & .wMinute & ":" & .wSecond
End With
pero no se si para insertar este campo en access va asi
o que, por que cuando lo obtenemos de un texbox es dd/mm/yyyy
bueno espero respuesta te agradezco la atencion a y mucho gusto
Quizas tu problema es que el field donde lo estas guardando lo tienes como Fecha/hora.
Cambiale el tipo y el formato de presentacion al campo a texto y vuelves a probarlo; en definitiva lo que tu haces es concatenar y ya eso es mejor tratarlo como texto, porque es muy probable que el formato Fecha/hora del campo aun lo entienda y te lo este abreviando.
Nota: No olvides que el campo Texto en Access lleva un limite de 50 caracteres por defecto pero lo puedes aumentar hasta 255; eso por si no puedes guardar desde el primer momento toda esa cadena.
Y si fuera poco 255 usa un campo Memo, pero ya eso seria para una exageracion de texto :P
Saludos.
emmm, crackerl, eso no tiene sentido. si pones las fechas en formato de Texto despues se hace dificil hacer las consultas y todo lo demas. Como dije antes, lo que te conviene hacer es:
en vez de usar las apis y concatenar la fecha y la hora, pasale al access directamente la funcion now()
fijate como queda: Msgbox Now
devuelve exactamente como quieres la fecha. y hasta puedes darle formato, con la funcion FormatDateTime.
si tenes alguna duda avisame.
salu2 y espero haberte ayudado.
Citaremmm, crackerl, eso no tiene sentido. si pones las fechas en formato de Texto despues se hace dificil hacer las consultas y todo lo demas. Como dije antes, lo que te conviene hacer es:
en vez de usar las apis y concatenar la fecha y la hora, pasale al access directamente la funcion now()
Nada tengo contra la funcion Now.
Lo que sucede es que me pongo un poco en su lugar. Porque a veces cada cual desea guardar sus datos a su manera y para eso el menos problematico es el tipo Texto.
Pienso que su dificultad radica en que no tiene en cuenta el tipo o el formato del campo que usa para guardar semejante String.
Saludos.
El tipo de campo Date ocupa 8 bytes, el texto según el formato que le de puede ocupar más o menos lo que haría la base de datos muy grande, además trabajar con texto es mucho más lento que trabajar con campos de tipo fecha.
Ahora a tu pregunta, para guardar todo eso en un campo de tipo Fecha existe la función DateSerial y TimeSerial, las cuales devuelven un tipo de datos Date ingresando cada parte de la fecha y hora. Podrías escribir una función para que devuelva un tipo Date a partir de la estructura SYSTEMTIME. Por ejemplo:
Function SysTimeToDate(TimeSpec As SYSTEMTIME) As Date
With TimeSpec
SysTimeToDate = CDate(DateSerial(.wYear, .wMonth, .wDay) & " " & TimeSerial(.wHour, .wMinute, .wSecond))
End With
End Function
Saludos.
pues muchas gracias chicos boy a provar la funcion y el codigo que me dieron luego les aviso si furulo este asunto y con que
muchisimas gracias nuevamente