"select max(clave) as SIGFOLIO from tabla" 'esta instruccion
guarda el num.mayor maximo y lo guardas en un recordset
y con un reaad al recordset
wsigfolio= val( recordset("sigfolio") +1
espero haber ayudado
salduos
En cuanto a lo de no usar autonuméricos (me parece respetable), si sólo lo
dices para poder tener valores del tipo '001', '002', ... pero no necesitas
que contenga valores alfanuméricos, puedes plantearte que sí sea numérico y
en todo caso formatear el valor completando con ceros a la izquierda cuando
sea necesario (en impresos o formularios). Los autonuméricos - sin ser
perfectos - pueden ayudarte a simplificar mucho el proceso.
--
Saludos,
Alex
[MS-MVP Visual Basic]
"hector barajas" <baraja...@hotmail.com> escribió en el mensaje
news:ebzvnHD...@TK2MSFTNGP09.phx.gbl...
¿Que sucede (existiendo el registro "001" y el "002" en la BD) si un usuario
comienza a crear un nuevo registro?
Obviamente deberíamos asignarle el "003", verdad? Pero ¿y si antes de que
grabe el registro en la BD, otro usuario comienza a crear un nuevo registro?
¿Le asignamos el "003" o el "004"? ¿Y como sabemos que hay usuarios con
nuevos registros a medio editar? ¿Y si el primer usuario (el que le
asignamos el "003") se arrepiente y decide no guardar el registro?
Resumiendo, ¿Por que no dejas que sea la base de datos la que se encargue de
asignar valores a los nuevos registros?
Si lo que deseas es mostrarlo como texto "00x", puedes formatear el valor
numérico con Format(Valor, "000")
Saludos,
--
Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho
--
(Guía de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm=10
FIMARGE, S.A.
Principat d'Andorra
lfranco@ODIO_EL_SPAMfimarge.ad
Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en: http://tinyurl.com/4nbnb
Yo le haria una recomendacion ligeramente diferente a la tuya <g>
Donde dices que la tabla de folios puede contener un registro, con
varios
campos para diferentes folios, porque no mejor agregar registros segun
el numero de folios que sean necesarios... un ejemplo:
Tabla Folios1
Campos:
FolioFactura tipo numerico
Con esta estructura, la tabla soporta un folio, que es para facturas.
Si yo necesito ahora tambien soportar folios para pedidos, puedo
modificar
la tabla asi:
Tabla Folios1
Campos:
FolioFactura tipo numerico
FolioPedidos tipo numerico
En este caso, tuve que modificar la tabla. Pero que pasa si en lugar
tengo
una tabla asi:
Tabla Folios2
Campo:
IdFolio - tipo numerico
Folio - tipo numerico
Le asingo que el folio de la facturas corresponda a 1, asi que
IdFolio = 1 - folio de las facturas
Si ahora necesito el foli de los pedidos, le asigno el id 2:
IdFolio = 2 - folio de los pedidos
Ahora si yo necesito el folio de un peeido yo puedo hacer esto:
select Folio from Folios2 where IdFolio=2
Este esquema me permite agregar mas folios para otros conceptos
sin la necesidad de modificar la estructura de la tabla.
Saludos
Saga
"Alex Martínez" <alexQUI...@comb.es> wrote in message
news:e$yI0aHfF...@TK2MSFTNGP14.phx.gbl...
Aparte de lo que indican los demas, y quizas hasta repitiendo, te
hago las siguientes recomendaciones:
1. Al menos de que tu folio sea realmente alfanumerico, o sea que
pienses usar letras ademas de digitos, este debe ser de tipo
numerico. Ya que lo presentes con ceros a la izquierda es otra
cosa diferentem, que facilmente lo puedes hacer con format tal
como te indican.
2. Es bueno contar con un campo autonumerico en tablas que
guadar clientes, faturas, pedidos y otros datos. Esto no significa
que vas a usar el autonumerico dentro de tu aplicacion, mas bien
este dato seria de uso interno. Este es util cuando, por ejemplo,
cargas registros a una lista (que puede ser un grid, listview, list,
combo, etc). Consigues el autonumerico (que suelo llamar Id)
y lo guardas en la lista como llave unica. Con los Lists, se guarda
en el ItemData, en algunas rejillas (grids) se guarda en el RowData
(creo que asi se llama). Cuando se selecciona el elemento y es
necesario modificarlo, solo usas el Id y ya esta.
3. Como ya te han dicho, el folio se consigue cuando das de alta
el registro (compras, factura, pedido, etc). No es posible conseguir
este dato cuando inicialmente se abre la ventana de captura. Hacer
esto lleva a la posibilidad de brincarte consecutivos.
4. Donde sea posible, has que tu llave primaria sea numerico en lugar
de texto, ya que esto agiliza las busqueda (aunque sea un poquito).
5. No dices que base de datos usas, aunque el termino automunerico
normalemente se asocia con los mdbs de Access, asi que es
importante que al dar de alta la factura (o lo que sea), le pongas
un candado a la tabla de folios para que nadie intente dar de alta
dos facturas con el mismo folio.
6. Cuando se redactan mensajes en mayusculas... das la impresion
que estas gritando. Como el oido no es necesario para leer los
mensajes (al menos que tengas un reproductor de voz), no es
necesrio que grites, asi que usa las mayusculas prudentemente :-)
Suerte!
Saga
"hector barajas" <baraja...@hotmail.com> wrote in message
news:ebzvnHD...@TK2MSFTNGP09.phx.gbl...
"Alex Martínez" <alexQUI...@comb.es> wrote in message news:OHFpBkLf...@TK2MSFTNGP15.phx.gbl...
Atentamente,
Cristian.
hector barajas escribió: