Inicio > Microsoft Access > avatar2 > Repetir datos de un registro en el siguiente

Repetir datos de un registro en el siguiente

Experto:
Usuario:
Fecha: 03/02/2008
Valoración: (4,00 sobre 5) Categoría: Microsoft Access
02/02/2008
salvaterra, usuario preguntando en Microsoft Access
Usuario
Mi tema es el siguiente
Tengo un formulario con 26 campos y debo ingresar varios (alrededor de 30) registros cuyos campos, salvo 2, se repiten en su contenido. Esto se repite con varias series deregistros.
Para no escribir los mismos datos en cada registro como puedo hacer para que cada nuevo registro contenga los datos ingresados en el anterior y solamente modificar los 2 campos diferentes.   
Muchas gracias 
02/02/2008
salvaterra, experto respondiendo en Microsoft Access
Experto
Salvaterra: Porque no provas primero ingresando todos los demas datos, una ves que tenes todo ingresado, salvo los de ese campo i los datos que se repiten los ingresas atraves de una consulta de actualizacion, este tipo de consultas primero se hace la consulta de seleccion en donde selecciono los datos distintivos para obtener los registro que quiero y una ves que tenes los registro agregas el campo que se repite el dato, luego tranformas la consulta de seleccion a una cinsulta de actualizacion (desplegando el goton que esta al lado del signo de admiracion "!") y en la parte de criterio ingresas el valor del campo que se repite en los registro. En donde podes encontrar varios ejempolo es en la ayuda vajo la denominacion de consultas de actualizacion. cualquier cosa que no entiendas avisame y veo si te puedo ayudar, yo ya las utilice para ingresar miles de datos repetido que necesitaba modificar o ingresar, y me sirvio de mucho la ayuda, que esta bien esplicada. igual fijate si no cuando quieras estoy aca y vemos como te puedo ayudar.
suerte, salu2    avatar2
02/02/2008
salvaterra, usuario preguntando en Microsoft Access
Usuario
Experto, Gracias por tu respuesta y consejo.
Dado que este sistema lo están usando otras personas, me parece que es algo complejo para transferirles la operativa que me propones.
Me gustaría probar una solución que fuera más automática usando código para que el operador no tenga que pensar demasiado cuando ingresa datos.
Se me ocurre que si el registro que uno está ingresando guarda los datos en campos auxiliares en AFTER UPDATE y luego cuando se ingresa al siguiente se pasan esos datos a los campos del formulario con BEFORE INSERT, se puede realizar la operación en forma sencilla y automática.
El problema es que yo no sé como hacerlo.
Si alguno lo ha probado bienvenido sea!!
gracias y saludos 
02/02/2008
salvaterra, experto respondiendo en Microsoft Access
Experto
Si tenes razon, lo que yo te aconsejaba era para que lo hagas vos, mira se puede hacer en forma automatica, ya sea por codigo o por macro, la verda es que yo el codigo no lo uso me manejo mucho con las macros, la sentencia de la macro para ingresar datos se denomina estableser valor, con ello vas a poder ingresar los datos que se repiten varias veses, pensa que esta sentensia te ingresa los datos de un solo campo a la vez, pero si la repetis en la cantidad de campos que nesecitas por registro y esto lo agrupas en una solo macro. con esto podes hacer que a la salida de uno de los dos campos que cambia la informacion te ingresen todos los demas datos o sino le asignes un boton para que cuando haga click en él te engrese ese conjunto de datos.
Esto es para que no lo haga quien esta usando el sistema (el usuario) sino para que lo programes para que él despues lo pueda usar. esto es porque presumo que vos sos quien lo programas ¿Esto es asi?
si te interesa lo de las macros podes consultar en la ayuda los sigientes temas:
-Crear grupos de macros
-Establecer valor 
si no te sale preguntame y vemos colo lo hacemos, y si ves que no te entendi y queres, comenteme. espero te sirva lo que te pase salu2 avatar 2
03/02/2008
salvaterra, usuario preguntando en Microsoft Access
Usuario
Gracias Avatar2,
Veo que te has topado con una mula, dado que no tengo la menor idea de como hacer una macro.
Si tienes ganas de indicarme como te lo agradecería.
De todas maneras agradezco tu excelente predisposición para atender estos pedidos.
abrazo y saludos
salvaterra 
03/02/2008
salvaterra, usuario preguntando en Microsoft Access
Usuario
Gracias Avatar2,
Veo que te has topado con una mula, dado que no tengo la menor idea de como hacer una macro.
Si tienes ganas de indicarme como te lo agradecería.
De todas maneras agradezco tu excelente predisposición para atender estos pedidos.
abrazo y saludos
salvaterra
03/02/2008
salvaterra, experto respondiendo en Microsoft Access
Experto
Salvaterra, no es que tenga problemas en explicarte como hacer una macro, pero la verdad es que es muy extenso, y esta muy bien explicado en la ayuda de acces en donde te describe las partes de la pantalla de la macro con los botones y donde se encuentran los mismos, un ejemplo de la ayuda en lo que te copio abajo pero a esto le faltan las imagenes y tenes un monton mas, una vez que hagas o leas la ayuda en base a eso lo que no entiendas te lo explico no tengo drama y vemos como lo hacemos.
Mi consejo es que antes de ponerte a practicar con las macros hagas una copia del archivo que tenes para que trabajes tranquilo y no perder lo que hicistes.
disculpa pero te queria preguntar 2 cosas primero ¿la base de datos la diseñaste vos?, y si la diseñastes vos ¿estan normalizadas las tablas de la base de datos? porque la normalizacion es lo que se hase para no tener que repetir datos.
cualquier cosa nos mantenemos en contacto lo vemos como lo sacamos adelante. saludos avatar2
 
<h1><a name="achowcreatemacros"></a>Crear una macro</h1><ol><li class="LPROC">En la ventana Base de datos, haga clic en Macros, bajo Objetos.

</li><li class="LPROC">Haga clic en el botón Nuevo en la barra de herramientas de la ventana Base de datos.

</li><li class="LPROC">En la columna Acción, haga clic en la flecha para presentar la lista de acciones.

</li><li class="LPROC">Haga clic en la acción que desee utilizar.

</li><li class="LPROC">Introduzca un comentario para la acción. Los comentarios son opcionales pero harán la macro más fácil de entender y mantener.

</li><li class="LPROC">En la parte inferior de la ventana, especifique los argumentos de la acción, si es que se requiere alguno. Para obtener sugerencias sobre cómo establecer los argumentos de la acción, haga clic en .

</li><li class="LPROC">Para agregar más acciones a la macro, muévase a otra fila de acción y repita los pasos 3 a 6. Microsoft Access lleva a cabo las acciones en el orden en el que se enumeren. </li></ol><p class="TPT">Sugerencia   Para crear rápidamente una macro que lleva a cabo una acción sobre un objeto de base de datos específico, arrastre el objeto desde la ventana Base de datos hasta una fila de acción en la ventana Macros. Por ejemplo, puede crear una macro que abra un formulario arrastrando el formulario a una fila de acción. Para hacer esto, haga clic en Mosaico vertical en el menú Ventana para posicionar la ventana Macros y la ventana Base de datos de forma que aparezcan una junto a otra en su pantalla; en la ventana Base de datos, bajo Objetos, haga clic en el tipo de objeto que desee, a continuación, en el objeto y, por último, arrástrelo hasta una fila de acción. Arrastrar una macro o un procedimiento agrega una acción que ejecuta la macro o el procedimiento, mientras que arrastrar otros objetos de base de datos agrega una acción que abre el objeto.
<h1><a name="acconmacroswhattheyarehowtheywork"></a>Macros: Qué son y cómo funcionan</h1><h2>Qué es una macro</h2><p class="T">Una macro es un conjunto de una o más acciones que cada una realiza una operación determinada, tal como abrir un formulario o imprimir un informe. Las macros pueden ayudar a automatizar las tareas comunes. Por ejemplo, puede ejecutar una macro que imprima un informe cuando el usuario haga clic en un botón de comando.
<p class="ART">
<p class="T">Una macro puede ser una macro compuesta de una secuencia de acciones, o puede ser un grupo de macros. También se puede usar una expresión condicional para determinar si se llevará a cabo una acción en algunos casos cuando se ejecute la macro.
<h2>Una secuencia de acciones</h2><p class="T">La siguiente macro está compuesta de una serie de acciones. Microsoft Access lleva a cabo estas acciones cada vez que se ejecuta la macro. Para ejecutar esta macro se hace referencia al nombre de la macro Revisar Productos.
<p class="ART">
<h2>Un grupo de macros</h2><p class="T">Si tiene numerosas macros, agrupar las macros relacionadas en grupos de macros puede ayudar a administrar la base de datos más fácilmente. Para mostrar los nombres de las macros de un grupo de macros, haga clic en Nombres de macros en el menú Ver en la ventana Macro.
<p class="T">Por ejemplo, el siguiente grupo de macros, llamado Botones, está compuesto de tres macros relacionadas: Empleados, Productos, y Representantes. Cada macro lleva a cabo la acción AbrirFormulario, y la macro Productos lleva también a cabo la acción DesplazarTamaño.
<p class="ART">
<p class="T">El nombre en la columna Nombre de macro identifica a cada macro. Cuando se ejecuta una macro en un grupo de macros, Access lleva a cabo la acción de la columna acción y cualquier otra acción que siga inmediatamente, cuya columna Nombre de macro esté en blanco.
<p class="T">Para ejecutar una macro en un grupo de macros, utilice el nombre del grupo de macros seguido de un punto y a continuación el nombre de macro. En el ejemplo anterior, para hacer referencia a la macro Empleados en el grupo de macros Botones, escribiría Botones.Empleados.
<h2>Acciones condicionales</h2><p class="T">Para mostrar la columna Condición, haga clic en Condiciones en el menú Ver en la ventana Macro. La siguiente macro ejecuta las acciones CuadroMsj y DetenerMacro sólo cuando la expresión en la columna Condición sea verdadera (cuando hay un valor Nulo en el campo IdProveedor).
<p class="ART">
<p class="T">Para obtener información acerca de la creación de una macro, haga clic en . Para obtener información acerca de la ejecución de una macro, haga clic en .

 
03/02/2008
salvaterra, usuario preguntando en Microsoft Access
Usuario
Muchas gracias Avatar2
me pondré a estudiar lo de las macros. Es muy buen consejo.
El tema de la normalización: Las tablas están normalizadas (cumplen primera y segunda) el problema que tenía es facilitar el ingreso de datos.
El problema planteado no es la repetición de los registros sino que varios registros tienen campos que son iguales, por ejemplo si hablamos de género, cuando ingreso un registro, ese campo puede ser M,F o T, segun la inclinación sexual del ingresado. Entonces si por ejemplo ingreso 34 casos tipo M quiero evitar que el operador indique M 34 veces, sino que una vez ingresado la primer M(mediante letra o botón) este campo tendrá 33 veces el código correspondiente a M en los siguientes registros. Aunque le doy la posibilidad al operador de cambiar el código asumido.
Como los campos de este tipo son muchos se ahorra mucho "clickeo" y se busca el campo que no cambia.
Esta operación no genera la repetición de datos en las tablas, dado que se encuentran normalizadas en su diseño.
 Avatar2, te agradezco mucho tu dedicación y tus prontas respuestas.
Enlaces patrocinados