Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ADO
 Horas Negativas
 Foro Bloqueado  Tema Bloqueado


Autor Temas
sheyla82
Starting Member

España
37 Posts
Mensajes - 22 Sep 2004 :  12:33:24  Ver Perfil  Enviar Email
Hola gente!!
Mi problema es el siguiente: Tengo una base de datos en SQL Server en la que tengo almacenados unos balances de tiempos en minutos (tipo numérico). Por ser balances, tengo tiempos positivos y negativos, e incluso superiores a 24 horas algunos. Esto se sale de lo permitido para campo tipo fecha/hora, que va de 00:00 a 23:59. Lo que quiero es pasar estos datos en horas a una bd en access mucho más simple y que me viene mejor para trabajar después. Lo que hago es pasar los minutos a un string, y en la bd de access lo intento pasar en tipo texto. Ése es el error, no se transforma al formato de horas y sigue pasando los datos como minutos. Si lo pongo en positivo, sí funciona. He marcado la línea a partir de la cual falla. Me muestra correctamente el Msgbox dato (por ejemplo -08:00), pero luego lo pasa mal a la bd (ese dato lo pasaría como -480).Os dejo el código por si tenéis alguna sugerencia, que me estoy volviendo loca..
Muchísimas gracias, ya sólo por haber leido la chapa esta.

Option Explicit
Public KelioSQL As Database
Public KelioACCESS As Database

Public tabAcumuladosDiariosSQL As Recordset
Public tabAcumuladosDiariosACCESS As Recordset

Dim Signo As Boolean
Dim dato As String

Public Function Minutos_HorasMinuto(Minutos As Double) As String

On Error GoTo ErrorHandler
If Minutos < 0 Then
Signo = False
Minutos = Minutos * (-1)
Else
Signo = True
End If
Minutos_HorasMinuto = Format$(CStr(Int(Minutos / 60) Mod 60), "00") & ":" & _
Format$(CStr(Minutos Mod 60), "00")

If Signo = False Then
Minutos_HorasMinuto = "-" + Minutos_HorasMinuto
End If
On Error GoTo 0
Exit Function

ErrorHandler:
Minutos_HorasMinuto = "0:00"
On Error GoTo 0
End Function

Private Sub Form_Load()

Set KelioSQL = OpenDatabase("E:\OUTSOURCING\data\KelUXSQL.mdb")
Set KelioACCESS = OpenDatabase("e:\outsourcing\web\pruebas\data\kelio2.mdb")



Set tabHorariosDiariosSQL = KelioSQL.OpenRecordset("dbo_THOR_JOUR", dbOpenDynaset)
Set tabHorariosDiariosACCESS = KelioACCESS.OpenRecordset("THOR_JOUR", dbOpenDynaset)




'ACUMULADOS DIARIOS (TCUMUL_JOUR)
tabAcumuladosDiariosSQL.MoveFirst
Do While Not tabAcumuladosDiariosSQL.EOF
tabAcumuladosDiariosACCESS.AddNew
If Not IsNull(tabAcumuladosDiariosSQL!CD_A_REPORTER) Then
*********** dato = Minutos_HorasMinuto (tabAcumuladosDiariosSQL!CD_A_REPORTER) ************
MsgBox dato
tabAcumuladosDiariosACCESS!CD_A_REPORTER = dato
Else
tabAcumuladosDiariosACCESS!CD_A_REPORTER = "0:00"
End If
tabAcumuladosDiariosACCESS!CD_A_REPORTER = tabAcumuladosDiariosSQL!CD_A_REPORTER
tabAcumuladosDiariosACCESS.Update

tabAcumuladosDiariosSQL.MoveNext
Loop


gloriaz13
Starting Member

Mexico
24 Posts
Posted - 24 Sep 2004 :  16:35:09  Ver perfil  Enviar e-mail
Hola!
no revise todo el códig por que es bastante...pero, si ya tienes el dato como numérico en la de sql server, puedes convertir en string y después en date para almacenarlo en access.....bueno, es una sugerencia, aunque tal vez no entendí bien tu problema....bye

Gloria ZúñigaInicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar