Access - MANIPULAR SUBFORMULARIO DESDE CODIGO

 
Vista:

MANIPULAR SUBFORMULARIO DESDE CODIGO

Publicado por vlg (30 intervenciones) el 12/01/2004 11:00:05
COMO SE PUEDE CAMBIAR EL RECORDSET DE UN FORMULARIO , EJEMPLO SI INICIALMENTE EL SUBFORMULARIO NOS MUESTRA CLIENTES , AL HACER CLICK EN UN BOTON QUE NOS MUESTRE OTRA TABLA POR EJEMPLO PROVEEDORES
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:MANIPULAR SUBFORMULARIO DESDE CODIGO

Publicado por Miguel Gato (67 intervenciones) el 12/01/2004 15:02:03
Creo que lo que quieres no se puede hacer. Tienes que tener en cuenta que cada cuadro de texto está vinculado a un campo de una tabla. Si cambias el recordset del formulario (lo cual se puede hacer), tendrías que cambiar también el vínculo de los controles, así como crear nuevos en tiempo de ejecución en caso de que tengan distintos números de campos. Creo que esto es complicarse mucho la vida. Posibles soluciones más sencillas serían las siguientes:

* Crear dos formularios. Uno para cada tabla. En este caso, en lugar de modificar el recordset del formulario, tan solo tendrías que modificar el formulario al que está vinculado el objeto subformulario. Creo que esta es la forma más fácil. La sentencia al pulsar el botón sería la siguiente:

[Nombre_Subformulario].SourceObject = "NombreFormulario"

* Crear consultas en tiempo de ejecución y mostrarla como tablas. Esto es un poquito más complicado, pero tampoco demasiado. Si necesitas más información dímelo, pero creo que la otra forma es mucho más sencilla.

Espero que te sirva. Un saludo
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

Gracias , PERO ...

Publicado por vlg (30 intervenciones) el 12/01/2004 20:04:32
TU IDEA ES INTERESANTE , PERO UNA PREGUNTA ¿TAN DIFICIL ES EN ACCESS VISUALIZAR LOS RESULTADOS DE UNA CONSULTA EN UNA GRILLA? ME ESTOY VOLVIENDO LOCO , EN VB CON EL DBGRID ERA UN PLIS PLAS Y EN ACCESS NO HAY MANERA DE QUE DE CON LA SOLUCION , ¿TU HAS LOGRADO VISUALIZAR LOS RESULTADOS DE UN SELECT, EN ALGUN TIPO DE GRILLA?
EL DBGRID ME DEJA INTRODUCIRLO EN EL FORMULARIO DE ACCESS PERO NO ME DA ACESO A LAS PROPIEDADES DE RECORDSET , ¿me podrias hechar una mano? estoy desesperado , GRACIAS ...
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:Gracias , PERO ...

Publicado por Miguel Gato (67 intervenciones) el 13/01/2004 12:36:18
Mucho me temo que no puedo ayudarte ya que no he trabajado nunca con dbgrid en access. La recuerdo de visual basic. Lo que sí podrías hacer es asignar el recordset a una consulta, mostrarla y luego borrarla. Creo que se le puede asignar la consulta a un subformulario, pero no estoy muy seguro de las instrucciones a utilizar (se que hay que asignarle la consulta a la propiedad SourceObject del subformulario). Para crear una consulta de access a partir de una sentencia sql hay que hacer lo siguiente:

Dim NewQueDef As QueryDef
Dim ConsultaSql As String

ConsultaSql = "SELECT ..." 'Creamos la sentencia slq

Set NewQueDef = CurrentDb.CreateQueryDef("ConsultaTemporal", ConsultaSql) 'Creamos la consulta

'Aquí la puedes abrir o intentar asignarsela a un subformulario. Creo que las sentencias son las siguientes:

docmd.OpenQuery "ConsultaTemporal" 'Para abrir la consulta en ventana nueva

subformulario.SourceObject = newquerydef 'No estoy muy seguro. Si no, intenta poner el nombre de la consulta, buscar la coleccion de consultas, etc. Esto se utilizaría para asignarle la consulta al subformulario

CurrentDb.QueryDefs.Delete "ConsultaTemporal" 'Borramos la consulta

Espero que te pueda servir de algo y siento no poder ayudarte más Si no te sirve prueba a volver a hacer la pregunta en el foro. Igual alguien puede ayudarte. Un saludo.
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