Tengo un problema con los folios de mi facturas en access. Quiero hacer un formulario (independiente) donde tenga que poner el folio en el que deba de iniciar mis facturas, y que a partir de ahí empiece mi consecutivo automático, pero no se como hacerlo, espero y tu me puedas ayudar..., slds.
Respuesta de telemaco
1
1
telemaco, He trabajado 5 años desarrollando aplicaciones tanto en access...
Primero me disculpo por la demora en responder, estaba en una especie de vaciones, por así decirlo... y no me encontrba en la ciudad... Pero antes de esto estas facturas es autonumericas, osea el campo es autonumérico o solo es numérico... esto es importante... Si es solo numérico el campo simplemente utiliza esta linea de código para generar el consecutivo: Ahora este formulario folio, estará amarrado a una tabla folio, no se si le colocaras llave y el valor que seria el numero de la factura.. pero imaginemos que es así: la tabla folio tendrá la llave que llamaremos codfol, y un campo que se llame NumFact (Numero de la factura)... ahora este formulario NO SE PODRÁN COLOCAR MÁS REGISTROS... solo un registro y contendrá el numerom de la factura, yo diseñe uno igual, y lo tengo en una tabla llamada resoluciones... donde ingreso el nuermo de la resolución de la dian, el numero de la factura desde donde empieza y donde finaliza... pero solo maneja estos campos... ahora si la tabla folio debe manejar varios registros ENTONCES NO TE SIRVE.. OJOOOOO... pra el ejemplo se supone que el valor de la tabla folio, que iniciara tus facturas siempre tendrá el numero que deba tomar las facturas, y que al guardar la factura se aumente en uno este valor... entonces trabajamos así: En el formulario de facturas, en un botón de nuevo o donde generaras el numero de la factura colocaremos: **************************** txtNumFact = dlookup("NumFact","Folio","CodFol=1") ************************** como dijimos folio tendrá un solo registro, su codfol sera 1 por eso filtramos por 1... Ahora al guardar debemos aumentar en uno este numero... *************************** sql = "Update folio set NumFact = NumFact + 1 where codfol=1" Currentdb.Execute sql ************************* Aquí aumentare en uno el numero de la factura en folio, para que no tengas que tocar a cada rato esta tabla, solo cuando inicies la numeración o cambies la numeracin de la factura... Att:telemaco
Hola y muchas gracias por responder, mira te explico un poco más mi duda. Yo tengo un formulario FOLIO con un IDfolio (autonumérico) y un campo numfac (entero largo), en otro formulario FACTURA tengo mis datos y un campo de numfac (entero largo), lo que quiero ver si se puede hacer es: que en formulario FOLIO solo ingrese el numero en el que deba iniciar el consecutivo de las facturas esto en formulario FACTURA, y de ahí ya no tocar el numfac del formulario FACTURA y que vaya incrementado 1 más en cada nuevo registro en FACTURA. Y que si en el formulario FOLIO cambio otra vez el numfac cambie en FACTURA (claro si solo es mayor al numero actutal.
El código que te envíe te sirve, ya que ingresas y listo no hay problemas y cuando vas a agregar una nueva factura haces la linea : txtNumFac = dlookup("NumFac","Folio","IdFolio=1") SE SUPONE QUE txtNumFac, es la caja de texto delformualrio facturas que contendrá el numero de la factura... Ahora al guardar la factura incrementamos en uno la numeración en folio: sql = "Update folio set NumFac = NumFac + 1 where Idfolio=1" Currentdb. Execute sql Att:telemaco
Es más te puedo enviar un ejemplo sencillo de como lo hago yo... dame un email... At:telemaco