Foros del Web » Programando para Internet » ASPX (.net) »

Consulta de actualización con parámetros sobre Access

Estas en el tema de Consulta de actualización con parámetros sobre Access en el foro de ASPX (.net) en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 08/07/2009, 06:13
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 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!
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 09:48.