outer join Odbc

17/05/2005 - 23:18 por Mark | Informe spam
tengo el siguiente select

SELECT Cats.Cat AS Cat, Cats.CatId AS CatId,SubCats.Cat AS
SubCat,SubCats.CatId AS SubCatId FROM (Cats LEFT JOIN Cats AS SubCats ON
SubCats.ParentId = Cats.CatId) WHERE Cats.ParentId IS NULL ORDER BY Cats.Cat

que funciona con una conexion

cn.Open "provider=microsoft.jet.oledb.4.0;data source=" &
server.MapPath("datos/8345.mdb") & ""

Pero tuve que cambiar a una conexion tipo

user_cn.Open "Driver={Microsoft Access Driver
(*.mdb)};Dbq=C:\Inetpub\Basedatos\8345.mdb;"

Y dejo de funcionar

Alquien me puede explicar porque y como arreglo esto?'

Gracias

user_cn.Open "Driver={Microsoft Access Driver
(*.mdb)};Dbq=C:\Inetpub\Basedatos\8345.mdb;"k

Preguntas similare

Leer las respuestas

#1 Manuel Vera
18/05/2005 - 01:33 | Informe spam
Esa sintaxis de SQL no es compatible con l version de conexion "nueva" (en
realidad esa es mas vieja) que estas usando. Cambialo así:

SELECT A.Cat AS Cat
, A.CatId AS CatId
, SubCats.Cat AS SubCat
, SubCats.CatId AS SubCatId
FROM Cats AS A, Cats AS SubCats
WHERE A.CatId *= SubCats.ParentId AND
A.ParentId IS NULL
ORDER BY A.Cat

El * es el LEFT JOIN a ese lado del = es decir *Para RIGHT JOIN lo cambias... es decir =*

Salu2
MV


"Mark" wrote in message
news:
tengo el siguiente select

SELECT Cats.Cat AS Cat, Cats.CatId AS CatId,SubCats.Cat AS
SubCat,SubCats.CatId AS SubCatId FROM (Cats LEFT JOIN Cats AS SubCats ON
SubCats.ParentId = Cats.CatId) WHERE Cats.ParentId IS NULL ORDER BY


Cats.Cat

que funciona con una conexion

cn.Open "provider=microsoft.jet.oledb.4.0;data source=" &
server.MapPath("datos/8345.mdb") & ""

Pero tuve que cambiar a una conexion tipo

user_cn.Open "Driver={Microsoft Access Driver
(*.mdb)};Dbq=C:\Inetpub\Basedatos\8345.mdb;"

Y dejo de funcionar

Alquien me puede explicar porque y como arreglo esto?'

Gracias

user_cn.Open "Driver={Microsoft Access Driver
(*.mdb)};Dbq=C:\Inetpub\Basedatos\8345.mdb;"k


Respuesta Responder a este mensaje
#2 Mark
19/05/2005 - 01:04 | Informe spam
perfecto gracias si funcono, pero de donde me documento de estos tips

Mark

"Manuel Vera" escribió:

Esa sintaxis de SQL no es compatible con l version de conexion "nueva" (en
realidad esa es mas vieja) que estas usando. Cambialo así:

SELECT A.Cat AS Cat
, A.CatId AS CatId
, SubCats.Cat AS SubCat
, SubCats.CatId AS SubCatId
FROM Cats AS A, Cats AS SubCats
WHERE A.CatId *= SubCats.ParentId AND
A.ParentId IS NULL
ORDER BY A.Cat

El * es el LEFT JOIN a ese lado del = es decir *> Para RIGHT JOIN lo cambias... es decir =*

Salu2
MV


"Mark" wrote in message
news:
> tengo el siguiente select
>
> SELECT Cats.Cat AS Cat, Cats.CatId AS CatId,SubCats.Cat AS
> SubCat,SubCats.CatId AS SubCatId FROM (Cats LEFT JOIN Cats AS SubCats ON
> SubCats.ParentId = Cats.CatId) WHERE Cats.ParentId IS NULL ORDER BY
Cats.Cat
>
> que funciona con una conexion
>
> cn.Open "provider=microsoft.jet.oledb.4.0;data source=" &
> server.MapPath("datos/8345.mdb") & ""
>
> Pero tuve que cambiar a una conexion tipo
>
> user_cn.Open "Driver={Microsoft Access Driver
> (*.mdb)};Dbq=C:\Inetpub\Basedatos\8345.mdb;"
>
> Y dejo de funcionar
>
> Alquien me puede explicar porque y como arreglo esto?'
>
> Gracias
>
> user_cn.Open "Driver={Microsoft Access Driver
> (*.mdb)};Dbq=C:\Inetpub\Basedatos\8345.mdb;"k
>
>



Respuesta Responder a este mensaje
#3 Manuel Vera
19/05/2005 - 14:44 | Informe spam
Bueno, imagino que el cambio de conexión se debió a que cmbiaste de Access
2000, por ejemplo, a Access 97.
Entonces deberías consultr en la ayuda de Access 97 como hacer las
sentencias SQL. Hay algunos cambios o particularidades.
Otra fuente es la propia ayuda de Access 2000; debe tener alguna sección de
"compatibilidades" o "sentencias en desuso" o algo parecido.

Otro tip para tu nueva conexión es:
LIKE (operador)
En la nueva debes usar * en vez de %

No recuerdo máas ninguno en este momento.

Salu2
MV

"Mark" wrote in message
news:
perfecto gracias si funcono, pero de donde me documento de estos tips

Mark

"Manuel Vera" escribió:

> Esa sintaxis de SQL no es compatible con l version de conexion "nueva"


(en
> realidad esa es mas vieja) que estas usando. Cambialo así:
>
> SELECT A.Cat AS Cat
> , A.CatId AS CatId
> , SubCats.Cat AS SubCat
> , SubCats.CatId AS SubCatId
> FROM Cats AS A, Cats AS SubCats
> WHERE A.CatId *= SubCats.ParentId AND
> A.ParentId IS NULL
> ORDER BY A.Cat
>
> El * es el LEFT JOIN a ese lado del = es decir *> > Para RIGHT JOIN lo cambias... es decir =*
>
> Salu2
> MV
>
>
> "Mark" wrote in message
> news:
> > tengo el siguiente select
> >
> > SELECT Cats.Cat AS Cat, Cats.CatId AS CatId,SubCats.Cat AS
> > SubCat,SubCats.CatId AS SubCatId FROM (Cats LEFT JOIN Cats AS SubCats


ON
> > SubCats.ParentId = Cats.CatId) WHERE Cats.ParentId IS NULL ORDER BY
> Cats.Cat
> >
> > que funciona con una conexion
> >
> > cn.Open "provider=microsoft.jet.oledb.4.0;data source=" &
> > server.MapPath("datos/8345.mdb") & ""
> >
> > Pero tuve que cambiar a una conexion tipo
> >
> > user_cn.Open "Driver={Microsoft Access Driver
> > (*.mdb)};Dbq=C:\Inetpub\Basedatos\8345.mdb;"
> >
> > Y dejo de funcionar
> >
> > Alquien me puede explicar porque y como arreglo esto?'
> >
> > Gracias
> >
> > user_cn.Open "Driver={Microsoft Access Driver
> > (*.mdb)};Dbq=C:\Inetpub\Basedatos\8345.mdb;"k
> >
> >
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida