Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/07/2009, 06:13
Avatar de Bravenap
Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años, 5 meses
Puntos: 4
Consulta de actualización con parámetros sobre Access

Buenos días. Probablemente el problema sea la consulta en Access y no el código en sí (por favor moderadores hagan lo propio si procede). Se trata de asignar el siguiente número de factura correlativo de la serie que le corresponda. Para ello:

Código:
            Dim cmd As New OleDb.OleDbCommand
            cmd.Connection = con
            cmd.CommandText = "UPDATE tblFacturas SET NumeroFactura = (SELECT IIF(" & _
            "EXISTS(SELECT * FROM tblFacturas WHERE YEAR(FechaFactura) = YEAR(?) AND SerieFactura = ?)," & _
            "(SELECT MAX(NumeroFactura)+1 FROM tblFacturas WHERE YEAR(FechaFactura) = YEAR(?) AND SerieFactura = ?)," & _
            "1) FROM tblFacturas) WHERE ID=?;"
            For i As Integer = 0 To IDs.Count - 1
                With cmd.Parameters
                    .Add("p0", OleDb.OleDbType.Date).Value = Today
                    .Add("p1", OleDb.OleDbType.Char).Value = Series(i)
                    .Add("p2", OleDb.OleDbType.Date).Value = Today
                    .Add("p3", OleDb.OleDbType.Char).Value = Series(i)
                    .Add("p4", OleDb.OleDbType.Numeric).Value = IDs(i)
                End With

                Try
                    con.Open()
                    cmd.ExecuteNonQuery()
                    con.Close()
                Catch ex As Exception
                    mens("No se han podido asignar numeración a la solicitud " & cmd.Parameters(4).Value, ex)
                    Exit For
                Finally
                    con.Close()
                End Try
            Next
El error que obtengo es: La operación debe usar una consulta actualizable.

¿QUé puede ser? Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!