Como generar autonuméricos alfanuméricos.

Tengo un formulario con un campo de nº de pedido, pero me sirve para 4 empresas diferentes, entonces quiero que al generar un pedido me cree un autonumeríco para cada empresa pero alfanumérico, de tal modo que para la 1ª es por ejemplo 1B1913FCO1000, 1B1913FCO1001, 1B1913FCO1002, 1B1913FCOXXXX... El 2º 3A3073FCO1000, 3A3073FCO1001, 3A3073FCO1002, 3A3073FCOXXXX... Y así sucesivamente. Así cuando el pedido sea para la 1ª le demos a un botón y se introduzca el valor entero 1B1913FCO1000 y si es para el 2º a otro botón que introduzca 3A3073FCO1000.

1 respuesta

Respuesta
1
Podría estar en un botón, o en el ventó del formulario después de insertar; faltaba un detalle en la fórmula
NUEVOCOD= Empresa & right("0000" & DMAX("Val(Mid(Llave,10,4))","TuTabla","Left(Llave,9)=" & Empresa) +1,4)
¿Dónde debo de insertar esta fórmula?
Me da error de compilacion en --Empresa = "1B1913FCO"--. Lo que no entiendo como le digo que me inserte el código resultante en la columna de la tabla que yo quiero que en este caso se llama "Nº Pedido" (la tabla de llama "PEDIDO CABECERA")
Poniendo la fórmula en el botón de tal modo que queda así:
EMPRESA = "1B1913FCO"
Nombre = EMPRESA & Right("0000" & DMax("Val(Mid(Llave,10,4))", "PEDIDO CABECERA", "Left(Llave,9)=" & EMPRESA) + 1, 4)
Nombre es un campo de la tabla que he utilizado en vez de Nº Pedido ya que existe un espacio entre Nº y Pedido pero aún así me da el siguiente error: ERROR 3075 error de sintaxis en la expresión de la consulta 'Left(Llave, 9)=1B1913FCO'
Empresa es una variable auxiliar que debe almacenar la característica de la llave de cada empresa
En el ej. Llave es el campo donde se almacenan las llaves primarias de la tabla, según entiendo en tu caso se llama NOMBRE
Algo más, si los nombres de campo o tabla tienen caracteres especiales o espacios en blanco deben ir entre []
...,"[pedido cabecera]",...
Fe de erratas: como se trata de un alfanumérico el criterio debe estar entre comillas
... "Left(Llave,9)=""" & EMPRESA & """")........
He escrito este código y el programa me dice que ""error de compilación error de sintaxis""
La tabla donde se tiene que grabar el nuevo código se llama PEDIDO CABECERA y el campo donde se tiene que insertar en nuevo código generado Nº Pedido. ¿Está bien escrito el código como lo he hecho a continuación?
EMPRESA = "1B1913FCO"
[Nº Pedido] = EMPRESA & Right("0000" & DMax("Val(Mid(LLAVE,10,4))", "[PEDIDO CABECERA]", "Left(LLAVE,9)="" & EMPRESA & "")+1,4)
Prueba los siguiente, en vez de llave se debe usar el campo donde se almacenas las llaves
EMPRESA = "1B1913FCO"
msgbox EMPRESA & Right("0000" & DMax("Val(Mid([Nº Pedido],10,4))", "[PEDIDO CABECERA]", "Left([Nº Pedido],9)="" & EMPRESA & "")+1,4)
' aqui deberia mostrarte el codigo y si te muestra el codigo, porque creo que hay un error en el nombre del campo que recibe el codigo y como es un objeto no acepta nombres con espacios, si te muestra el codigo entonces tienes que asignarle al campo correcto de tu formulario, itenta digitar: Me.     y luego de deberia mostrar como opcion el campo donde tienes que asignar
He escrito el código: msgbox EMPRESA & Right("0000" & Dmax("Val(Mid([Nº Pedido], 10, 4))","[PEDIDO CABECERA]","Left([Nº Pedido], 9)="" & EMPRESA & "") +1, 4) y me sigue diciendo error de compilacion se esperaba: separador de listas o )
msgbox EMPRESA & Right("0000" & DMax("Val(Mid([Nº Pedido],10,4))", "[PEDIDO CABECERA]", "Left([Nº Pedido],9)=""" & EMPRESA & """")+1,4)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas