Leer una base sin permiso
Posted: Thu May 21, 2009 3:50 pm
Hola a todos
Tengo un programa que se ejecuta al iniciar sesion. El programa resisde el la carpeta NETLOGON, en el perfil del usuario se coloca el nombre del programa y lo ejecuta.
Existe una carpeta compartida donde se encuentra la base a leer y solo tiene permiso un usuario. La idea es darle permiso mediante el NET USE, la lee y luego desactiva.
Funciona, pero solo si hago un print Ej: ?BASE, no se con que reemplazarlo para que no se detenga
Aqui va el fuente
El programa muestra el cumpleañero del día en un Postit.
Quizas alquien tenga otra idea.
Gracias de antemano por sus aportes
Saludos
Adhemar
Tengo un programa que se ejecuta al iniciar sesion. El programa resisde el la carpeta NETLOGON, en el perfil del usuario se coloca el nombre del programa y lo ejecuta.
Existe una carpeta compartida donde se encuentra la base a leer y solo tiene permiso un usuario. La idea es darle permiso mediante el NET USE, la lee y luego desactiva.
Funciona, pero solo si hago un print Ej: ?BASE, no se con que reemplazarlo para que no se detenga
Aqui va el fuente
Code: Select all
REQUEST DBFCDX
Function Main()
RddSetDefault( "DBFCDX" )
SET RESOURCES TO "CUMPLE.DLL"
Store 0 To BdrCtos,vBdr,vBdr1
Lin=50; Col=150
WinExec("Net use \\FOSERVER\RRHH clave /user:acuellar",0)
ViaRRHH:="\\FOSERVER\RRHH\DATA\"
vFecAyer:=Left(dtoc(date()-1),5)
Base:=ViaRRHH+"DATPER"
?Base // [b]SI NO COLOCO ESTA LINEA NO FUNCIONA[/b]
Use (Base) Inde (Base) Alias EMPL NEW SHARED
SET ORDER TO TAG DATPER2
Set Filt to Left(dtoC(FechaNac),5)=Left(dtoC(date()),5)
dbGoTop()
Define window oWnd from 0,1 to 0,1 STYLE WS_POPUP
Activate Window oWnd On Init Nota()
WinExec("Net use \\FOSERVER\RRHH /delete",0)
EMPL->( dBCloseArea() )
Retu nil
*
Func Nota()
nVen:=1
Do while !Eof()
mcual=Str(nVen,1)
Public ownd&mcual
Define Window ownd&mcual from Lin/16,Col/8 to Lin/16+8,Col/8+30 Color CLR_GREEN,CLR_YELLOW STYLE nOr(WS_POPUP,WS_BORDER) of oWnd
ownd&mcual:cargo:=mcual
Activate Window oWnd&mcual on init Botones(ownd&mcual,1)
DbSkip()
nVen++
Lin=Lin+70
Col=Col+70
BdrCtos=BdrCtos+1
Endd
Retu nil
*
Func Botones(Vent1,vNr)
@ 0,0 BITMAP resource "Esquina" NOBORDER OF Vent1 PIXEL SIZE 80,21
@ 1.7,Vent1:nWidth()-20 BITMAP resource "Quitar" NOBORDER OF Vent1 PIXEL SIZE 15,14 ON LEFT CLICK Cierra(Vent1)
mTexto(Vent1,vNr)
Retu nil
*
Func Cierra(Vent2)
mcual:=Vent2:cargo
If BdrCtos=1
oWnd:End()
Set Resources to
Close data
Else
ownd&mcual:End()
BdrCtos=BdrCtos-1
Endi
Retu nil
Func mTexto(Vent3,vNr)
cNOM:=OemToAnsi(Alltrim(NOMBRE))+" "+OemToAnsi(Alltrim(APELLIDOS))
@ 1.7,.4 SAY oSay PROMPT "Hoy es cumpleaños de:" OF Vent3 SIZE 173,14 COLOR CLR_HRED
@ 3.2,.5 SAY oSay PROMPT cNOM OF Vent3 SIZE 173,13 COLOR CLR_HBLUE
Retu nil
Quizas alquien tenga otra idea.
Gracias de antemano por sus aportes
Saludos
Adhemar