Ver Mensaje Individual
  #1  
Antiguo 02-12-2008
peripla peripla is offline
Miembro
 
Registrado: abr 2006
Posts: 54
Reputación: 19
peripla Va por buen camino
Ayuda! No le encuentro la vuelta....

Primero les pego el código para que vean de que se trata:

Código SQL [-]
DECLARE @nIdPrestadorHabilitado int DECLARE @sCodigoPrestadorHabilitado varchar(15)
DECLARE @sCodigoModeloActual varchar(5) DECLARE @sNuevoCodigoModelo char(5)
SELECT @sNuevoCodigoModelo = NULL 
DECLARE @sUltimaLetra varchar(1) SELECT @sUltimaLetra = MAX(RIGHT(RTRIM(CodigoModelo), 1)) 
FROM ModelosPrecio WHERE 
SUBSTRING(CodigoModelo, 1, LEN( @sCodigoPrestadorHabilitado)) = @sCodigoPrestadorHabilitado AND 
LEN(RTRIM(CodigoModelo)) = LEN( @sCodigoPrestadorHabilitado) + 1 AND 
RIGHT(RTRIM(CodigoModelo), 1) BETWEEN 'A' AND 'Z'
SELECT @sUltimaLetra = ISNULL( CHAR( ASCII( @sUltimaLetra ) + 1 ), 'A') 
SELECT @sNuevoCodigoModelo = LEFT(LTRIM(RTRIM( @sCodigoPrestadorHabilitado )), 4 ) + ISNULL( @sUltimaLetra,'')

El tema es el siguiente, trabajamos con un código de prestador para distinguir a los prestadores de la empresa donde trabajo que por ejemplo es 765. Para actualizar el modelo de cada prestador le asignamos una o mas letras a la derecha ej: 765A, 765G....

Bueno, lo que hace el código es cada vez que ejecutamos el programa cambiarle el modelo, por ejemplo de 765A lo cambiamos a 765B, o sino de 765D a 765E. El tema es que se me complica cuando llega a la Z, y quiero cambiar el modelo. De 765Z va al 765Z, y yo necesito que vaya del 765Z al 765AA, del 765AZ al 765 BA, y asi sucesivamente.

Alguien me puede tirar una idea de como hacerlo, ya que no se me ocurre nada.

Muchisimas Gracias!

Última edición por dec fecha: 02-12-2008 a las 14:16:13.
Responder Con Cita