Problema update
Publicado por Beatriz (88 intervenciones) el 10/06/2008 22:02:19
Hola amigos de éste Foro, me encuentro con el incoveniente de la Modificación con un conjunto de registros pertenecientes a un detalle, la cuestion es que manejo en mi base de datos un encabezado detalle, en el encabezado guardo el numero de orden de compra y en el detalle guardo el conjunto de productos pertenecientes a una orden en especifico, los relaciono con el codigo de orden de compra, entonces ejecuto la consulta por ejemplo de la orden de compra 1, automaticamente se carga en una grilla el conjunto de registros con el numero de codigo de orden que actualmente tengo en el encabezado, a la hora de realizar la modificacion tengo algo asi:
WAIT WINDOW "Modificando Detalle de la orden Compra" TIMEOUT 2
MSQL=SQLEXEC(mconect,'UPDATE DETALLE SET detalle.cantidad='+'?xvalor1MD,'+' detalle.cod_grupo='+'?xvalor2MD,'+'detalle.codigo_p='+'?xvalor3MD,'+' detalle.cod_unidad='+'?xvalor4MD,'+' detalle.precio_uni='+'?xvalor5MD,'+' detalle.marca='+'?xvalor6MD,'+' detalle.deta_des='+'?xvalor7MD'+' where detalle.cod_orden='+'?xvalor10MD ')
En la parte del where es que modifique donde el codigo de la orden sea igual al codigo del encabezado, la cuestion es que si yo modifico cualquier registro del detalle, a la hora del update, me guarda los demas registros con la informacion identica del registro que modifique, entonces opte por crearme un campo identidad autoincremental con uno, para segun yo diferenciar cada registro del detalle con ese codigo, y agregue al where que el codigo de orden del detalle sea igual al codigo de orden del encabezado y que sea igual a esa columna que me identifica con ese codigo autoincremental......PERO CUANDO ADICIONE ESO, YA NO PUEDO MODIFICAR????QUE ESTARE HACIENDO MAL????
POR FAVOR SI ALGUIEN ME PUEDE AYUDAR MIL GRACIAS
WAIT WINDOW "Modificando Detalle de la orden Compra" TIMEOUT 2
MSQL=SQLEXEC(mconect,'UPDATE DETALLE SET detalle.cantidad='+'?xvalor1MD,'+' detalle.cod_grupo='+'?xvalor2MD,'+'detalle.codigo_p='+'?xvalor3MD,'+' detalle.cod_unidad='+'?xvalor4MD,'+' detalle.precio_uni='+'?xvalor5MD,'+' detalle.marca='+'?xvalor6MD,'+' detalle.deta_des='+'?xvalor7MD'+' where detalle.cod_orden='+'?xvalor10MD ')
En la parte del where es que modifique donde el codigo de la orden sea igual al codigo del encabezado, la cuestion es que si yo modifico cualquier registro del detalle, a la hora del update, me guarda los demas registros con la informacion identica del registro que modifique, entonces opte por crearme un campo identidad autoincremental con uno, para segun yo diferenciar cada registro del detalle con ese codigo, y agregue al where que el codigo de orden del detalle sea igual al codigo de orden del encabezado y que sea igual a esa columna que me identifica con ese codigo autoincremental......PERO CUANDO ADICIONE ESO, YA NO PUEDO MODIFICAR????QUE ESTARE HACIENDO MAL????
POR FAVOR SI ALGUIEN ME PUEDE AYUDAR MIL GRACIAS
Valora esta pregunta


0