Clipper/FiveWin - Alias no funciona

 
Vista:

Alias no funciona

Publicado por wend (4 intervenciones) el 04/05/2006 16:59:27
Saludos amigos foristas, necesito su ayuda de urgencia

Tengo el siguiente codigo:

* El nombre de la tabla se crea dinamicamente con anterioridad
WLITBAS1 = "200102.DBF"
SELECT 19
USE &WLITBAS1 ALIAS SALDOS EXCLUSIVE
INDEX ON &WINDICE TO SALDOS01
**** AQUI VA OTRO CODIGO
****
SELECT SALDOS
.....
.....

Este codigo funciona muy bine, pero el de abajo no.

WLITBAS = "200102.DBF"
SELECT 20
USE &WLITBAS ALIAS SCOA01 EXCLUSIVE
**** AQUI VA OTRO CODIGO
****
SELECT SCOA01 ** Aqui es donde sale el error

El mensaje de error me dice que el alias no existe.

¿Cuál es el problema?

Gracias anticipadas.
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:Alias no funciona

Publicado por Ingrid Lauria (48 intervenciones) el 04/05/2006 18:51:11
probá abrir las bases usando la clausula NEW, sin el select ""nn", asi:

use Base1 index Base1 NEW alias Base1
use Base2 index Base2 NEW alias Base2
use Base3 index Base3 NEW alias Base3

y luego cada vez que quieras usar el area de trabajo pones
Sele Base1
..
Sele Base2
...
Sele Base3

Probalo, suerte, Ingrid
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:Alias no funciona

Publicado por Wend (4 intervenciones) el 04/05/2006 23:53:22
esta pero ahora truena, si no sabes no des respuestas equivocadas
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:Alias no funciona

Publicado por Ingrid Lauria (48 intervenciones) el 05/05/2006 22:08:26
si truena, seguro despues llueve, asi que salí con paraguas.
Ingrid
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:Alias no funciona

Publicado por Alvaro (79 intervenciones) el 07/05/2006 06:51:24
Wend, el que seguro no sabes eres tu que pides ayuda para una cosa tan básica como es abrir una tabla. Ademas de ser un maleducado, utilizas un código antidiluviano. Entre tu código y el que propone Ingrid hay un mundo (de conocimientos).

El contenido de la variable WLITBAS1 es el mismo que WLITBAS.

¿Como te va a funcionar ese "peazo" de código, si estás intentando abrir otra vez la misma tabla en EXCLUSIVE?.

Autor: Gomboli, Mario
Título: Buenos. modales : cosas que debes saber para comportarte con exquisita educación.
Editor: Madrid : Bruño, D. L. 1997
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
Val: 6
Ha mantenido su posición en Clipper/FiveWin (en relación al último mes)
Gráfica de Clipper/FiveWin

RE:Alias no funciona

Publicado por Javier Albornoz (46 intervenciones) el 08/05/2006 19:07:41
Estimados/as:
No quiero defender a Wend, porque por mal educado/a se merece las respuestas.
Si la var WLISTBAS1 tendría el mismo valor que WLISTBAS, el error no le saldría en donde él indica, sino en USE &WLITBAS ALIAS SCOA01 EXCLUSIVE, y no como. Entiendo que Alvaro se equivoca en su respuesta ya que indica que el error se debe a que el archivo YA está abierto como exclusivo (además de criticar el código por viejo). Por lo que creo que el valor de ambas variables es el mismo solo porque es un ejemplo .

Wend, además de comportarte mejor, deberías indicar que tienes en el segundo código, ("ése de abajo que dices funca bien") en donde dice "AQUI VA OTRO CODIGO" para ver que sucede con el alias SCOA01, porque probablemente esa tabla fue cerrada.
También creo que Alvaro defiende a Ingrid porque anda buscando novia.
Atte.
Javier
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:Alias no funciona

Publicado por Alvaro (79 intervenciones) el 09/05/2006 19:03:37
Me confirmo en mi mensaje anterior, que el error se produce al intentar abrir dos veces un fichero abierto en EXCLUSIVE.

Cuando se abre un fichero con la claúsula EXCLUSIVE, normalmente se pone despues un NETERR() para saber si el fichero se ha abierto correctamente. Si no la ponemos, no sabemos si el fichero lo hemos abierto o no. Consecuentemente, si el fichero no se ha abierto el alias NO EXISTE y al ejecutar el SELECT salta el error. Pero el error no está en el SELECT si no en aperturar doblemente un mismo fichero en modo EXCLUSIVE.

Aqui tienes un ejemplo con los datos de Wend:

FUNCTION MAIN ()
local wlitbas1 := "GUIA.DBF"
local WLITBAS := "GUIA.DBF"

SELECT 19
USE (WLITBAS1) ALIAS SALDOS EXCLUSIVE

IF NETERR()
ALERT ( "FICHERO NO ABIERTO" )
ELSE
ALERT ( ALIAS() )
SELECT SALDOS
ENDI

SELECT 20
USE (WLITBAS) ALIAS SCOA01 EXCLUSIVE

IF NETERR()
ALERT ( "FICHERO NO ABIERTO" )
ELSE
ALERT ( ALIAS () )
SELECT SCOA01
ENDI

return nil
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