Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Formato de campo ' 1', ' 2', ' 3', ' 4'

Estas en el tema de Formato de campo ' 1', ' 2', ' 3', ' 4' en el foro de Bases de Datos General en Foros del Web. Hola a todos, ¿Hay alguna forma de que en Acces? Así como se puede pedir Formato de campo 0000 y a partir de ahí todos ...
  #1 (permalink)  
Antiguo 29/11/2004, 05:47
Avatar de 123
123
 
Fecha de Ingreso: junio-2001
Mensajes: 141
Antigüedad: 23 años, 5 meses
Puntos: 0
Formato de campo ' 1', ' 2', ' 3', ' 4'

Hola a todos, ¿Hay alguna forma de que en Acces?
Así como se puede pedir Formato de campo 0000 y a partir de ahí todos los números q introduzcas lleven delante la cantidad de ceros q sean necesarios para llegar a 4.
Pero poder hacerlo con espacios (que añada los espacios necesarios para llegar a 10 dígitos tanto si si se trata del 1 como del 235, siempre 10 dígitos.

Se trata de un campo autonumérico y me daría igual que lo haga directamente sobre él como tener un consulta que convierta el formato del autonumérico en una columna añadida.

Gracias a todos
  #2 (permalink)  
Antiguo 30/11/2004, 04:13
 
Fecha de Ingreso: junio-2004
Ubicación: Barcelona
Mensajes: 61
Antigüedad: 20 años, 5 meses
Puntos: 1
A que te refieres con espacios? pon un ejemplo de lo que quieres conseguir...
Un saludo
Sk@keo
  #3 (permalink)  
Antiguo 30/11/2004, 04:46
Avatar de 123
123
 
Fecha de Ingreso: junio-2001
Mensajes: 141
Antigüedad: 23 años, 5 meses
Puntos: 0
Hay un programa de gestión empresarial al que se le añaden manualmente códigos de clientes y él automáticamente añade tantos espacios como dígitos hagan falta para llegar a 10, o sea el '15' es '________15', el '25978' es '_____25978' (los guiones bajos representan espacios, pq al representar el post me suprime los grupos de espacios p 1 solo) en vez de añadir ceros delante añade espacios. Este programa trabaja con bases de Access y el campo tiene formato de Texto y está restringida a cambios por el distribuidor del programa.

Paralelamente se trabaja con otra base de Access que completa a la original. Tiene un campo Autonumérico que concuerda con los insertados a mano en el programa, solo que al ser Numérico no tiene los espacios y además da problemas al intentar vincular un campo de texto con uno numérico.

He comprobado que si en una consulta genero una formula que añada los espcios necesarios al ID autonumérico y la vinculo al programa se vinculan correctamente, pero me encuentro con el problema como hacer que añada automáticamente el número de espacios necesarios dependiendo d si el número d ID es d 1, 2, 3, 4, etc dígitos.

Yo creo que igual que en el formato se puede especificar 00000 para q añada los ceros necesarios para llegar a 5 dígitos, puede haber alguna forma d q añada espacios en vez de ceros.

¿Sabeis como se debe poder indicar?

Última edición por 123; 30/11/2004 a las 04:55
  #4 (permalink)  
Antiguo 30/11/2004, 05:09
 
Fecha de Ingreso: junio-2004
Ubicación: Barcelona
Mensajes: 61
Antigüedad: 20 años, 5 meses
Puntos: 1
Pero para eso ya lo tienes solucionado solo has de referirte al campo con la funcion format, ejemplo:
Nº ID: 235
MiNumero = Format([ID],"0000000000000000")
eso te devolvera en MiNumero = "000000000000235"
si es esto lo que buscas, no lo acabo de entender pero creo que es esta tu pregunta.
Un saludo desde Barna
Sk@keo
  #5 (permalink)  
Antiguo 30/11/2004, 05:18
Avatar de 123
123
 
Fecha de Ingreso: junio-2001
Mensajes: 141
Antigüedad: 23 años, 5 meses
Puntos: 0
Es eso mismo pero en vez de ceros espacios.

He intentado el modo que indicas, dentro de una consulta (no se si es ese el método al que te refieres) pero me responde "La expresión que introdujo tiene una sintaxis no válida"

Gracias
  #6 (permalink)  
Antiguo 30/11/2004, 05:26
Avatar de 123
123
 
Fecha de Ingreso: junio-2001
Mensajes: 141
Antigüedad: 23 años, 5 meses
Puntos: 0
Creo que acabo d encontrar la solo si en el formato indico @@@@@@@@@@ le añade espacios en vez de ceros.

Ahora mismo lo acabo de probarlo y comento.

Muchas gracias por todo
  #7 (permalink)  
Antiguo 30/11/2004, 05:42
 
Fecha de Ingreso: junio-2004
Ubicación: Barcelona
Mensajes: 61
Antigüedad: 20 años, 5 meses
Puntos: 1
Si lo usas en una consulta debes cambiar la "," por ";" osea la coma por un punto y coma, ejemplo:
MiNumero( 235, "00000000000") en forms y codigo.
MiNumero( 235; "00000000000") en criterios de las consultas.
Y si si incluyes ese simbolo @ te introducira espacios en blanco.
Un saludo desde Barna
Sk@keo
  #8 (permalink)  
Antiguo 30/11/2004, 06:02
Avatar de 123
123
 
Fecha de Ingreso: junio-2001
Mensajes: 141
Antigüedad: 23 años, 5 meses
Puntos: 0
No consigo q me acabe de funcionar lo q comentas, pero d todos modos he comprogado que aplicandole formato no me hacepta la vinculación, solo si lo hago a partir d fórmula ID10:&[ID] de concatenación pq me lo debe convertir a texto.

He prepara una fórmula Espacios: 10-Longitud([ID]) ésta indica el número d espacios q hacen falta, pero al ir a completarla del todo ID: REPETIR(" ";[Espacios])&[ID] me indica "La función 'REPETIR no está definida en la espresión'".

La función REPETIR está en la ayuda d Access..., y no la acepta, he probado con REPEAT y tampo.

¿Os suena como se puede inidcar que repita un cadena d texto tantas veces como inidique un campo?
  #9 (permalink)  
Antiguo 30/11/2004, 06:16
Avatar de 123
123
 
Fecha de Ingreso: junio-2001
Mensajes: 141
Antigüedad: 23 años, 5 meses
Puntos: 0
Lo peor de todo es q si en una celda d Excel pongo esta fórmula =REPETIR("g";5) funiona da ggggg.
Pero si en una columna de una consulta de Access inidco T: REPETIR("g";5) de responde "La función 'REPETIR no está definida en la espresión'".
  #10 (permalink)  
Antiguo 01/12/2004, 00:48
Avatar de 123
123
 
Fecha de Ingreso: junio-2001
Mensajes: 141
Antigüedad: 23 años, 5 meses
Puntos: 0
He encontrado una solución, se trata de invertirlo todo, en vez d intentar añadir los espacios al ID autonumérico de Access, limpio el ID del programa a partir d la función Valor Absoluto en una consulta IDAbs: ABS([ID]), le quita los espacios y la convierte en valor numérico directamente por lo q puedo vincularla a los ID autonuméricos d Access.

Ya la tengo funcionando y me ha ido perfectamente.

Gracias por tu colaboración Sk@keo
  #11 (permalink)  
Antiguo 01/12/2004, 11:26
Avatar de 123
123
 
Fecha de Ingreso: junio-2001
Mensajes: 141
Antigüedad: 23 años, 5 meses
Puntos: 0
Vaya algún problemilla tenía q acabar saliendo, vincula bien las tablas a partir d la consulta, pero entonces los datos no son editables al intentar modificar algo da un sonido d error e indica "No se puede actualizar este Recordset" en la barra d estado.

He probado a dar formato 'Número general' por si se trataba d que aunque vincula a partir de los ID no lo acaba d considerar un número, pero sigue sin permitir cambios.

¿Alguien sabe pq puede pasar esto...?

Última edición por 123; 01/12/2004 a las 11:28
  #12 (permalink)  
Antiguo 02/12/2004, 02:45
 
Fecha de Ingreso: junio-2004
Ubicación: Barcelona
Mensajes: 61
Antigüedad: 20 años, 5 meses
Puntos: 1
Prueba a poner el codigo que usas a ver si podemos hacerle algo?
Un saludo
Sk@keo
  #13 (permalink)  
Antiguo 02/12/2004, 03:17
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Dependiendo de la tabla que quiera modificar, deberías utilizar la función en la otra para vincular los datos, así, suponiendo que Tabla1, tenga el campo ID con el tipo de dato Texto, y los espacio delante de los números, y Tabla2 tenga el tipo autonumérico, y quisieras actualizar Tabla2, intenta algo como esto.

SELECT Tabla2.*, Tabla1.Campox
FROM Tabla2 INNER JOIN Tabla1
ON Tabla2.Id = Val(Trim(Tabla1.ID))

si quieres modificar Tabla1, prueba con esto

SELECT Tabla1.*, Tabla2.Campox
FROM Tabla1 INNER JOIN Tabla2
ON Tabla1.Id = Right(10, Spaces(10) & Tabla.Id)

Bueno, más o menos... Un saludo
  #14 (permalink)  
Antiguo 02/12/2004, 03:57
Avatar de 123
123
 
Fecha de Ingreso: junio-2001
Mensajes: 141
Antigüedad: 23 años, 5 meses
Puntos: 0
He probado lo que comentas Teri. Lo que interpreto es que editando la consulta como SQL le incorpore el código, no...

Con la primera opción funciona pero no me permite modificar datos de ninguna de las dos tablas.
-----
SELECT [POSCLI].*, [GEX00049GFCliente18].*
FROM [POSCLI] INNER JOIN [GEX00049GFCliente18]
ON [POSCLI].[Nº GEXTOR] = Val(Trim([GEX00049GFCliente18].[Cliente18]))
-----


Con la segunda me responde "La función 'Spaces' no está definida en la expresión."
------
SELECT [GEX00049GFCliente18].*, [POSCLI].*
FROM [GEX00049GFCliente18] INNER JOIN [POSCLI]
ON [GEX00049GFCliente18].[Cliente18] = Right(10, Spaces(10) & [POSCLI].[Nº GEXTOR])
------

¿He hecho algo mal?
  #15 (permalink)  
Antiguo 02/12/2004, 05:01
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Sí, hay que hacerlo editando la consulta en modo SQL. has probado a especificar el tipo de la consulta como Dynaset (Actualizaciones incoherentes), o a hacer una consulta de actualización directamente, si te vale claro???
  #16 (permalink)  
Antiguo 17/12/2007, 14:47
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta Re: Formato de campo ' 1', ' 2', ' 3', ' 4'

Hola a todos!!!

tengo un problema al ejecutar una sentencia SQL en Access ????

estoy tratando de actualizar una tabla que està en access y me arroja errores ???

estoy empleado esta sentencia

sql_upd = "UPDATE CuentaTrab SET TasaC = "&tasac_reconv&", EntradaBs = "&entrada_reconv&", SalibaBs = "&salida_reconv&" WHERE id="&id&""

presumo que el error està en que el campo ""id"" es un campo autonumerico y no sè sì ese formato es orrecto para campos de ese tipo ???

alguien tiene alguna sugerencia????
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:42.