¿Como cambiar el recordset en las tablas de 1 BD Con ADO?

Iniciado por angelcont22, 19 Diciembre 2009, 07:21 AM

0 Miembros y 1 Visitante están viendo este tema.

angelcont22

Hola amigos del Foro, Acá Mi Pregunta:

Necesito crear un proyecto para una BD Acces con seis tablas y 4 consultas.

Para organizar la entrada de los datos e creado 6 contenedores (Frames) uno para cada tabla, tambien le he dado un texbox a cada campo de cada una de las tablas.

Es decir, cada tabla tiene un Frame con sus respectivos texbox, de manera de que se mantenga la exclusividad de los textbox para el datafield y el datasurf en los campos de cada tabla.

Mi problema se presenta es en recordset, como cambio el recorset o tabla?

En los frames no tengo problemas, pues con la propiedad visible, puedo quitar el que se encuentre visible y colocar o hacer visible el que quiera o necesite a traves de un command o Menu.

Por ejemplo: Al Abrir desde el menu principal datos del Socio, Aparecera un Form con los datos del Socio en la empresa.

Por principio al llamar este formulario, deben aparecer los datos de la tabla , Datos del Socio en la empresa, lo que implica la primera activacion de un recordset a la respectiva tabla y afilacion de texbox a los campos en tiempo de ejecucion.

Ok, Ahora el problema, como llamo o activo un nuevo recordset, como por ejemplo; datos personales del socio, que responden a otra tabla dentro de la misma BD, y asi para otras Tablas y si alcanza o es posible para Consultas

Es Posible hacerlo con el control ADOData, o a puro codigo?

Luego si Hay a una solucion posible, como seria posible realizar tareas Como Agregar, Borrar, Actualizar en un  solo proceso en las seis tablas?

Disculpen tanta lata solo trato de explicarme, un ejemplo de codigo o proyecto me ayudaria mucho o un ling, Claro esta que no menos preciaria una buena explicacion.... Gracias espero de ustedes.

Angeldj27

Si se puede solo cambiando el Record Source al Ado funciona bien pork es una consulta y cambiaria de tabla asi creo que hay que limpiarlo primero pero intentalo asi aber que pasa para los procesos de agregar, borrar con un if te kedaria bien.

Saludos..

PD: Yo lo haria con un ado para cada una de las tablas y me ahorro muchas cosas pero bueno dale pa ya... ;D ;D


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

seba123neo

Hola, yo te digo como lo haria:

1 - olvidate de usar el control ADODC.usa ADO desde codigo.

2 - olvidate de estar relacionando los textbox con su campo correspondiente, eso es viejo, se usa con el ADODC, pero como te digo que no lo uses no lo vas a precisar.

3 - no se de que son las pantallas, pero yo no haria todo en una pantalla, tenes que poner una pantalla para cada cosa distinta, o sea los clientes van en una pantalla, los articulos en otra, los proveedores en otra..etc..cada una con su ABM y lo que queiras hacer...por darte un ejemplo.

4 - no uses textbox, usa una grilla para presentar los datos, es mucho mejor a la vista y podes visulizar mas datos a la vez.

5 - con ADO desde codigo podes hacer un sistema de gestion entero solo usando 2 recordset principales, los declaras publicos y los usas cuando debe ser y los cerras cuando terminas de usarlo, asi te queda disponible para usarlo nuevament. si por ahi necesitas usar otro recordset temporal lo delcaras donde lo queres usar y lo descargas ahi mismo.

6 - lo mejor para aprender es ver un ejemplo ya hecho, y te recomiendo ver este, que es lo mas facil y simple que hay.

7 - la forma de agregar, borrar y actualizar los datos de las tablas te recomiendo usar SQL, y no los metodos .Addnew y Update o .Delete de los recordset.

Formulario ABM con Access y Ado

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Angeldj27

Siempre es bueno recordar que un problema tiene varias posibles soluciones, en ocasiones si esta todos los mantenimiento en un mismo form es conveniente y no se ve mal.. Tambien creo que con el control se ahorra un poco de codigo.. bueno es solo una opinion..  ;D

Saludo...


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

angelcont22

Muchas gracias amigos por atender mi pregunta, ago presencia nuevamente para realizar la siguiente aclaratoria sobre mi pregunta.

1º  Para sebas123...

Creo que cuando me hablas de pantallas te refieres a formularios (Aclaramelo por favor)... Y en el caso de agregar nuevos form o Pantallas, por tratarse de tablas pertenecientes a distintos datos, ó Origenes distintos como, Cliente y Proovedor, Como dijera aquel gran comediante mexicano "Cantinflas" - "Hay esta el detalle".

El caso de los recordset es por que las seis tablas hacen referencia a un solo origen, que en general se podrian llamar Datos del Socio.

Estas tablas son:
               Datos personales
               Datos en la coperativa
               Servicios Pagados por el Socio
               Licencia de conducir del Socio
               Beneficiarios del Socio y
               Hoja Vida y sevicios del Socio...

Como ves todas son relacionadas en un comun, "El Socio", ya aparte tengo otras, pero menos complicadas, aunque tambien tendre que necesitar de esta solucion del recordset para otras tablas.

Otros origenes o tablas que tengo para este proyecto son unidades de transporte, y el control de pago de la explotacion de ruta.

Ya venia utilizando ADO Control  y texbox para estas, pero si la solucion acredita cambiarla a codigo pues lo hare...Ya descarge el form ABM y lo estoy estudiando a ver que solucion encuentro...


2º Para Angel27

La verdad como escribi arriba ya venia desarrollando el proyecto con texbox y Algunos ADOControls, pero obviamente serian muchos.

la sugerencia de Sebas123 me gusto mucho, la interfas  del grid realmente es atractiva, solo queda poder realizar el cambio de recordset en un solo form o pantalla con el mismo grid.

Si tienes algo que puede ayudarme no dudes en enviarmelo por favor.

PARA AMBOS. Finalmente quiero agradecerles y dejar el tema abierto hasta que logre una solucion la que sin duda alguna dejare posteada acá para utilidad de todos, Gracias....