La Web del Programador: Comunidad de Programadores
 
    Pregunta:  10511 - PROBLEMAS PARA CONSULTAR UNA DBF CON ACCESS 2000
Autor:  Adrián Correa
TENGO UNA PEQUEÑA BASE DE DATOS EN ACCESS97 CON WIN95 Y CON ELLA CONSULTABA UNA DBF DE UN PROGRAMA DE FACTURACION DESARROLLADO EN FOXPRO, DICHA DBF ESTA EN UN SERVIDOR (NOVELL 4.11), NO EN LA BASE DE ACCES97 QUE ESTA EN MI DISCO, SOLO UTILIZO ACCES PARA REALIZAR LA CONSULTA A TRAVEZ DE SQL, ESTA DBF ESTÁ SIENDO UTILIZADA POR OTRAS TERMINALES Y LA PODIA CONSULTAR SIN NINGUN INCONVENIENTE, LA SINTAXSIS EN SQL PARA INDICAR LA UBICACION ES ASI "FROM entcta AS e IN 'J:\PRODUCCI'[dBASE IV;]".
HACE UNOS DIAS CAMBIE HACIA WIN98 Y ACCESS2000 Y CUANDO QUIERO HACER LA CONSULTA ME APARECE EL SIGUIENTE ERROR "EL MOTOR DE BASE DE DATOS MICROSOFT JET NO PUEDE ABRIR EL ARCHIVO 'J:\PRODUCCI\ENTCTA.DBF'. ESTA ABIERTO EN MODO EXCLUSIVO POR OTRO USUARIO O BIEN NECESITA PERMISO PARA VER LOS DATOS" LO CUAL NO ES CIERTO YA QUE CON ACCES 97 LA CONSULTABA PERFECTAMENTE.

DESDE YA QUEDO MUY AGRADECIDO.

  Respuesta:  JULIAN DELA GETA BORBON
TENIA ESOS PROBLEMAS; HE MIGRADO A ACCESS 2000 CON PROGRAMILLAS DE VISUAL; HAY QUE TENER MUCHO CUIDADO CON LAS SENTENCIAS SQL, PORQUE EL MISMO ACCESS TE LAS CAMBIA; EN ESA QUE PONES PEJ, HE DETECTADO QUE SI SE MODIFICA A
IN 'J:PRODUCCI' 'dBase IV;' , FUNCIONA; GUARDAS LA CONSULTA Y CUANDO LA ABRES EN SQL TE LA HA MODIFICADO A COMO LA PONES TU (ESTA FORMA DE ESCRITURA VIENE EN LA MISMA AYUDA DE ACCESS); YA TE DIGO QUE HE TENIDO MUCHOS PROBLEMAS, Y AL FINAL LO QUE HE HECHO ES CONSTRUIRME UNA BASE IDENTICA CON LAS TABLAS IMPORTADAS DE DBF Y PERIODICAMENTE, DESPUES DE ACTUALIZAR LA INFORMACION, BORRO LAS TABLAS DBF E INSERTO TODOS LOS DATOS EN LAS TABLAS DBF VACÍAS CON UNA ORDEN \\\"INSERT INTO ... IN ...\\\"; ES DELICADO, PERO DE MOMENTO, CON LAS DEBIDAS PRECAUCIONES, NO HE PERDIDO DATOS;

AL TIEMPO DE MONTARME ESTE TINGLADO Y NAVEGANDO POR LA RED, HE DESCUBIERTO QUE CON LA OPCION AL FINAL DE LA SQL \\\"WITH OWNERACCESS OPTION\\\", DICEN QUE FUNCIONA, NO LO HE PROBADO.
AHI VA:

14. Omitir los Permisos de Ejecución
En entornos de bases de datos con permisos de seguridad para grupos de trabajo se puede utilizar la cláusula WITH OWNERACCESS OPTION para que el usuario actual adquiera los derechos de propietario a la hora de ejecutar la consulta. Su sintaxis es:

instrucción sql WITH OWNERACCESS OPTION
SELECT Apellido, Nombre, Salario FROM Empleados ORDER BY Apellido
WITH OWNERACCESS OPTION;
Esta opción requiere que esté declarado el acceso al fichero de grupo de trabajo (generalmente system.mda ó system .mdw) de la base de datos actual.

SI QUIERES MAS INFORMACION TE DEJO MI CUENTA DE CORREO
[email protected]
TENGO EL MANUAL COMPLETO DE SQL DESDE DONDE LO SAQUÉ
SI QUIERES TE LO ENVIARE
ESPERO QUE TE SIRVA. SALUDOS