Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

No entiendo Sintaxis Access<>SQL Server...

Estas en el tema de No entiendo Sintaxis Access<>SQL Server... en el foro de Visual Basic clásico en Foros del Web. Hola, ya comenté ayer en otro post, que esta intando corregir algunos fallos a una aplicación privada (estoy en las prácticas del cs en una ...
  #1 (permalink)  
Antiguo 03/04/2008, 03:44
 
Fecha de Ingreso: mayo-2005
Ubicación: Vimianzo. A Coruña
Mensajes: 230
Antigüedad: 18 años, 11 meses
Puntos: 1
No entiendo Sintaxis Access<>SQL Server...

Hola, ya comenté ayer en otro post, que esta intando corregir algunos fallos a una aplicación privada (estoy en las prácticas del cs en una empresa).
El caso es que yo tanto en el ciclo superior como hago cosillas por mi cuenta, uso sintaxis SQL para SQL Server, pero esta aplicación va contra Access y parece ser Access tiene una sintaxis algo diferente y claro, no me entero para que sirven algunas cosas.
Por ejemplo:
Código:
    strSQL = ""
    strSQL = strSQL & "SELECT "
    strSQL = strSQL & "     CodClientes.Código & ' ' & CodClientes.Nombre AS Cliente, "
    strSQL = strSQL & "     InmAlquilerItem.Contrato & '.' & InmAlquilerItem.Número AS Contrato, "
    strSQL = strSQL & "     InmAlquiler.Referencia AS Obra, "
    strSQL = strSQL & "     InmAlquiler.Días AS Forma, "
    strSQL = strSQL & "     InmAlquilerItem.Artículo AS Artículo, "
    strSQL = strSQL & "     InmAlquilerItem.Denominación AS Descripción, "
    strSQL = strSQL & "     InmAlquilerItem.NSerie AS NSerie, "
    strSQL = strSQL & "     InmAlquiler.Comienzo AS Comienzo, "
    strSQL = strSQL & "     InmAlquiler.Fin AS Fin, "
    strSQL = strSQL & "     InmAlquiler.Ubicación AS Ubicación, "
    strSQL = strSQL & "     InmAlquilerItem.Importe AS Importe "
    strSQL = strSQL & " FROM "
    strSQL = strSQL & "    (InmAlquilerItem INNER JOIN InmAlquiler ON InmAlquilerItem.Contrato = InmAlquiler.Código) "
    strSQL = strSQL & "     LEFT JOIN CodClientes ON InmAlquiler.Cliente = CodClientes.Código "
    strSQL = strSQL & " WHERE "
    strSQL = strSQL & "    (NOT CodClientes.Nombre IS NULL) "
    If CboMes.ListIndex = 11 Then
        strSQL = strSQL & " AND InmAlquiler.Comienzo < CvDate('01/01/" & Format$(VarToNum(TxtEjercicio.Text) + 1, "0000") & "') "
    Else
        strSQL = strSQL & " AND InmAlquiler.Comienzo < CvDate('01/" & Format$(CboMes.ListIndex + 2, "00") & "/" & Trim$("" & TxtEjercicio.Text) & "') "
    End If
    strSQL = strSQL & "     AND InmAlquiler.Fin > CvDate('01/" & Format$(CboMes.ListIndex + 1, "00") & "/" & Trim$("" & TxtEjercicio.Text) & "') "
    If Len(Trim$("" & TxtCliente.Text)) > 0 Then
        strSQL = strSQL & " AND InmAlquiler.Cliente = '" & Trim$("" & TxtCliente.Text) & "' "
    End If
    strSQL = strSQL & " ORDER BY "
    strSQL = strSQL & "     CodClientes.Nombre, "
    strSQL = strSQL & "     InmAlquilerItem.Artículo, "
    strSQL = strSQL & "     InmAlquiler.Referencia "
    Set tbCursor = dbBaseDeDatos.OpenRecordset(strSQL, dbOpenForwardOnly)
En el FROM, usa INNER JOIN, LEFT JOIN....cosas que en mi vida he visto, pero según deduzco en SQL sería :
Código:
FROM InmAlquilerItem,InmAlquiler,CodClientes
WHERE CodClientes.nombre NOT NULL
AND InmAlquilerItem.contratrato=InmAlquiler.codigo
AND InmAlquiler.cliente=CodClientes.codigo
No?
Me podeis decir algún manual o algo por donde guiarme con esa sintaxis...
Es que sinó dificilmente podré modificarla y entenderla...
Gracias y un Saludo!
__________________
Técnico Superior en Desarrollo de Apliciones Informáticas
  #2 (permalink)  
Antiguo 03/04/2008, 04:10
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Re: No entiendo Sintaxis Access<>SQL Server...

Hola

No se ningún manual que muestre las diferencias, pero yo trabajo con Access y SQL Server 2005 y las diferencias en el lenguaje SQL realmente no me parece que sean muchas, lo del Inner Join o Left Join es para establecer las relaciones entre dos tablas o mas, por ejemplo, con inner join estas diciendo que muestre los registros que tengan coincidencia en las dos tablas.

Una manera sencilla para ver esas diferencias es creando una consulta en access utilizando la vista diseño y luego pasar a la vista SQL para ver la sintaxis del SQL.

Otra diferencia que me viene a la cabeza es que las fechas en access van entre #. Espero que algún otro usuario pueda darte una ayuda mas exacta.

--Saludos--
  #3 (permalink)  
Antiguo 03/04/2008, 04:26
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Re: No entiendo Sintaxis Access<>SQL Server...

Hola alejandro, te paso un buen tutorial bien explicado y con ejemplos:

http://www.asptutor.com/zip/sql.pdf

Está en formato pdf (34 páginas), lo puedes guardar en tu máquina.
  #4 (permalink)  
Antiguo 03/04/2008, 04:46
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Re: No entiendo Sintaxis Access<>SQL Server...

Has mirado que las tablas de Access tengan el mismo nombre que en la consulta? Access al importar/vincular una tabla le suele poner dbo_ delante. Mira que el fallo no te venga por ese motivo.
__________________
Aviso: No se resuelven dudas por MP!
  #5 (permalink)  
Antiguo 03/04/2008, 05:05
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Re: No entiendo Sintaxis Access<>SQL Server...

Hola

Le he echado un vistazo al manual y parece que esta muy bien, sobre todo la parte de referencias cruzadas, que siempre los he realizado desde diseño. Siempre esta bien tener un manual de referencia.

--Gracias Avellaneda--
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:43.