RE:&&&Agregar un dato calculado a un campo&&&&&
Hola Haydée:
Llevas razón, disculpa, no me dí cuenta que el mensaje era anterior y se ha activado al responder Angen García.
Ante todo no te asustes de la extensión de este mensaje, verás que para que lo comprendas bien, no puedo resumirlo más.
En cuanto a tu pregunta, supongo que te refieres a obtener automáticamente el nombre de un producto y su precio cogiéndolos de una Tabla Articulos, al teclear el Codigo de Articulo, en un Subformulario contínuo o vista hoja de datos (recomiendo esta última vista) y luego grabarlos en otra Tabla (Ventas por ejemplo). Si es más o menos esto, sigue estos pasos:
'En la ventana Referencias, marca la referencia: Microsoft DAO 3.6 Object Library e introduce en el Formulario este Evento:
Private Sub CodArt_AfterUpdate()
Dim rst AS DAO.Recordset
Set rst = CurrentDb.OpenRecordset("TablaArticulos", dbOpenDynaset)
rst.FindFirst "CodArticulo='" & CodArt & "'"
If Not rst.NoMatch Then
ProductoSF = rst!ProductoTA
PrecioSF = rst!PrecioTA
SiguienteCampo.SetFocus
Else
MsgBox "Este código no existe en la Tabla Articulos." & Chr(10) & _
"puede escribir su nombre manualmente.", vbInformation, "Aviso"
ProductoSF.SetFocus
End If
rst.Close: Set rst = Nothing
End Sub
-------------------------------------------------------------------------------------------------------------
En el caso de que Codigo Articulo en la Tabla Articulos sea de tipo Numérico, cambia la linea del FindFirst por esta otra: rst.FindFirst "CodArticulo=" & CodArt
CodArt = El nombre del campo Codigo Articulo en el Subformulario contínuo o vista hoja de datos.
CodArticulo = El nombre del campo Codigo Articulo en la Tabla Articulos
ProductoSF = El nombre del campo Producto en el Subformulario
ProductoTA = El nombre del campo Producto en la Tabla Articulos
PrecioSF = El nombre del campo Precio en el Subformulario
PrecioTA = El nombre del campo Precio en la Tabla Articulos
SiguienteCampo = El Campo que vá continuación de Producto en el Subformulario, para que el foco salte a él cuando el Producto existe en la Tabla Articulos (normalmente sería "Cantidad").
Como es natural, cada campo del Subformulario "Ventas" deberá estar debidamente conectada con su Tabla "Ventas" mediante sus Origenes del Control, incluidos CodArt y Producto.
Otro detalle es que la descripción del articulo en la tabla Articulos no sufre
ninguna modificación aunque le cambies el nombre en el Sufbormulario, ya que el Procedimiento de Evento que te indico, únicamente extrae el nombre de la tabla
Articulos y lo mete en el campo "Producto" del subformulario pero luego, con o sin cambios, se graba en la tabla Ventas. Lo mismo pasa con el Precio.
No me parece un buen ejemplo la base Neptuno para lo que tu necesitas, la he estado mirando y a mi no me gusta como lo hace. De todas formas si no te sale o no es eso lo que quieres, dímelo y lo volvemos a ver, porque en estos temas de ventas tengo muchas cosas hechas.
Saludos
Enrique