Select Into Table, Alias diferente

04/08/2003 - 18:29 por Carlos Garcia Hermida | Informe spam
Hola amigos, desde hace un par de semanas me ocurre algo que no consigo
solucionar.

Tengo creadas varias clases basadas en combos relativas a Provincias,
Poblaciones, Distritos y Barrios de Madrid. En sus metodos requery asigno
una SELECT al rowsource en funcion de los valores que se vayan
introduciendo. Estas select las vuelco sobre tablas cuyo nombre lo saco con
SUBSTR(SYS(2015), 3, 10) para asi generar tablas que no coincidan con otras.

Estoy seguro que esta forma de hacerlo no es la correcta (es codigo heredado
de otro programador) pero no me queda mas remedio que seguir utilizandolo.
El problema en cuestión surge que los alias de esas tablas ya no coinciden
con el nombre con el que las creo.

Ejp- OL138WBW.DBF -> ALIAS F

Cuando quiero cerrarlas (USE IN) me dice que no encuentra el alias y por lo
tanto no puedo borrar esas tablas auxiliares. No he cambiado de version de
VFP ni de sistema, se que es alguna tonteria que se me escapa, tal vez un
SET pero no soy capaz de dar con ello.

Gracias a todos de antemano.

Preguntas similare

Leer las respuestas

#1 Luis María Guayán
04/08/2003 - 22:33 | Informe spam
Hola, hay dos cosas que están mal:

SUBSTR(SYS(2015), 3, 10) te puede retornar una cadena que empiece con un
dígito que no está permitido para nombre de cursor. Para ello utiliza
SYS(2015) ó "_" + SUBSTR(SYS(2015), 3, 10). Te recomiendo SYS(2015).

Las letras A hasta J son palabras reservadas de VFP (esto viene por
compatibilidad de la época que las areas de trabajo eran 10 en dBase ó
FoxBase).


Luis María Guayán
Vicente Trapani S.A.
Tucumán, Argentina
_____________________________________________
Microsoft Visual FoxPro MVP
SysOp de PortalFox - http://www.portalfox.com
_____________________________________________
Proteje al zorro, úsalo legalmente



"Carlos Garcia Hermida" wrote in message
news:
Hola amigos, desde hace un par de semanas me ocurre algo que no consigo
solucionar.

Tengo creadas varias clases basadas en combos relativas a Provincias,
Poblaciones, Distritos y Barrios de Madrid. En sus metodos requery asigno
una SELECT al rowsource en funcion de los valores que se vayan
introduciendo. Estas select las vuelco sobre tablas cuyo nombre lo saco
con
SUBSTR(SYS(2015), 3, 10) para asi generar tablas que no coincidan con
otras.

Estoy seguro que esta forma de hacerlo no es la correcta (es codigo
heredado
de otro programador) pero no me queda mas remedio que seguir utilizandolo.
El problema en cuestión surge que los alias de esas tablas ya no coinciden
con el nombre con el que las creo.

Ejp- OL138WBW.DBF -> ALIAS F

Cuando quiero cerrarlas (USE IN) me dice que no encuentra el alias y por
lo
tanto no puedo borrar esas tablas auxiliares. No he cambiado de version de
VFP ni de sistema, se que es alguna tonteria que se me escapa, tal vez un
SET pero no soy capaz de dar con ello.

Gracias a todos de antemano.


Respuesta Responder a este mensaje
#2 Carlos Garcia Hermida
05/08/2003 - 09:08 | Informe spam
Perfecto amigos, con la solucion de cambiar la forma de conseguir el nombre
aleatorio funciono, al final opte por la solución de Luis Maria de dejar
solo el sys(2015), gracias a ti tb Jorge.

Lo raro de todo esto es que este codigo llevaba funcionando 2 años y ahora
de repente dejo de hacerlo. Y es cierto lo de que los cursores no pueden
empezar por digito de ahi mi error. Por cierto Esparta gracias tambien a ti
aunque probe lo de volcarlo a un cursor y no se porque razon me daba un
"Error de sintaxis". Aunque ahora que lo estoy escribiendo ya se que el
error de sintaxis es provocado porque el nombre de cursor que me daba
empezaba por digito!!.

Thisform.file_provincia = SUBSTR(SYS(2015), 3, 10)

this.rowsourcetype = 3

this.rowsource = "select provincia, id " + ;
" from provincias where VAL(pais) = thisform.pais" + ;
" into cursor " + thisform.file_provincia + ;
" order by provincia readwrite"


Gracias por vuestra ayuda.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida