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:
En el FROM, usa INNER JOIN, LEFT JOIN....cosas que en mi vida he visto, pero según deduzco en SQL sería :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)
Código:
No?FROM InmAlquilerItem,InmAlquiler,CodClientes WHERE CodClientes.nombre NOT NULL AND InmAlquilerItem.contratrato=InmAlquiler.codigo AND InmAlquiler.cliente=CodClientes.codigo
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!