En este grupo En todos

Foro de Access



Añadir nuevo registro automáticamente al form principal

Jeannette
Escrito por Jeannette
el 19/12/2009

Hola,
En mi trabajo utilizo una base profesional hecha en access y me gusta algo para la mía.
Se trata de dar de alta un cliente desde un subformulario (p.e. ) y que me pregunte si deseo añadirlo al registro actual... Tengo muchísimos ejemplos de access que he ido recopilando de internet pero no tengo nada similar ni he visto que alguien lo haya preguntado en algún foro.

¿Alguna ayuda o consejo?

gracias

fayad
Escrito por fayad
el 20/12/2009

Hola Jean, he leido tu mensaje varias veces pero tengo dudas, se supone que estas en un formulario con los registros, con un subformualrio para dar de alta, mi duda es que origen de registro tienen el formulario y el subformualrio, cuantas tablas hay y que relación hay entre tablas.

Un saludo

Jeannette
Escrito por Jeannette
el 20/12/2009

Hola,
Desde el form principal (donde tengo el combobox clientes) abro el subform Clientes (p.e. ) para dar de alta un nuevo cliente o buscarlo y editarlo. Cierro la tabla clientes y tengo que desplegar el cmbx del form principal para buscar el nuevo cliente que acabo de dar de alta o modificado. Vamos, un coñazo, porque eso se llenará, y aunque tenga el autorelleno, no es lo mismo.
La base que tenemos en el trabajo hace lo siguiente: desde el form principal abro el subform Clientes, doy de alta uno nuevo y al cerrar este, me pregunta si quiero que aparezca en el cuadro de texto de clientes del form principal.

estoy buscando en la red algo similar, pero se me está haciendo complicado.

fayad
Escrito por fayad
el 20/12/2009

Hola, yo creo con requery para el fromulario prinicpal te basta,

Una pregunta, que es la misma base que has subido en otro mensaje,

Porque en esta base por ejemplo combo del cliente se alimenta de una consulta_cliente que no tiene campos,

Un saludo

fayad
Escrito por fayad
el 21/12/2009

Hola, estuve revisando tu base de datos y me parece que necesita un poco de rediseñar la tablas sobre todo en el tema de las relaciones entre ellas, si me mandas un borrador en word sobre lo que quieres hacer en general, igual te puedo echar una mano, te cuento hay tablas que si son esenciales las relaciones entre ellas y otras solo sirven para alimentar a estas tablas , es decir, no tiene porque tener relaciones con las tablas esenciales, porque estas tablas se pueden sustiuir con lista de valores. Por esta razon es lógico que no te funcionaran los combos o no puedes editar algun regsitro. A mi parece que es un proyecto bonito y los formularios son muy vistosos

Un saludo

Juan Cots
Valencia, España
Escrito por Juan Cots
el 21/12/2009

Estoy de acuerdo con Fayad. Cuando empezamos con Access nos dicen que las relaciones son fundamentales para que todo funcione y si bien es cierto, no lo es tanto que tengamos que diseñarlas y establecerlas en Access desde el principio.

Me explico, yo en la mayoría de mis aplicaciones, funcionando en entorno multiusuario y con un grado de complejidad razonable, no tengo preestablecidas ninguna relación, las construyo directamente al diseñar las consultas o al vincular los subformularios.... O cuando procede.

En un nivel de aprendizaje si recomiendo que se diseñen al principio, pero cuando nuestro proyecto avanza y a lo mejor deseamos vincular tablas de distintos origenes, incluso de diferentes plataformas, por ejemplo podemos perfectamente tener vinculadas a nuestra aplicación de Access, tablas de Access externas de más de un archivo, de MySql y DBF todo a la vez , sin ningún problema y ello hace imposible el diseño de relaciones , pero os aseguro que no hace ninguna falta.

Un saludo a todos.

Jeannette
Escrito por Jeannette
el 26/12/2009

Hola Fayad,
te morirías si vieras el tema de relaciones de mi base, más lioso no puede ser, es un tema que siempre me ha superado y nunca he entendido al 100%
He relacionado tooodos y cada uno de los campos con sus subtablas porque pensaba que debía hacerlo...
ahora no sé qué hacer :(

fayad
Escrito por fayad
el 26/12/2009

Hola Jean, ya lo había visto, es mucho lío, pero se puede arreglar, creo que simplemente nos tienes que decir, la idea general de tu base de datos es decir como si fuera un borrador si tablas sino un esquema de lo que quieres incluir en la base de datos, luego podemos aprovechar las tablas ya creadas, pienso que con tres o cuatro tablas principales se puede hacer tu base y las demas tablas las podemos considerar como auxiliares, es decir, para alimentar algun campo de las tablas principales, si quieres te puedo echar un amano en el diseño de las tablas y las relaciones, el desiño de los formularios te lo dejo ati porque eres mas creativa que yo, ademas tenemos al maetsro Juan Cots como supervisor. Aqui te dejo mi correo si quires mandarme el borrador,

Fayad@hotmail. Es

Un saludo y felices fiestas.

Jeannette
Escrito por Jeannette
el 26/12/2009

Hola,
para no liar la perdiz, prefiero abrir un nuevo debate ya que en este estaba preguntando otra cosa ;)

fayad
Escrito por fayad
el 07/01/2010

Hola Jean, vamos por partes como dijo un amigo mío,jejeje, creo que he dado con la solucion, te voy a reenvíar ( descarga aqui ) tu base de datos modificada a ver que te parece. Te explico,

Si estas en el formualrio principal, y quieres añadir un nuevo cliente, nuevo procurador, etc...,

Abres el formulario con el boton que tienes asignado para editar nuevo registro, ya que tienes otro para solo acceder al formulario sin poder editar ni añadir, añades otro registro nuevo y cierras con el comando que he puesto arriba ves que cierra dicho formualrio y el nuevo registro queda reflejado en el cuadro combiando.

Para hacer este he añadido 2 tablas mas, tabla cliente contrario,y tabla procurador contrario.

Con esto queda resuelto este hilo.

Luego nos vas contando los problemas que te surgen y entre todos intentamos resolverlos.


Un saludo


Jeannette
Escrito por Jeannette
el 27/03/2010

Hola fayad,
efectivamente es más o menos lo que busco. El fifty fifty, es porque en la base que hay en mi trabajo, aunque le dé de alta a un cliente, procedimiento, abogado, etc, antes de que aparezca en el combobox del principal, me pregunta si esos datos son los que quiero que aparezca en la lista desplegable.
Es decir, lo que has conseguido, pero que me pregunte, antes de cerrar el formulario de clientes, por ejemplo, si el que acabo de dar de alta es el que quiero que aparezca en el combo, ahora mismo, lo que hace, es introducirlo directamente (que está genial) pero la idea de que me pregunte antes me parece aún mejor, porque muchas veces aprovecho el formulario de clientes para dar de alta a muchos, y a lo mejor, al primero que doy de alta, no me interesa, sino el segundo, o el tercero, etc.
También supongo que no sería necesario añadir un botón de salida en el form de clientes (que es el que he tomado como ejemplo), aún no lo he intentado, pero podría insertar el código que me facilitas en el evento al cerrar el form clientes...

oye! Millones de gracias!

Becken Daniel
Querétaro, México
Escrito por Becken Daniel
el 25/04/2012

Hola amigos yo tengo una pregunta como puedo crear por ejemplo 10 registros de un solo tiro' es decir voy a poner el ejemplo haber si me explico ok

Hagan de cuenta que tengo mi formulario llamado fecha de pagos

Al registrar un pedido hay un campo que me dice en cuantas quincenas va a pagar el cliente

Yo seleciono 20 meses y lo que quiero es que autometicamente se generen los 20 registros de los pagos

Algo asi como

Fecha de pago importe no. De pago

15/05/2012 $ 1

15/06/2012 $ 2

15/07/2012 $ 3

Y asi que automaticamente se generen las 20 fechas de pag como ven si me explique?

Miguel Ángel Sandoval Sepúlveda
Técnico en informàtica diego portales
Escrito por Miguel Ángel Sandoval Sepúlveda
el 25/04/2012

Eso lo puedes hacer con un ciclo for.

Este ejemplo es un formulario con 2 campos donde se ingresar Fecha_inicial y Número_de_pagos. Y un subformulario con los campos Fecha_pago y Monto.

===============================================================

For I:1 to [Número de Pagos] ' comienza en 1 repite hasta el número de pagos

Subformulario. Setfocus ' esto es para estabecer el foco en el subformulario donde se insertaran los registros.

DoCmd. GoToRecord , , acNewRec ' Esto creara un nuevo registro en el subformulario

Subformulario.Fecha_pago.setfocus ' el foco se va al campo fecha

Fecha_pago = DateAdd("m", 1, [Fecha_inicial]) ' Debes establecer la Fecha inicial antes de ejecutar ejemplo: 15/04/2012 que es hoy.

Fecha_inicial=Fecha_pago ' Actualiza la fecha inicial al día y mes siguiente

Subformulario.Monto_pago.setfocus ' para establecer el foco en el campo monto pago

Monto=Monto/Número_de_pagos 'Divide el total adeudato por el número de pagos

Next ' vuelve al inicio hasta que se complete las veces de Numero_pago

Este procedimiento con ciclo for agrega Número_de_pagos veces el registro de la fecha del mes siguiente y mismo día y el monto de la cuota.

Espero sea tu solución.

Atte. Miguel Ángel Sandoval.



Daniel Duran
Distrito Federal, Mé...
Escrito por Daniel Duran
el 24/06/2012

Hola amigos que creen que probe la solucion que amablemente me paso miguel y no me funciono no me crea los registros nuevos y se queda sin hacer nada

Me pueden ayudar a revisar si algo falta? Por fas

Eso lo puedes hacer con un ciclo for.

Este ejemplo es un formulario con 2 campos donde se ingresar Fecha_inicial y Número_de_pagos. Y un subformulario con los campos Fecha_pago y Monto.

===============================================================

For I:1 to [Número de Pagos] ' comienza en 1 repite hasta el número de pagos

Subformulario. Setfocus ' esto es para estabecer el foco en el subformulario donde se insertaran los registros.

DoCmd. GoToRecord , , acNewRec ' Esto creara un nuevo registro en el subformulario

Subformulario.Fecha_pago.setfocus ' el foco se va al campo fecha

Fecha_pago = DateAdd("m", 1, [Fecha_inicial]) ' Debes establecer la Fecha inicial antes de ejecutar ejemplo: 15/04/2012 que es hoy.

Fecha_inicial=Fecha_pago ' Actualiza la fecha inicial al día y mes siguiente

Subformulario.Monto_pago.setfocus ' para establecer el foco en el campo monto pago

Monto=Monto/Número_de_pagos 'Divide el total adeudato por el número de pagos

Next ' vuelve al inicio hasta que se complete las veces de Numero_pago

Este procedimiento con ciclo for agrega Número_de_pagos veces el registro de la fecha del mes siguiente y mismo día y el monto de la cuota.

Espero sea tu solución.

Atte. Miguel Ángel Sandoval.

Jeannette ----
Las Palmas, España
Escrito por Jeannette ----
el 24/06/2012

Daniel, yo tengo algo similar, te paso mi base para que puedas ver el código. No obstante, rogaría que abrieran un nuevo tema, porque el hilo ha perdido eso, el hilo, y se están preguntando otras cosas.

CREACIÓN REGISTROS AUTOMÁTICO EN SUBFORMULARIO

Cuando abras la base, vete al formulario llamado frmPrincipal. Ábrelo. He añadido un único registro para que puedas ver mi ejemplo (espero que sea esto lo que buscas). Del subformulario es de lo que te hablo. Hay un botón, con un icono de filtro. Si pulsas en él, te pregunta cuántos registros quieres añadir, y te añade el número de registros elegido, además, he personalizado un poco el resto de los campos... Ya lo miras y dices si te sirvió.

Daniel Duran
Distrito Federal, Mé...
Escrito por Daniel Duran
el 24/06/2012

Hola jannette gracias por tu ayuda la estoy revisando, me gustaria mandarte mi base para que revisaras claro que si no es mucha molestia y me pudieras orientar como vez? Lo malo es que no se como anexar el archivo me ayudas?

Jeannette ----
Las Palmas, España
Escrito por Jeannette ----
el 25/06/2012

Hola Daniel,
Te soy sincera, ENCANTADÍSIMA de ayudarte (porque eso es lo que yo he recibido desde que empecé con Access), pero yo NO SÉ ACCESS (código, me refiero).
Todas mis bases de datos (tengo tantas que sólo me faltaría una para catalogar mi ropa interior ;)
Te decía que todas mis bases se han construido a base de preguntar y buscar en internet (y muy poco en libros, donde vivo no hay muchos libros sobre Access), es decir, que soy un FRAUDE... Jajajajaja, en serio, lo que pasa es que soy muy tenaz, y aunque yo pregunte, intento "sacarme las castañas del fuego" yo solita.

En cuanto a lo de indexar un archivo, POR SUPUESTO! Que te ayudo, eso es fácil...

1º. - Elige, en la parte superior de la página, la opción DOCUMENTO, en mi caso pondría

Jeannette, comparte un... Enlace | Documento | Imagen | Vídeo | Debate

2º. - Es entonces cuanto te aparece un botón donde puedes leer: Examinar...
3º. - Se te abrirá el cuadro de diálogo Elegir archivos para cargar.
4º. - Selecciona el archivo a subir (mejor si está comprimido por si ocupa mucho)
5º. - Mejor indica un título y descripción que sean muy descriptivos.
6º. - Para compartir el enlace yo copio la url y la pego en un mensaje.

Cualquier duda, lo que quieras y yo pueda ;)

Daniel Duran
Distrito Federal, Mé...
Escrito por Daniel Duran
el 26/06/2012

Este es mi ejemplo me gustaria que le dieras una revisada por que no me hace nada seria en formulario contratos en el botoncomando 265

Daniel Duran
Distrito Federal, Mé...
Escrito por Daniel Duran
el 26/06/2012

Este seria mi base haber si lo puedes checar

Daniel Duran
Distrito Federal, Mé...
Escrito por Daniel Duran
el 26/06/2012

Https://grupos.emagister.com/documento/prueba_de_ciclo_for/6411-1051880