Fijate si este ejemplo te sirve,
http://www.portalfox.com/index.php?name=Newsfile=articlesid=1168mode=nestedorder=0thold=0
El 22 de mayo de 2012 10:00, di...@isg-alexa.com escribió:
** **
Gracias por contestar, Ricardo
Usamos la herramienta CABUILDER, para
Hola a todos:
Les invento un pequeño ejemplo como para ambientar la pregunta que viene
luego.
Tengo en SQL Server una tabla donde asiento *Compras* (IdProducto, Cantidad)
y otra donde asiento *Ventas* (IdProducto, Cantidad)
Crea una vista *vStock *donde totalizo por IdProducto las compras menos
Estimadísimo: no se si entendí bien su ejemplo, pero yo agregaría una tabla
Stock sobre la que haría la validación. Y a compras y a ventas les pondría
un trigger que actualize la tabla stock.
Considerá que también podés tener Ajustes e Inventarios que te modifiquen el
Stock.
Un
Rubén, por lo que interpreto, el problema lo tenés únicamente en las ventas.
Yo haría la consulta a la vista y compararía el saldo versus la venta y si
la diferencia entre el saldo de la vista y la cantidad vendida es negativa,
mandá un error de validación.
Espero te sirva
De:
Yo haría un select asi
select ventas.idproducto as pkventas,compras.idproducto as
pkcompras,ventas.cantidad,compras.cantidad,
ventas.cantidad - compras.cantidad as diferencia,
comprobacion = case when ventas.cantidad - compras.cantidad 0 then
'error' else 'ok' end
from ventas join compras
No entiendo por qué decís que si no usás cursordetach, se te cierran los
adapters y no podés mantener más que una sola tabla por vez.
Yo abro varios cursor adapters (tanto con tablas dbf como con tablas de
sql server) en el método load de un formulario y todos los CA permanecen
abiertos.
Rubén, yo haría lo siguiente (siempre como motor MS Sql 2005 o superior):
Crearía una vista indexada con el saldo de stock.
Luego crearía un trigger en cada tabla, donde consultaría la
vista y analizaría el saldo de la misma, en caso de ser
Diego:
http://sourceforge.net/projects/tieradapter/
Este es el ejemplo con el que yo aprendí, y utiliza ADO.
Como dijo Rafael en otro mail, tenes que tener un CursorAdapter por tabla.
La subclase rrCursorAdapter que hizo Rubén Rovira tiene algunas
consideraciones para utilizar ADO, por lo
Rubén:
Lo que yo hago es tener en la tabla Productos el campo SaldoActual, que se
actualiza con cada venta o compra, y ese es el campo que tiene la validación
de no poder ser menor que cero.
Salu2
ricardo aidelman
( socio nº 1545 )
From: GUFA@mug.org.ar
Ricardo y Rafael
Muchas gracias a los dos.
En efecto, no era necesario usar Cursodetach(). Estaba usando el mismo
Cursoradapter, y por éso cada tabla me cerraba la anterior.
Todos los comentarios, super interesantes.
Saludos!,
Diego
De:
10 matches
Mail list logo