Access - ayuda con recordset

 
Vista:

ayuda con recordset

Publicado por Félix (183 intervenciones) el 24/07/2007 12:23:25
wenas tengo una tabla a la que desearia agregar un valor al campo (estadofactura )mediante recordset.

Para llamar al valor en un form a un texbox utilizo esto:

Dim ex As DAO.Recordset
Set ex = CurrentDb.OpenRecordset("SELECT * FROM PRESUPUESTO Where IdClienteF = " & Lista1, dbOpenDynaset)
texbox =ex!estadofactura
ex.Close: Set ex = Nothing

Ahora bien como puedo hacer lo inverso, osea agregar / editar ese campo y añadir un nuevo valor, yo e intentado mediante ex!estadofactura = 1 Pero me pide edit le agregue
.edit
ex!estadofactura = 1
.update

pero solo tengo errores..... alguien me podria facilitar la solucion

Gracias: Felix
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con recordset

Publicado por Enrique (1299 intervenciones) el 24/07/2007 16:09:41
Hola, prueba de esta forma:

Dim ex As DAO.Recordset
Set ex = CurrentDb.OpenRecordset("SELECT * FROM PRESUPUESTO Where IdClienteF = " & Lista1, dbOpenDynaset)
If Not ex.EOF Then
ex.Edit
ex!estadofactura = 1
ex.Update
Else
MsgBox "No se ha encontrado en el Campo IdClienteF de la Tabla Presupuesto ningún registro coincidente con Lista1", vbCritical, "Error"
End If
ex.Close: Set ex = Nothing

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con recordset

Publicado por Félix (183 intervenciones) el 24/07/2007 18:31:06
Si funciona Muchas gracias......pero ahora me veo con la necesidad de crear un nuevo registro y tambien poder eliminarlo en otra ocasión, es posible o mejor busco otra forma de hacerlo?

gracias de antemano: Enrrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con recordset

Publicado por Enrique (1299 intervenciones) el 24/07/2007 18:55:40
Hola Felix:
Crear un nuevo registro no tiene dificultad, es exactamente igual pero cambiando ex.Edit por ex.AddNew y luego incluyendo el resto de campos que necesites antes de ex.Update y para eliminar sustituyes ex.AddNew por ex.Delete y seguidamente haces un Requery al Formulario (Me.Requery) si es el formulario activo y (Form_NombreSubForm.Requery) si es un subformulario y no tiene el Foco y lógicamente solo eliminará los registros que hayas seleccionado con el Where de la sentencia Select.

Lo más lógico es poner un Evento diferente para cada acción en el Click de botones de comando: Para Grabar, Evento Grabar_Click() y para Eliminar, Evento Eliminar_Click()

En el caso de que solo desees eliminar un determinado registro, la condicion del Where deberá hacer referencia a un campo único, o sea, que no se repita en ningún otro registro como un "Id" o "NroCliente", etc. de forma que nunca puedas borrar accidentalmente varios registros. Cualquier duda, aqui estamos.

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con recordset

Publicado por Enrique (1299 intervenciones) el 24/07/2007 19:02:20
Se me olvidó decirte que para añadir registros, el Select no debe tener ninguna cláusula Where, simplemente abrir la Tabla o Consulta en modo actualización dinámica:

Set ex = Currentdb.OpenRecordset("Tabla1", dbOpenDynaset)

Un saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con recordset

Publicado por felix (183 intervenciones) el 24/07/2007 21:09:34
Me! [me salvaste la vida] = "todo va genial"
iF [miles y un millón chorocientasmil gracias....] = [ me salvaste la vida] Then GRACIAS ENRRIQUE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar