none
Error al agregar un INNER JOIN RRS feed

  • Pregunta

  • Saludos, me genera un error al Aadicionar un segundo INNER JOIN, este es el error:

    "Error de sintaxis (falta operador) en la expresión de consulta 'D.IdProveedor=P.IdProveedor  INNER JOIN Motivos M ON D.CodMotivo=M.CodMotivo'."

    Este es mi código:

    Dim CmdDgv As New OleDbCommand("SELECT D.Item,D.Fecha,M.CodMotivo,M.Descripcion,D.NumDoc,D.DescripCaja,D.MontoCaja,P.IdProveedor,P.NombreProveedor" & _
                                           " FROM DetalleCajaChica D " & _
                                             " INNER JOIN Proveedores P ON D.IdProveedor=P.IdProveedor " & _
                                             " INNER JOIN Motivos M ON D.CodMotivo=M.CodMotivo " & _
                                                " ORDER BY D.Item ASC", Cn)
           Dim Da As New OleDbDataAdapter(CmdDgv)
            DtSalida = New DataTable
            Da.Fill(DtSalida)'EL ERROR SE ME SEÑALA AQUI --------------------------------------------
            DgvCaja.DataSource = DtSalida
            Call FormatoDataGridView()
            Call ContarRegistros()
    Les agradezco de antemano.
    jueves, 22 de noviembre de 2012 17:48

Respuestas

  • Ya econtre la respuesta, solo era colocar los parentesis, es que es Access:

     Dim CmdDgv As New OleDbCommand("SELECT D.Item,D.Fecha,M.CodMotivo,M.Descripcion,D.NumDoc,D.DescripCaja,D.MontoCaja,P.IdProveedor,P.NombreProveedor" & _
                                           " FROM (DetalleCajaChica D " & _
                                             " INNER JOIN Proveedores P ON D.IdProveedor=P.IdProveedor) " & _
                                             " INNER JOIN Motivos M ON D.CodMotivo=M.CodMotivo " & _
                                                " ORDER BY D.Item ASC", Cn)

    Gracias.
    • Marcado como respuesta Miguel_Antonio jueves, 22 de noviembre de 2012 18:25
    jueves, 22 de noviembre de 2012 18:24

Todas las respuestas

  • Cuando incié mi consulta con el INNER JOIN de los proveedors para mostrar el Id del proveedor y el nombre del proveedor, no me generaba ninguna error, pero cuando aumente este segundo INNER JOIN:

    INNER JOIN Motivos M ON D.CodMotivo=M.CodMotivo
    para mostrar el CodMotivo y al Descripcion, ahi fue donde me generó el error. gracias.
    jueves, 22 de noviembre de 2012 17:54
  • Ya econtre la respuesta, solo era colocar los parentesis, es que es Access:

     Dim CmdDgv As New OleDbCommand("SELECT D.Item,D.Fecha,M.CodMotivo,M.Descripcion,D.NumDoc,D.DescripCaja,D.MontoCaja,P.IdProveedor,P.NombreProveedor" & _
                                           " FROM (DetalleCajaChica D " & _
                                             " INNER JOIN Proveedores P ON D.IdProveedor=P.IdProveedor) " & _
                                             " INNER JOIN Motivos M ON D.CodMotivo=M.CodMotivo " & _
                                                " ORDER BY D.Item ASC", Cn)

    Gracias.
    • Marcado como respuesta Miguel_Antonio jueves, 22 de noviembre de 2012 18:25
    jueves, 22 de noviembre de 2012 18:24