Combox para añadir registro

Hola Santiago,
tal vez me pueda ayudar con este problema.
La idea es la Siguiente, estoy haciendo una base de datos para control de inventario.
En la misma tengo varios formularios, aquí los nombro.
Form  REQUISAS
Form Tarjeta de Productos
Subform Tarjeta de Productos (es un subformulario de datos, que esta dentro del Form Tarjeta de Productos)
En el Formulario requisas puse un COMBOX que se llama NOMBREPRODUCTO, y dos campo FECHA y CANTIDASALIDA
Y lo que pretendo hacer después que se actualice el COMOX, es que Se abra el Formulario "tarjeta de Producto", se busque el registro que corresponde al COMBOX,
y luego se agregue un registro en el subformulario, y para ese registro nuevo los datos sean
Subfom tarjeta de productos! Fecha = Form tarjeta de productos! Fecha
Subfom tarjeta de productos! Salidas = Form tarjeta de productos!CANTIDADSALIDA
si es posible te podría neviar la BD, para que le eche sun vistazo
saludos y gracias
aquí más o menos hay lago del código que he intentado hacer.
Rem Busca el registro especificado
DoCmd.OpenForm "Tarjeta_de_producto", , , , , acHidden
DoCmd.FindRecord RSTGO, , True, , True
Rem Ahora se quiere que se añada un nuevo registro en el Subformulario Tarjeta de Producto
Rem y que el valor del campo Subform![fecha] sea igual a la fecha del formulario
Rem registro y producción, que el campo Subform![cantsalida] sea igual a la cantidad
Rem de salida que paarece en el formulario
Rem Forms!Tarjeta_de_Producto.Subformulario_Tarjeta_de_Producto.Form.Recordset.AddNew

1 Respuesta

Respuesta
1
Para que el campo fecha del subformulario coincida con la del formulario tienes que 'vincular' los campos (primario y secundario). Esto aparece entre las propiedades del objeto 'subformulario'.
Para añadir un nuevo registro después de abrir el formulario puedes poner un código de este estilo:
    DoCmd.OpenForm "Tarjeta_de_producto"
    DoCmd. GoToRecord acDataForm, "Tarjeta_de_producto", acNewRec ' Se mueve a un registro nuevo
    Forms("Tarjeta_de_producto").campo1 = Me.campo1
    Forms("Tarjeta_de_producto").campo2 = Me.campo2
    Forms("Tarjeta_de_producto").campo3 = Me.campo3
    DoCmd. GoToRecord acDataForm, "Tarjeta_de_producto", acNewRec ' Se mueve a un registro nuevo y deja grabado el anterior
Hola gracias por la respuesta
Peor tengo una duda, realmente DONDE quiero que se añada el registro nuevo es en el subformulario. Que esta contenido en el el Formulario.
Saludos
Entonces será mejor que insertes directamente en la tabla y después abrar el formulario con su subformulario. Sería algo así:
Dim rs as recordset
set rs=currentdb().openrecordset("NombreDeLaTabla")
rs.addnew
rs!campo1 = me.campo1
rs!campo2 = me.campo2
rs!campo3 = me.campo3
....
rs.update
rs.close
DoCmd.OpenForm "Tarjeta_de_producto"
...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas