FoxPro/Visual FoxPro Avanzado - codigos correlativos en tablas
holas a los expetos
quisiera saber como puedo generar codigos correlativos a partir de la bases de datos. por ejemplo tengo la tabla clientes el campo codigo es correlativo Codgo 001 002 003 como hago desde la aplicacion para que esto sea automatico, cuando yo carge el formulario de ingreso de clientes debe de salir el codigo +1 ( 004) como lo podria hacer GRACIAS Otra consulta tengo dos tablas por ejemplo CABECERA Y DETALLE de una factura , y EL USUSARIO INGRESO EL l NUMERO DE FACTURA 001-00500 ESTO SEGRABO EN Las dos tablas, pero sucede que el usuario se equivoco en el numero de factura y el correcto es 001-00501 como hago desde la aplicacion para que se pueda corregir en las dos tablas correctamente (ademas estas dos tablas estan relaciondas por el campo FACTURA ) si me podrian enviar un demo por favor, se loa gradecere bastante gracias...
*quisiera saber como puedo generar codigos correlativos a partir de la *bases de datos. por ejemplo tengo la tabla clientes el campo codigo es *correlativo
*Codgo *001 *002 *003 *como hago desde la aplicacion para que esto sea automatico, cuando *yo carge el formulario de ingreso de clientes debe de salir el codigo +1 *( 004) *como lo podria hacer GRACIAS En este website busca una pregunta con el titulo:'Campo Autonumerico en Visual FoxPro', fue una respuesta por Charles Benzon, en la cual da una explicacion de como realizarlos (ademas estoy seguro que otras personas han dado respuestas acerca de la misma pregunta en otras ocasiones, asi que valdria la pena buscarlas en la base de datos de este website). Con respecto con tu segunda pregunta hay dos posiblidades: 1) ya que tienes una relacion, checa algo que se llama integridad referencial ahi defines como se actualiza y borras los registros entre tablas relacio nadas (dale click derecho sobre la relacion). Otra solucion, la cual es la que me parece mas segura, es que no relaicones la cabecera con los detalles en base al numero de factura sino mas bien a travez de un id autoincrementado, asi si el usuario se equivoca en escribir el numero de factura no habria que cambiar valores en ambas tablas, es decir el numero de la factura no seria tan importante como lo es ahora.
pero si se equivocan habria que cambiar los numeros por que el que digito es 001-00200 y el correcto es 001-00201 entonces debera cambiar en las dos tablas porque si no tendriamos numeros de facturas ERRONEAS NO CREES.
DE La FORMA COMO TU ME INDICAS seria igual por el codigo autoincrementado porque si se equivocan como se cambiaria . (tendriamos valores erroneos) quizas no entendi lo que me escribiste disculpa gracias por tu respuesta
Ok, voy a tratar de explicarte mejor mi idea...
Yo prefiero que las tablas detalles y cabecera se relacione mejor a traves de un id autoincrementado, por que? Bueno, este numero generado va a ser unico, es decir, la rutinita para generarlos muy pero muy remotamente fallaria, esa rutinita genera el numero (el cual no debe ser manipulado o visto por el usuario),ese numero identifica unicamente la cabecera o factura, si añadis un detalle o nuevo producto a la tabla de detalles cada uno de eso registros le añadirias el id de la tabla cabecera (para indicar a que factura corresponde ese detalle). No hay falla en ese aspecto, asi que si un usuario se equivoca al escribir un codigo a una factura entonces ya no existira la necesidad de actualziar los detalles indicandole cual es su nueva factura. En pocas palabras tus tablas deben estar definidas algo asi: Cabecera: Id , CodigoFac. Id= indice principal, CodigoFac= indice candidato (el codigo de las facturas debe ser unico y no vacio) etc, etc. Tabla detalles: IdPk= indice normal (Este campo guarda el id de la tabla cabecera, es decir, la factura actual, etc) Definis la relacion entre las tablas entre el indice principal y el indice normal y listo. Chequea la integridad referencial eso te puede ayudar muchisimo. Saludos Tablas Dinámicas cliente-servidor |