FoxPro/Visual FoxPro - Urgente con base de datos

   
Vista:

Urgente con base de datos

Publicado por Manuel Medina (332 intervenciones) el 01/03/2009 20:09:19
Después de un saludo:

Mi problema es que cuando tengo que mover la base de datos a otro directorio tengo que abrir todos los formulario para pegar las tablas que usan cada uno.

Clic derecho
Data Environment, etc

Si hay una forma de manejar la db en cualquier lugar que este sin tener que modificar cada formulario seria de gran utilidad básicamente en RED LOCAL.

He intentado abriendo la db en el evento activate del formulario:

OPEN DATABASE d:dbsolutiondb.dbc SHARED.

Pero cuando ejecuto un SELECT sobre una tabla nunca la encuentra, si lo hago con USE CLIENTES, dice que ya esta en uso.

Pienso que alguien debió hacer esto en un lenguaje de tanto uso como este.

De ser así, favor detallar como lograrlo.

Agradecido de este foro:

Manuel Medina

San Juan de la Maguana.
Rep. Dominicana.
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:Urgente con base de datos

Publicado por Douglas (297 intervenciones) el 01/03/2009 23:53:37
hola q tal, yo te recomiendo que hagas los sig.

en el programa principal o form principal

pone esto

SET DEFAULT TO FULLPATH(CURDIR()) &&&&&& CUALQUIERA Q SEA EL DIR DD ESTAN LOS DATOS

SET PATH TO DATOS, REPORTES &&&&&CUANDO ABRAS TABLAS EL FOX YA VA TENER LA RUTA DE BUSQUEDA PARA CADA DATOS.

TE RECOMIENDO IGUAL QUE USE EL LOAD DEL FORMULARIO ASI NO TE DA PROBLEMAS DE ESE TIPO Y CONTROLAS MEJOR ALGUNOS TIPOS DE ERRORES

Y POR SUPUESTO ANTES DE ABRIR LA BASE DE DATOS.... COMO ESTAS EN RED DICES SERIA ASI.

TRY

OPEN DATABASE DATASISTEMA SHARED

Catch To XERROR
outmsgline = "Error en el Programa: "+ XERROR.PROCEDURE + Chr(13)+;
"Mensaje de error: "+XERROR.Message + Chr(13) +;
"No. de line: "+Str(XERROR.LineNo) + CHR(13) +;
"Linea de codigo: "+XERROR.LineContents
=MESSAGEBOX(outmsgline,48+0,"Base de datos...., 857 8475 Douglas Sánchez")
=Messagebox('Base de datos fue habierta en modo exclusivo en otra area de Trabajo',0+16,'Alerta')
=SALIR2() &&&&UNA RUTINAS PARA RETORNAR. SALIR MEJOR DICHO
ENDTRY

SALUDES

DOUGLAS
From Nicaragua
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