Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Uso De Multiplos Valores Em Parametro


Posts Recomendados


  • Tópicos Que Criei:  83
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  433
  • Conteúdo/Dia:  0.07
  • Reputação:   0
  • Pontos/Conquistas:  2.980
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  53

prezados, preciso criar um filtro de visão de lançamentos, que se oriente a partir de um dado conjunto, nao continuo de informações. ex:

Filtro:

se codcfo IN ( SQL003)

onde SQL003 seja :

Select codcfo from fcfo where codtfc in ( :tipos_de_fornecedores)

--------**----------------

o que ocorrerá, quando o filtro for executado, será solicitado o valor do parametro " tipos_de_fornecedores " e quero informar um conjunto de fornecedores, aleatorio, como por exemplo:

1,2,5,6

quando o faço, o sistema não compreende 1,2,5,6 como 4 valores a serem checados individualmente, mas sim como se fosse a string "1,2,5,6" que nao obviamente nao existe como código. o porque, é o exec que entende a string como o valor a alimentar a variavel local @tipos_de_fornecedores, criada em tempo de execução, pelo proprio código da aplicação...

encontrei uma saida contorno, mas queria saber se não há mesmo como usar o in nessa situação.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  58
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  672
  • Conteúdo/Dia:  0.11
  • Reputação:   25
  • Pontos/Conquistas:  4.005
  • Conteúdo Resolvido:  0
  • Dias Ganho:  18
  • Status:  Offline
  • Idade:  48

Olá Fábio

Eu tentei fazer isso e descobri que o uso de parâmetros em filtros ou gerador de relatórios não vão permitir vários valores para você utilizar dentro do "IN" de um SQL.

Ex.: SELECT * FROM TMOV WHERE CODOCLIGADA = 1 AND STATUS IN ('F','Q','P')

Não consegui passar 'F','Q','P' pelo parâmetro :sorry:

Essa vei ser uma do MacGyver mesmo :victory:

Boa sorte

Link para comentar
Compartilhar em outros sites

  • 3 semanas depois...

  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  290
  • Conteúdo/Dia:  0.06
  • Reputação:   17
  • Pontos/Conquistas:  1.523
  • Conteúdo Resolvido:  0
  • Dias Ganho:  12
  • Status:  Offline

eu me deparei com este problema, e montei esta função que quebra os valores separados pela virgula:

CREATE FUNCTION [dbo].[Z_SplitString]
(
   @sString nvarchar(2048)

)
RETURNS @tParts TABLE ( part nvarchar(2048) )
--WITH ENCRYPTION
AS
BEGIN
-- comment: sp_password
 DECLARE @cDelimiter nchar(1)
 SET @cDelimiter = ','
   if @sString is null return
   declare	 @iStart int,
		    @iPos int
   if substring( @sString, 1, 1 ) = @cDelimiter
   begin
    set	 @iStart = 2
    insert into @tParts
    values( null )
   end
   else
    set	 @iStart = 1
   while 1=1
   begin
    set	 @iPos = charindex( @cDelimiter, @sString, @iStart )
    if @iPos = 0
		    set	 @iPos = len( @sString )+1
    if @iPos - @iStart > 0				 
		    insert into @tParts
		    values  ( substring( @sString, @iStart, @iPos-@iStart ))
    else
		    insert into @tParts
		    values( null )
    set	 @iStart = @iPos+1
    if @iStart > len( @sString )
		    break
   end
   RETURN
END
GO

para executar basta fazer assim:

select * from tmov where codtmv in(
SELECT part FROM Z_SplitString('1.2.06,1.2.09,1.2.13,1.2.15'))

  • Obrigado 1
Link para comentar
Compartilhar em outros sites

  • 6 anos depois...

  • Tópicos Que Criei:  0
  • Tópicos/Dia:  0
  • Meu Conteúdo:  1
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  8
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Olá.

Que comando salvador.

 

Muito Obrigado por compartilhar.

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.