Dlookup

Primero que nada un saludo cordial, quiero ver si me puedes ayudar con esto, mira.
En una base de datos Access 2003 tengo un formulario que se llama ventas, y claro aparece un formularion en donde cargas, fecha, cliente, vendedor, blabla y un subformularion en donde tecleo el código o inserto el scanner de código de barras y me lanza la descripción precio venta etc. Esto es por medio de VB.
Private Sub CODIGO_AfterUpdate()
Dim Cod
Cod = Me.CODIGO
Me.DESCRIPCION = DLookup("[DESCRIPCION]", "[PRODUCTOS]", "[CODIGO] = '" & Cod & "'")
Cod = Me.CODIGO
Me.PRECIO = DLookup("[COSTO]", "[PRODUCTOS]", "[CODIGO] = '" & Cod & "'")
Cod = Me.CODIGO
Me.PRECIO_VENTA = DLookup("[PRECIO PUBLICO]", "[PRODUCTOS]", "[CODIGO] = '" & Cod & "'")
End Sub
Bueno, y en la parte de abajo, hay un en el mismo formulario esta incrustado independiente un catalogo de búsqueda, hay veces que los producto no tienen código y hay que buscarlo por descripción. Con un cuadro combinado con un subformulario en donde busco la descripción y selecciono y en el subformulario me tira el código que le corresponde, y pues lo tecleo en el otro subformulario en código y me lanza la información pero quiero saber que código puedo poner para que cuando elija la descripción deseada en con un click se traspase al otro
Grx Martin

1 respuesta

Respuesta
1
Como observación te diré que no debes usar tantos dlookup
sobre todo si son de la misma tabla, es más eficiente abrir un recordset y buscar los datos
si no sabes como avisame
con respecto a tu pregunta
yo normalmente lo ago directo en la descripción del producto as más complicado pero queda mejor lara el usuario
no debes dejar meter informadion sin Id es muy mala practica
si no
colócale un id auto numérico y usa ese para referenciar le producto
pero lo mejor es que el usuario le ubique código o lo invente y marque el producto así
Grx por responder, Dlookup, no están en la misma tabla en el subformulario de cargar el campo de código es un cuadro combinado que proviene del catalogo de productos (otra tabla) y esta llena la linea completa con la información. Y se queda grabada toda la linea grabada con la info. Y en cuanto al código, no puedo usar el ID autonumérico automático porque los productos traen su código independiente. El Id lauto numericoo uso para el número de transacción dentro del sistema.
Lo del recordset, no se como. ¿Me podrías ayudar?
Mira, dentro del formulario tal como te lo explico, hay un sub formulario independiente sin ninguna relación con el subformulario para llenar. Busco la descripción me da el código y lo tengo que teclear, eso de recordset suena bien. Como puedo hacerle
el subformulario para llenar es 1 (Subformulario PUNTO VENTA Consulta4)
Y el otro es 2 (Subformulario PRODUCTOS Consulta2)
Como puedo pegar solo el campo de [Codigo] que me tira el sub 2 después de la búsqueda al campo de [codigo] al sub 1
Martin
Los tres dlookup de arriba son de la misma tabla productos y del mismo código de producto, para traer tres datos de productos precio, descripción y costo
Para esto mejor así
   Dim r As Recordset
   Set r = CurrentDb.OpenRecordset("select * from Productos Where CODIGO='" & Cod & "'", dbOpenDynaset)
   If r.RecordCount > 0 Then
      r.MoveLast ' lo ago siempre para llenar el recordset y saber recordcount
r.MoveFirst ' pero se puede obiar
      Descripcion=    r!Descripcion
      costo=r!Costo
      [PRECIO PUBLICO]=     r![PRECIO PUBLICO]
   End If
Lo otro es mejor que me pases la base y te la arreglo, tanto con el sub o con la búsqueda en la misma descripción
[email protected]
Pon tu nick y el titulo de la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas