Access - Editar un recordset con ADO

   
Vista:

Editar un recordset con ADO

Publicado por Miguel (44 intervenciones) el 04/03/2016 22:36:51
Help !!!!!

Por favor si alguien me da una mano. He creado un un recordset en VBA y al tratar de editar unos determinados campos por su valor, me da error. Por favor ayudenme.

Uso la referencia: Microsoft Activex Data Object 2.1 Library

He tratado de colocar el rst.edit y no lo encuentra o reconoce el VBA y me da error "3251" Error definido por la aplicación o el objeto

Este es mi código, el cual de hecho si crea el recordset y trae datos solo que deseo reemplazar los valores nulos por zero.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'Abrir recordset
    rst.Open sql, cnn, adOpenDynamic, adLockOptimistic
 
 
' evaluo los campos y su contenido      
    Do While rst.EOF = False
 
       '   rst.edit       no lo reconoce este atibuto edit
 
        If IsNull(rst.Fields(1).Value) Then
            rst.Fields(1).Value = 0
        End If
        If IsNull(rst.Fields(2).Value) Then
            rst.Fields(2).Value = 0
        End If
        If IsNull(rst.Fields(3).Value) Then
            rst.Fields(3).Value = 0
        End If
 
 
        rst.Update
        rst.MoveNext
    Loop
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

Editar un recordset con ADO

Publicado por Enrique Heliodoro (1663 intervenciones) el 05/03/2016 20:14:13
Utiliza DAO que es el idóneo para trabajar con Access <==> Access u deja a ADO para cuando trabajes con otros entornos no-Access (que es para lo que fue diseñado), así podrás aplicar sin problemas esa misma técnica.
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

Editar un recordset con ADO

Publicado por Miguel (44 intervenciones) el 05/03/2016 22:05:28
hola, gracias por tu respuesta.
El desarrollo esta en VBA con Excel. Lo que pasa es que leo datos de un scada y con ello grafico unas tendencias .pero como los valores cero los deja en blanco o nulo deseaba colocarles cero y es por ello que utilizo el ADO.
Me parece raro que no aparezca la opción de edit para los recordset.


El error me da cuando en la evaluación encuentra el valor cero y se intenta asignarle el valor cero

rst.Fields(1).Value = 0

en esa línea o en la que encuentra el valor y se quiere asignar dato

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

Editar un recordset con ADO

Publicado por Enrique Heliodoro (1663 intervenciones) el 06/03/2016 02:25:01
Desconozco tu particular experiencia con ADO, yo soy un 'fanatico' de DAO (consciente de la comunicación con otros entornos no-Access es complicada), pero en la ayuda (que incorpora Access) esta la solución, en ella indica expresamente que basta la asignación de un valor y posteriormente enviarle un UPDATE para que ese valor se asiente (no se habla de Edit, algo que pertenece a DAO).

De cualquier forma creo que este foro no es el mas idóneo para tu entorno, VBA es el lenguaje del OFFICCE y con ligeras diferencias utilizado en Access, Word y EXCEL que (por lo que has transcrito) este ultimo es tu entorno real de trabajo y que no tiene NADA que ver con Access (al cual este foro se dedica).
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

Editar un recordset con ADO

Publicado por Miguel (44 intervenciones) el 07/03/2016 20:09:21
Gracias por tu respuesta y comentario Enrique. En efecto no entiendo por que no lo actualiza el campo.

Utiliza el ADO porque me comunico con un SCADA y la verdad tampoco soy experto en ello pero según como lei de ayuda y foro debería de permitir poder editar los recordset pero no funciona !!

Apunte a este foro porque aca en el foro access se usa mucho la programación.

Ojala alguien mas me pueda dar su opinión.
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