** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Generar número de factura
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoGenerar número de factura

 Responder Responder Página  12>
Autor
Mensaje Invertir el orden de clasificación
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Tema: Generar número de factura
    Enviado: 19/Abril/2016 a las 14:12
¿Esto no es un clásico 'autonumerico simulado'?....

Pregunta:
¿El numérico correlativo se tiene que reiniciar cada año? (si no es asi, un limite de 99 facturas me parece un tanto escaso o la empresa esta diseñada para un corto periodo de tiempo)

Si se ha de reiniciar cada año, el función DCount no es adecuada (a no ser que se parametrice) y faltaría el reinicio cada nuevo año.

Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6164
Enlace directo a este mensaje Enviado: 19/Abril/2016 a las 13:07
Hola!

Pues crea otro campo en tu tabla, posteriormente en el formulario en algun evento lo pasas el valor al nuevo campo.


Me.NuevoCampo=Me.Campodefactura , donde mi campodefactura es el que tiene el valor y el otro se lo guarda en la tabla.

Un Saludo.
Arriba
markichu Ver desplegable
Nuevo
Nuevo


Unido: 18/Abril/2016
Localización: Madrid
Estado: Sin conexión
Puntos: 11
Enlace directo a este mensaje Enviado: 19/Abril/2016 a las 12:49
Y luego para que el campo de la tabla coja el valor generado en ese campo?
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6164
Enlace directo a este mensaje Enviado: 19/Abril/2016 a las 09:32
Hola!

Prueba como te lo puse antes pero con comillas simples al tratarse de texto.

="FA" & Year(Now()) & DCount("*";"Facturaacliente";"NumFactura<='" & [NumFactura]&"'")

y tienes que ponerla en el origen del control de un campo de texto independiente, na vale para el campo NumFactura.

Editado por mounir - 19/Abril/2016 a las 09:34
Un Saludo.
Arriba
markichu Ver desplegable
Nuevo
Nuevo


Unido: 18/Abril/2016
Localización: Madrid
Estado: Sin conexión
Puntos: 11
Enlace directo a este mensaje Enviado: 19/Abril/2016 a las 09:28
mounir disculpa
Esta sentencia Nz(DMax("NumFactura"; "Facturaacliente"); 0) + 1
Me da error de tipos ya que el campo es un campo de texto y al intentarle sumar uno casca
Arriba
bryger Ver desplegable
Habitual
Habitual
Avatar

Unido: 13/Abril/2016
Localización: venezuela
Estado: Sin conexión
Puntos: 79
Enlace directo a este mensaje Enviado: 19/Abril/2016 a las 00:48
mounir muchas gracias amigo disculpe la molestia sera que me puede ayudar en otro tema que tengo es un proyecto para la universidad y no encuentro quien me ayude es una tonteria pero no consigo alguien que me diga es sobre como bloquear una tabla despues de editada

aqui el link http://www.mvp-access.com/foro/bloquear-campos-despues-de-actualizar_topic81706.html
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6164
Enlace directo a este mensaje Enviado: 19/Abril/2016 a las 00:23
Hola, bryger!

Para tu caso sería:

=Year(Now()) & " 0000-" & Format(DCount("*";"Nombredela tabla";"Id<=" & [Id]);"00")
Un Saludo.
Arriba
bryger Ver desplegable
Habitual
Habitual
Avatar

Unido: 13/Abril/2016
Localización: venezuela
Estado: Sin conexión
Puntos: 79
Enlace directo a este mensaje Enviado: 19/Abril/2016 a las 00:04
una pregunta si es una tabla como puedo hacer para que dicho texto o clave se guarde en una tabla y disculpe mi ignorancia
Arriba
markichu Ver desplegable
Nuevo
Nuevo


Unido: 18/Abril/2016
Localización: Madrid
Estado: Sin conexión
Puntos: 11
Enlace directo a este mensaje Enviado: 18/Abril/2016 a las 23:57
Según lo que comenta mounir deberás de concatenar los ceros que necesites despues del año

En tu caso sería algo como:
=  Year(Now()) & "0000" & "-" & Nz(DMax("NumFactura"; "Facturaacliente"); 0) + 1
Arriba
markichu Ver desplegable
Nuevo
Nuevo


Unido: 18/Abril/2016
Localización: Madrid
Estado: Sin conexión
Puntos: 11
Enlace directo a este mensaje Enviado: 18/Abril/2016 a las 23:55
Ahora no da error.
El problema que el maldito campo no se almacena en la BBDD

He puesto la sentencia en el origen de control del mismo campo
Arriba
bryger Ver desplegable
Habitual
Habitual
Avatar

Unido: 13/Abril/2016
Localización: venezuela
Estado: Sin conexión
Puntos: 79
Enlace directo a este mensaje Enviado: 18/Abril/2016 a las 23:54
una consulta y si en caso quiero que comienze por el año agregue 4 0 y despues comienze a enumerar por ejemplo 20160000-01 etc 20160000-02 y asi
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6164
Enlace directo a este mensaje Enviado: 18/Abril/2016 a las 23:39
Hola!

También lo puedes hacer con:

= "FA" & Year(Now()) & Nz(DMax("NumFactura"; "Facturaacliente"); 0) + 1
Un Saludo.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6164
Enlace directo a este mensaje Enviado: 18/Abril/2016 a las 23:35
Tal como lo pones te tiene que dar la cuenta total, para eso está esta condición.

Si te da error algún campo esta mal escrito.
Un Saludo.
Arriba
markichu Ver desplegable
Nuevo
Nuevo


Unido: 18/Abril/2016
Localización: Madrid
Estado: Sin conexión
Puntos: 11
Enlace directo a este mensaje Enviado: 18/Abril/2016 a las 23:21
Muchas gracias mounir. LA verdad que me funciona con
="FA" & Year(Now()) & DCount("*";"Facturaacliente")
Sin embargo si lo pongo como comentas

="FA" & Year(Now()) & DCount("*";"Facturaacliente";"NumFactura<=" & [NumFactura])

Me da error #ERROR

Para que es ese criterio?

Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6164
Enlace directo a este mensaje Enviado: 18/Abril/2016 a las 22:16
Hola!

Tan simple como en un cuadro de texto independiente poner en su origen de control:

="FA" & Year(Now()) & DCount("*";"Tablafactura";"IdFactura<=" & [IdFactura])

Editado por mounir - 18/Abril/2016 a las 22:16
Un Saludo.
Arriba
 Responder Responder Página  12>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable