Código:
El error que obtengo es: La operación debe usar una consulta actualizable. 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
¿QUé puede ser? Gracias y un saludo.