Como hago para modificar una factura, una orden de compra, una dato grabado en sus tablas originales, y llamarla posteriormente para modificarla, consultarla o eliminarle un items, y todo esto se deba hacer como fue al principio por medio de una forma y un grid, porque pueda ser que haya que agregarle un items, modificarle un items, o solo por consultar, si tienes un ejemplo ficticio por favor que me puedas hacer llegar, todo ficticio que parezca real, gracias
1 respuesta
Respuesta de davsoft
1
1
davsoft, Desarrollador con 10 años de experiencia en el area de Visual...
Lo que pides es cosa fácil, pero recuerda que si has grabado un dato en una tabla, sabrás borrarla, y si lo has borrado, sabrás como modificarla, entonces por analogía insertar un nuevo item en una factura es lo mismo que guardarla borrar un item de tu factura es lo mismo que borrar datos de una tabla y modificar datos de una factura también es lo mismo que cambiar el teléfono de un cliente, obviamente tienes más cuidado cuando tocas las facturas, no se de la estructura de tus archivos pero te digo como seria un modelo de cabecera item faccab - cabecera fac_cod fac_fecha fac_cliente fac_total facitems - item de factura item_id (identificador único de registro) item_cod (numero de factura relacionado con fac_cod) item_producto item_numero (numero de item) item_cantidad item_precio Entonces debes tener en cuenta los comando replace, o append blank si vas a insertar un nuevo registro en una factura, solo modificas el item y actualizar fac_total es decir, obtienes el numero de factura, calculas item_numero +1 que seria el próximo numero de item de esta factura, e item_id+1 seria el numero de registro único, el resto son datos que se insertan según el caso, o sea el producto, la cantidad precio etc. Los comandos de insertar registro son Append blank Replace item_id with (el nuevo numero de registro calculado) Replace item_numero with (el nuevo numero de item, por ej si tenia 3 item la factura ahora es 4) Replace item_producto with (el codigo de producto que acaba de ingresar el cliente) y asi sucesivamente, para borrar el item podrias usar algo como esto delete for item_id=(un numero que selecciono el usuario) Para esto justamente es item_id que identifica unicamente al registro, mismo podrías usar también item_proco+item_id o sea un producto en el item numero por, pero como te dije al principio depende de como este estructurada tu tabla
sos muy amable y gentil por contestar, lo que me confunde es en foxpro yo me iva a la propia tabla hacia un do whil y me las ingeniaba para consultar modificar eliminar agregar, ahora el caso de visual, por lo que me contestas esto no se se puede hacer, tengo que buscar find en la tabla original y pasar los datos a una tabla temporal, y tengo que estar atento si este pedido previo sufrió un cambio ya sea elimino un items o agrego o modifico por medio de programación debo saber si hizo un cambio, ¿por qué? Porque si sufrió un cambio tengo que eliminar la orden de compra de la tabla original delete next 1 (marcarlos a todos los items de la tabla original), ojo si no sufrió cambio solo quizás fue para consultar no va a sufrir un cambio en la tabla original. Es así todo lo que te planteo si o no, o hay otra forma de hacer esto Gracias muy amable