** 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
markichu Ver desplegable
Nuevo
Nuevo


Unido: 18/Abril/2016
Localización: Madrid
Estado: Sin conexión
Puntos: 11
Enlace directo a este mensaje Tema: Generar número de factura
    Enviado: 18/Abril/2016 a las 21:51
Hola a tod@s

Tengo un problema que seguro que es una tontería.
Os resumo
Tabla en Access con campo número de Factura de tipo texto en el que almaceno las facturas con FA + Año + secuencia
Ejemplo

FA201601
FA201602
......

Tengo un formulario con este campo y necesito que cuando se pinta el formulario aparezca el siguiente valor.
Me podéis ayudar?
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6095
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
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: 6095
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
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6095
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
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
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
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
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
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6095
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: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
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
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6095
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 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: 6095
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
 Responder Responder Página  12>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable