cancel
Showing results for 
Search instead for 
Did you mean: 

COPIAR CAMPO EN BUSQUEDA FORMATEADA

former_member213883
Participant
0 Kudos

Hola Foro, me pregunto si alguien sabe como puedo hacer una busqueda formateada para que cuando un campo sea igual a x se copie ese valor a otro campo en blanco y si es igual a z se quede en blanco.

Tengo una lista desplegable (UDF) de 5 opciones 1, 2, 3, 4, 5, quisiera que cuando seleccionen 1 se copie el 1 a otro campo otro (UDF) llamado 'Ubicacion' , cuando seleccione el 2 se copie el 2 al campo 'Ubicacion' pero cuando seleccione cualquier otro (3, 4, 5) se quede en blanco el campo 'Ubicacion', para que puedan introducir manualmente valores.

Espero me haya explicado claramente, y alguien me pueda ayudar.

Saludos!

Accepted Solutions (1)

Accepted Solutions (1)

former_member188440
Active Contributor
0 Kudos

Intenta con



declare @opc as int (1)

set @opc=(select $[tabla.u_tucampo])
if @opc  in (3,4,5)
begin 
select ''
end
if @opc in (1,2)
begin
select $[tabla.u_tucampo]
end

former_member213883
Participant
0 Kudos

Hola MAO, gracias por contestar tan rapido, mira trate de generar la consulta que me mencionas y puse la siguiente:

declare @opc as int (1)

set @opc=(select $[OINV.U_Forma])

if @opc in (3,4,5)

begin

select ''

end

if @opc in (1,2)

begin

select $[OINV.U_Forma]

end

Lo mismo que me dijiste pero te pongo el nombre de mi campo, lo que pasa es que me sale el siguiente error:

1). [Microsoft][SQL Native Client][SQL Server]Column, parameter, or variable #1: Cannot specify a column width on data type int.

2). [Microsoft][SQL Native Client][SQL Server]Statement 'Documento' (RDOC) (s) could not be prepared.

El campo U_Forma es en donde tengo dados de alta los valores que se seleccionan, estan dados de alta de la siguiente manera:

Tipo alfanumerico, largo 20, estructura regular.

Fijar valores validos para el campo seleccionado.

Valor....................Descripcion

1...........................Lunes

2...........................Martes

3..........................Miercoles

4..........................Jueves

5...........................Viernes

Mi intencion es que se copie o no la descripcion de ese campo a otro llamado U_DS, espero que me puedas ayudar.

Saludos!

former_member188440
Active Contributor
0 Kudos

Entonces lo que necesitas es que se copie el texto 'Lunes',' Martes', segun sea el caso??

Entonces es un poquito mas complejo el query (eso o cambiar en la definicion del campo, en lugar de poner 1, 2, 3 para lunes martes o miercoles, poner en valor Lunes, descripcion Lunes)

former_member213883
Participant
0 Kudos

Si no me importa cambiar el campo valor a lo que quiero que se copie, para mantener las cosas simples, pero detodos modos sale el error que te comento. Sabes a que se pueda deber?, ati te funciona?

Saludos,

former_member188440
Active Contributor
0 Kudos

Ok a ver, cambia el valor, por la descripcion

y en la declaracion de la variable dejala como



declare @opcion as nvarchar (8)

y en el if cambialo por el nombre

en lugar de


in (1,2,3)

pon


in ('Lunes','Martes')

former_member213883
Participant
0 Kudos

Que tal mira la deje asi como me dijiste:

declare @opcion as nvarchar (8)

set @opcion=(select $[OINV.FormaPago])

if @opcion in ('Miercoles', 'Jueves', 'Viernes')

begin

select ''

end

if @opcion in ('Lunes', 'Martes')

begin

select $[OINV.FormaPago]

end

Si lo ejecuto desde el query manager me sale un mensaje que finalizo correctamente pero no muestra nada, y si se lo asigno al campo y lo ejecuto desde ahi me muestra el siguiente mensaje:

Se ha producido un error interno (-1003) [Mensaje 131-183]

former_member188440
Active Contributor
0 Kudos

No te esta faltando la U al inicio??

u_forma de pago ¡?¡

Answers (1)

Answers (1)

former_member213883
Participant
0 Kudos

Hola, creo que ya casi esta, ya funcionan algunos, pero me di cuenta que si el valor a copiar tiene un espacio, por ejemplo 'Lunes y Martes', ya no lo copia, y si pongo solo lunes si, sabras porque?, o de que otra manera puedo copiar algun dato con espacio, es que es super importante, no se puede con un & o como le podre hacer.

Muchas gracias por tu tiempo.