Utilizamos Cookies de terceros para generar estadísticas de audiencia y mostrar publicidad personalizada analizando tu navegación. Si sigues navegando estarás aceptando su uso. Más información X
PortadaForo AyudaTutoriales
InicioForosForo Office

ACCESS

HENRY_DAVID
2007-06-04 18:16 - Respuestas: 21 - Tema nº: 2450818


Hola amigo ebolo, digite el código q me pusiste pero me sale el sgte. mensaje: Se ha producido el error 3061 en tiempo de ejecución .
Pocos parametros. Se esperaba 1

PD: Te recuerdo que mi campo unidcompra se encuentra en el subformulario detalle de compras. Espero q me puedas ayudar. Gracias
Posibles soluciones:
AccessAccess
AccessAccess
AccessAccess
AccessAccess
AccessAccess
ebolo

Re: ACCESS - 2007-06-04 20:23 - Respuesta 17

me comí la S del plural de unidcompras, si se llama así.

- Modificar:
* evento antes de actualizar: restamos la cantidad que nos ponga en el cuadro de texto del stock.

Private Sub unidcompras_BeforeUpdate(Cancel As Integer)
Dim consulta as string
consulta = "UPDATE PRODUCTOS SET PRODUCTOS.[STOCK] = [STOCK] - " & me.unidcompras
consulta = consulta & " WHERE (((PRODUCTOS.[unidcompras])=" & Me.idproducto & "))"
CurrentDb.Execute consulta

End Sub


* evento después de actualizar: sumamos la cantidad que nos ponga en el cuadro de texto al stock.

Private Sub unidcompras_AfterUpdate()
Dim consulta as string
consulta = "UPDATE PRODUCTOS SET PRODUCTOS.[STOCK] = [STOCK] + " & me.unidcompras
consulta = consulta & " WHERE (((PRODUCTOS.[unidcompras])=" & Me.idproducto & "))"
CurrentDb.Execute consulta

End Sub


saludos.
HENRY_DAVID

Re: ACCESS - 2007-06-04 20:54 - Respuesta 18

El nombre del campo esta bien, pero igual lo probe con la letra s y me sigue saliendo el mismo error, tu crees q pueda ser xq el nombre del campo unidcompra pertenece a la tabla detalle de compras y no a la tabla productos.
ebolo

Re: ACCESS - 2007-06-04 22:49 - Respuesta 19

claro Henry, si no existe es campo unidcompras en productos pues como que no funciona, debes de poner el campo que exista en la tabla productos e igualarlo al cuadro de texto del subformulario ventas, más o menos ésto:

Modificar:
* evento antes de actualizar: restamos la cantidad que nos ponga en el cuadro de texto del stock.

Private Sub unidcompras_BeforeUpdate(Cancel As Integer)
Dim consulta as string
consulta = "UPDATE PRODUCTOS SET PRODUCTOS.[STOCK] = [STOCK] - " & me.unidcompras
consulta = consulta & " WHERE (((PRODUCTOS.[idproductos])=" & xxxxxxx & "))"
CurrentDb.Execute consulta

End Sub


* evento después de actualizar: sumamos la cantidad que nos ponga en el cuadro de texto al stock.

Private Sub unidcompras_AfterUpdate()
Dim consulta as string
consulta = "UPDATE PRODUCTOS SET PRODUCTOS.[STOCK] = [STOCK] + " & me.unidcompras
consulta = consulta & " WHERE (((PRODUCTOS.[idproductos])=" & xxxxxxxx & "))"
CurrentDb.Execute consulta

End Sub


dónde xxxxxx es el cuadro de texto donde tengas la cantidad a descontar ó sumar.

PD: hacer las cosas sin ver las tablas, forms,... es complicado.

para ver la sintaxis correcta, puedes crearte una Consulta, le añades la tabla que quieras y seleccionas los campos que desees ver; luego te vas a Vista SQL y ahí verás la sintaxis de la consulta en SQL.
Estando en diseño, si vas a la pestaña Consulta - Consulta de Actualización, le pones en el criterio del campo idproducto el producto que quieras y en el campo de Stock el valor que desees, SIN EJECUTAR la consulta vas a Vista SQL, podrás ver la sintaxis correcta de la misma.
Es muy cómodo usar éste método, prácticalo.

Saludos.
HENRY_DAVID

Re: ACCESS - 2007-06-05 20:24 - Respuesta 20

Hola otra vez, la verdad es q no entiendo muy bien sobre programar, disculpa mi insistencia pero a ver si me puedes ayudar denuevo, te envio en vista SQL la consulta de donde jala mi subformulario, hay dos tablas productos y Detalle de Compras:

SELECT [Detalle de Compras].IDCOMPRAS, [Detalle de Compras].IDPRODUCTO, Productos.IDCATEGORIAS, [Detalle de Compras].CANTIDADCOMPRAS, [Detalle de Compras].TOTALCOMPRA, CCur([Detalle de Compras].TOTALCOMPRA/[CANTIDADCOMPRAS]) AS [Nuevo Precio], Productos.STOCK
FROM Productos INNER JOIN [Detalle de Compras] ON Productos.IDPRODUCTO = [Detalle de Compras].IDPRODUCTO;

saludos
Página:Anterior4 Siguiente

Respuestas relacionadas:

Ms accessMs accessForo
Access en xpAccess en xpForo
AccessAccessForo
AccessAccessForo
AccessAccessForo
Access  en redAccess en redForo
AccessAccessForo
Access en redAccess en redForo
AccessAccessForo
AccessAccessForo
InicioSecciones
^ SubirAviso legal
Política Privacidad
Configurarequipos23 Noviembre 2024