SINTAXIS CORRECTA DEL UPDATE

Miriam
15 de Octubre del 2003
Hola
Como es la sintaxis correcta del update para dao, pues asi le pongo y me marca error, no se que hacerle pues apenas estoy aprendiendo
Set rContactos = BD.OpenRecordset("Update ventas set descuento = '" & text1.Text & "' where id=" & MODI & "")
dice que operacion no valida, y que mas se necesita usando update para que se actualize un registro usando dao?
Gracias.

sdemingo
15 de Octubre del 2003
Hola,

para ejecutar un update no es como para lanzar una select.
El RecordSet no pinta nada en esta operación.

Con DAO no lo he probado, pero con ADO es así:

' Para una Select
dim strSql as String
dim oConexion as new ADODB.Connection
dim rs as new ADODB.RecordSet

strSql = "select * from tabla where Condicion"
rs.Open strSql, oConexion, adOpenStatic, adLockOptimistic

' Para Update, Insert o Delete
Dim strSql as String
Dim oConexion as new ADODB.Connection

strSql = "Update ventas set 'campos a cambiar' where Condicion"
oConexion.Execute strSql

Como ves, en el update no hay recordset por medio.

Yo creo que en tu ejemplo podrías hacer:

BD.Execute("Update ventas set descuento = '" & text1.Text & "' where id=" & MODI & "")

o algo parececido

Un saludo
sdemingo

Baltasar
15 de Octubre del 2003
SUponiendo que el campo descuento sea un string, y que el id sea numérico, y la variable MODI sea un string, entonces el único error que veo es que estás usando OPENRECORDSET, que sirve para generar consultas, pero no comandos UPDATE, cuando lo que deberías hacer es BD.EXECUTE( "sentencia SQL" )

Saludos

Baltasar
15 de Octubre del 2003
Uys, se me ha adelantao sdemingo, jajaja.