Access - Buscar registro en formulario cuyo recordset fue asignado

 
Vista:
sin imagen de perfil
Val: 11
Ha disminuido su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Buscar registro en formulario cuyo recordset fue asignado

Publicado por Gerardo (4 intervenciones) el 10/03/2021 20:50:57
Necesito ayuda con el siguiente problema. Con la finalidad de ir eliminando el uso de las tablas vinculadas, estoy incursionando en el uso del ADO.

Mediante este recurso, asignè los datos a un formulario a partir de la apertura de un recordset sobre una tabla, como sigue:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub SeleccionarEventosAño(Año As Integer)
 
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.RecordSet
Dim sql As String
Dim Texto As String
 
 
Set cnn = CurrentProject.Connection
 
Texto = "%"
sql = SelecciónSQL(Texto, "Eventos", "NombreEvento", Año) (Esto devuelve una selecciòn. No es el tema en cuestiòn)
 
rs.CursorLocation = adUseNone
rs.Open sql, cnn, adOpenStatic, adLockReadOnly
 
Set Forms!F_GestiónEventos!F_Eventos.Form.RecordSet = rs
 
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing

Todo perfecto hasta ahì.

El caso es que luego en este formulario parece que hay cosas que no trabajan:

Ejemplo, no puedo hacer una búsqueda de un registro (para situarme en èl) mediante el comando cmd.findrecord

Agradecerìa ayuda al respecto.

saludos
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
Imágen de perfil de Antonio
Val: 485
Plata
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Buscar registro en formulario cuyo recordset fue asignado

Publicado por Antonio (171 intervenciones) el 10/03/2021 22:39:44
Hola, la mayoria de las propiedad del metodo Docmd solo funcionan con el formulario vinculado a una tabla, en tu caso solo estas pasando a tu formulario, el resultado de tu recordset a tu tabla, es por eso que no funciona.



------------------------------------------------------------------------------------------------------------

Vba Access

https://www.youtube.com/channel/UCjS6fHbImLyqtrcdHvJLRgg?sub_confirmation=1
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
sin imagen de perfil
Val: 11
Ha disminuido su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Buscar registro en formulario cuyo recordset fue asignado

Publicado por Gerardo (4 intervenciones) el 11/03/2021 15:17:12
O sea. De cierta forma estoy obligado a seguir utilizando entonces las tablas? No hay otra variante para lo que deseo hacer?
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
Imágen de perfil de Antonio
Val: 485
Plata
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Buscar registro en formulario cuyo recordset fue asignado

Publicado por Antonio (171 intervenciones) el 11/03/2021 16:09:14
Pues depende que tanto sabes de programación VBA, todo se puede hacer mediante programación, pero con otra lógica diferente. A lo de los asistentes de Access.

Por ejemplo un CRUD en Access es el siguiente:


Si miraste el video, pue notar que que algunas acciones se hacen mediante codigo. El metodo Docmd, se ocupa poco. Solo para abrir formularios.

El código lo puedes descargar en la descripción del video.
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
sin imagen de perfil
Val: 11
Ha disminuido su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Buscar registro en formulario cuyo recordset fue asignado

Publicado por Gerardo (4 intervenciones) el 12/03/2021 19:05:16
Me lo estudiaré y te tendré al tanto. Gracias por la orientació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
sin imagen de perfil
Val: 11
Ha disminuido su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Buscar registro en formulario cuyo recordset fue asignado

Publicado por Gerardo (4 intervenciones) el 17/03/2021 17:14:49
Saludos. Me estudié el tema. De hecho yo utilizo bastante le ADO. Aunque estoy incipiente en el tema, he ido incursionando y le he encontrado muchas ventajas. De todas formas te comento que el problema que publiqué solo se me presenta cuando es un subformulario. Hice la misma operación como formulario y me funciona perfectamente. Es poder ir a un registro cualquiera dentro de un formulario. he aplicado todo lo que se con los subformularios, que los he utilizado mucho, pero no logro resolver este problema. Sigo investigando y te mantengo al tanto.
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

Buscar registro en formulario cuyo recordset fue asignado

Publicado por Anonimo (3312 intervenciones) el 18/03/2021 11:23:36
Un sub-formulario como objeto no existe, siempre será un formulario.

El titulo de sub-formulario lo recibe cuando se utiliza a un formulario como un objeto dentro de otro formulario, la única diferencia esta en que como sub-formulario no tiene entidad propia, siempre hay que referirse a el como 'objeto' del formulario principal que a su vez tiene objetos.

El formulario 'Cliente' tendrá como objetos campos (por ejemplo: Nombre-Cliente) y la referencia al objeto seria:

1
2
Forms.Cliente.Nombre-cliente
(en la colección de objetos formulario, utiliza el de nombre 'Cliente' y dentro de el su objeto 'nombre-cliente')

Si se le utiliza como sub-formulario del formulario 'Almacen' la referencia al mismo objeto seria:

1
2
Forms.Almacen.cliente.Form.Nombre-cliente
(en la colección de objetos formulario, utiliza el de nombre 'Almacen' y dentro de el su objeto 'cliente' -que es un formulario- y dentro de el su objeto 'nombre-cliente')

Y lo ideal para utilizar en/con Access y sus objetos es DAO, ADO es una adenda para comunicarse con objetos externos.
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