Visual Basic - actualizar cambios

Life is soft - evento anual de software empresarial
 
Vista:

actualizar cambios

Publicado por cristian (14 intervenciones) el 25/09/2007 20:49:32
Hola buenas tardes, bueno mi consulta es la sgte.:
tengo unos reportes en crystal reports11 y se muestran a traves de una aplicaion echa en visual basic y estan alojados en el servidor asi como en cada estacion, pero cada vez que se modifican dichos reportes debo ir actualizando en cada pc lo que es engorroso.
En fin lo que necesito hacer es una aplicacion la cual pueda instalar en cada pc para desde ahi el usuario los actualice.
Necesito si alguien me puede dar la pauta para desarrollarlo, se agradecera.
Que esten muy bien.
Atte. Cristian
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:actualizar cambios

Publicado por Aki (18 intervenciones) el 27/09/2007 17:40:03
Hola, espero que te ayude esto pues a mi me pasa lo mismo y lo solucione de la siguiente manera:

1.- con msdos creas un fichero BAT ejemplo - Copia.bat
el cual lo editas y le das las siguientes intrucción:
XCOPY N:\Directorio donde tienes los reportes C:\Directorio a guardar /S/E/Y
Aclaracion N:\ es el servidor por si tu le llamas de otra forma

2. Luego Copia.bat lo copias en C de cada ordenador

3. Aqui tienes dos opciones
a) hacer una tarea programada y cada vez que arranque el usuario el ordenador realice la copia automaticamente
b) crear un acceso directo a Copia.bat y el usuario que lo actualice cuando quiera

Si necesitas alguna aclarancion mas sobre tema no dudes en preguntarme.
Saludos
Aki
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:actualizar cambios

Publicado por cristian (14 intervenciones) el 27/09/2007 23:36:51
Gracias master.
Eso nesecitaba, manos a la obra.
ahi te cuento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:actualizar cambios

Publicado por CRISTIAN (14 intervenciones) el 28/09/2007 15:07:30
AKI, te cuento que hice unas pruebas locales y me funciono correctamente, pero cuando quiero darle la ruta desde el servidor, no me hace nada.
La ruta es la sgte:
\\hpserver\SISTEMAS\Reportes
y la carpeta SISTEMAS esta en el disco D del servidor.

Yo lo tengo de la sgte. forma:
XCOPY HPSERVER:\D\SISTEM~1\Report~1\*.* c:\reportes/d/E/Y

Aver si me respondes, gracias.
Atte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:actualizar cambios

Publicado por Avelina (9 intervenciones) el 04/02/2008 09:33:33
Quizá te llegue un poco tarde, pero yo en mi aplicación lo que hago es lo siguiente:
En el servidor tengo una carpeta con los reports modificados, o en tu caso si quieres pueden ser todos, y al lanzar el programa comparo la fecha del report que tengo en esa carpeta del servidor con la fecha del que tengo en cada puesto.

NombreAplicacion = "AGENDA.rpt"
Aplicacion = App.Path & "" & NombreAplicacion
AplicacionServ = RutaRaiz & "" & NombreAplicacion
FechaAplicacion = FileDateTime(Aplicacion)
FechaAplicacionServ = FileDateTime(AplicacionServ)
DoEvents
If FechaAplicacion < FechaAplicacionServ Then
FileCopy AplicacionServ, Aplicacion
End If

Así lo tendrías que hacer uno por uno y es complicado.

De esta forma lo podrías hacer de todos los de esa carpeta:

LeerDirs RutaRaiz & "" & "*.RPT" 'esta es la ruta donde están los reports modificados

Sub LeerDirs (Fichero As String)
Dim Path, DirFichero, BaseFichero As String
Dim fLocal, fServidor As String
Dim FechafLocal, FechafServidor As Variant
Dim NUMFILES, NUMDIRS, X, P As Integer
On Error Resume Next
For P = Len(Fichero) To 1 Step -1
If InStr(":", Mid$(Fichero, P, 1)) Then Exit For
Next
Path = Left$(Fichero, P)
DirFichero = Path & "*.*"
BaseFichero = Mid$(Fichero, Len(Path) + 1)
NUMFILES = FCount(Fichero)
If NUMFILES Then
ReDim FARRAY(0 To NUMFILES) As String
FARRAY(0) = Fichero
Call ReadFile(FARRAY(0))
For X = 1 To NUMFILES
fLocal = App.Path & "" & FARRAY(X)
fServidor = Path & FARRAY(X)
FechafLocal = FileDateTime(fLocal)
FechafServidor = FileDateTime(fServidor)
If FechafLocal < FechafServidor Then
FileCopy fServidor, fLocal
End If
Next
End If
End Sub

Si quieres también puedes hacerlo sin comparar las fechas, pero si tienes muchos reports va a tardar un poco.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar