FoxPro/Visual FoxPro - porfa ayuda

 
Vista:

porfa ayuda

Publicado por martin jose  (49 intervenciones) el 10/05/2008 19:13:27
este es mi correo
[email protected]
martin muñoz desde b/quilla colombia

Muchas gracias por la ayuda que me han prestado.
Hoy tengo el siguiente inconveniente resulta que quiero poner un accso directo en las terminales para en el cual ejecuten mi programa en forma multiusuario.
Resulta que le programa solo se ejecuta desde donde tengo instaladas la base de datos con sus tablas en las terminales donde puse un accso directo el program no me ejecuta nada me dice un error que LA RUTA DE ACCERO ES INVALIDA NO EXISTE EL ARCHIVO SYSTEN.DBC que el es mi base de datos este acceo directo yo lo hice entrando al servidor y enviandolo al escritorio de la Terminal
Este es mi programa que abra la base de datos quiero que me lo revisen y me digan donde tengo el error por que solo encuentra la base de datos es en el servidor
si tines un programa ya escrito por fa pasenmelo por el correo se lo agradesere
por que este no me sirve y no tengo idea donde esta el error se que es en el PATH

screen.visible = .T.
SET EXCLUSIVE OFF
clear all
PUSH MENU _MSYSMENU
SET NOTIFY OFF
_screen.backcolor = rgb (111,149,106)
set notify off

SET CLOCK ON
SET SYSMENU OFF
SET SYSMENU TO
dO c:proyectograficosinicio.mpr
set defa to fullpath(curdir())
set path to proyectoconsul,proyectoformula,proyectograficos,proyecto eportes,proyecto ablas
close tables all
public tabla1,indice1,indice2,tith1,tith2,titulo,clave,txtid,txtclave,veces,p,cla,m.clave,cod,m.cod,ni,m.nivel,m.nombre,cliente,laboratorio,proveedor,usuario,cambioclave,infcon,infven,facturacion,credito,compras,devolucio,ajustes,ventasdia,rotacion,impentra,impfac,ventaclie,devoiten,impdev,devclie,impord,sb1,sb2,sb3,sb4,sb5,sb6,sb7,sb8,sb9,sb10,saldo
txtid=""
p=0
non=m.nombre
cod=""
cla=m.clave
veces=""
clave=""
indice1=""
indice2=""
tith1=""
tith2=""
titulo=""
tabla1=""
cla=clave
ni=m.nivel
set procedure to promaest
open data system.dbc shared
_SCREEN.ICON = "c:archivos de programamicrosoft visual studiovfp98wizardsgraphics uilder.ico"
_SCREEN.CAPTION = "MARKE 2.007"
_SCREEN.PICTURE = "c:proyectograficoslogo1.jpg"

select 1
use usuario
READ EVENTS
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
sin imagen de perfil
Val: 4
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:porfa ayuda

Publicado por kong (682 intervenciones) el 11/05/2008 07:17:56
por lo visto, en ningun instante defines el acceso al directorio de la pc principal.
Escribe una sintaxis parecida a esta:

USE //Kong-cliente/d/CHIFA/DSERVIDOR/mesas

...las barras inclinadas a la izquiera son reemplazadas por las que son inclinadas a la derecha.
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:porfa ayuda

Publicado por jose camilo (805 intervenciones) el 11/05/2008 12:08:04
lo primero es el set path debes tenerlo antes del Do form
ademas usa esta :
Set Defa To SYS(5) + SYS(2003)

te da como retorno el lugar donde se encuenta el .EXE

tienes un servidor donde guardas tu exe y las tablas, en vez de poner exe en cada terminal mejor lo pones en el servidor y saca un acceso directo en cada terminal de esta manea la cadena k te envio funciona sin problema. otra cosa yo utilizo poner los exe y las bd juntas
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:porfa ayuda

Publicado por martin jose (49 intervenciones) el 12/05/2008 17:54:26
gracias lo que pasa es que cuando ejecuto el punto exe desde la terminal no enruta la base de datos porque sale un error que dice el archivo sistem . dbc no existe el cual es mi base de datos.
el programa solo corre en el servidor ya que hay estan la base de datos y sus tablas
como hago en el programa principal para que desde cualquier terminal pueda ejecutar el programa sin ningun impace
gracias por la atencion lprestada esperando una pronta ayuda
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:porfa ayuda

Publicado por Marvin Emilson Pineda (28 intervenciones) el 12/05/2008 21:00:43
Martin,

lo que sucede es que VFP cuando en los formularios utilizas Dataenvironment el compila la dirección de donde estas abriendo las tablas, como tu lo mencionas creas el programa en el servidor y luego lo copias a las terminales donde no esta funcionando bien. ahora, lo que podrias hacer es lo siguiente en tu programa

Public lcDBasePath
lcDBasePath = [<<Nombre o IP del servidor>>\Facturacion\Dbfs\Facturacion.dbc]
Open Database (lcDBasePath) Shared

con estas 3 lineas le indicas al sistema donde estan la base de datos y la abreas para utilizarla en todo el sistema

luego en evento BeforeOpenTables() insertar este código en todos tus formularios
= SetTablePath(THIS)

SetTablePath() sera una funcion en tu archivo de procedimiento en caso de que no lo tengas tendras que crearlo

Function SetTablePath(oDataEnvironment)
If Type('oDataEnvironment') = 'O' Then
Local Array _HowManyCursor[1]
Local _WhichOne
_HowManyCursor = AMember(_Cursors, oDataEnvironment, 2)
For _Begin = 1 To _HowManyCursor
_WhichOne = Alltrim(_Cursors(_Begin))
oDataEnvironment.&_WhichOne..DataBase = Dbc()
Endfor
EndIf
EndFunc

y esto deberia de resolver el problema...

en caso de dudas no dudes en consultar
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
sin imagen de perfil

RE:porfa ayuda

Publicado por wenceslao piraquive (137 intervenciones) el 15/05/2008 16:56:29
ya reviso, que los ejecutable mencionados esten conectados al principal, lo digo porque ami me paso lo mismo y era solo eso, que no estaba bien enrutado el exe. con el servidor
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