Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tuhajo

Inserir várias variável e jogar em uma só

Recommended Posts

é basicamente igual ao post #9, que coloquei acima...

 

 

mas no meu caso, eu não posso fazer daquela maneira pq recebo várias variáveis pra jogar em uma só!!!

e não tenho como fazer split num campo Sim ou Não.

minha dúvida tá em como jogar todos os requests que recebo das respostas numa variável só, já que o AD não quer mudar o banco!!!

eu tenho q receber esses requests jogar na variável e ir inserindo uma linha pra cada resposta até acabar as perguntas. Só não sei como vou fazer isso!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

minha dúvida tá em como jogar todos os requests que recebo das respostas numa variável só, já que o AD não quer mudar o banco!!!

eu tenho q receber esses requests jogar na variável e ir inserindo uma linha pra cada resposta até acabar as perguntas.

é o que você esta fazendo, concatenou tudo, depois pode jogar em um array e atraves de um for ir inserindo ele

Compartilhar este post


Link para o post
Compartilhar em outros sites

minha dúvida tá em como jogar todos os requests que recebo das respostas numa variável só, já que o AD não quer mudar o banco!!!

eu tenho q receber esses requests jogar na variável e ir inserindo uma linha pra cada resposta até acabar as perguntas.

é o que você esta fazendo, concatenou tudo, depois pode jogar em um array e atraves de um for ir inserindo ele

 

Consegui resolver essa parte da forma que me falou. Ficou assim:

num_resposta = split(rad_pedido&","&rad_op_funcao&","&rad_op_dificuldade&","&rad_op_conhecimento,",")

for x = 0 to ubound(num_pergunta)

    insereResp = "INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DAT_INCL) "&_
                 "VALUES ("&matricula&","&trim(num_pergunta(x))&",'"&trim(num_resposta(x))&"',SYSDATE)"
    Set RsResposta = ConBanco.Execute(insereResp) 
        
next

Só que surgiu um outro problema... Acrescentaram campo texto na pesquisa e o AD colocou mais um campo na tabela, ficando o insert assim:

INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_RESP,DAT_INCL) VALUES (65508,1,'P','Texto',SYSDATE)
Só que quando vou inserir ele insere os campos texto nas primeiras linhas da tabela, quando deveria ser na pergunta correspondente.

Como posso fazer já que os campos texto não tem a IND_RESP? teria que inserir o IND_RESP vazio e preencher o campo DSC_RESP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_RESP,DAT_INCL) VALUES (65508,1,'','P','Texto',SYSDATE

 

Tudo bem!!!

Mas o problema é o mesmo. Esses campos de texto são 3 campos que tbm vai ter que ficar no loop, pois vou receber os 3 e jogar em 1 variável.

Fiz da seguinte forma:

num_pergunta            = split(request.form("num_pergunta"),",")
rad_pedido              = request("rad_pedido")
rad_op_funcao           = request("rad_op_funcao")
rad_op_dificuldade      = request("rad_op_dificuldade")
rad_op_conhecimento     = request("rad_op_conhecimento")
dsc_ponto_positivo      = request("dsc_ponto_positivo")
dsc_a_melhorar          = request("dsc_a_melhorar")
dsc_comentarios         = request("dsc_comentarios")

num_resposta = split(rad_pedido&","&rad_op_funcao&","&rad_op_dificuldade&","&rad_op_conhecimento,",")

dsc_resposta = split(dsc_ponto_positivo&","&dsc_a_melhorar&","&dsc_comentarios,",")


for x = 0 to ubound(num_pergunta)

    insereResp = "INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_OBS_RESP,DAT_INCL,INTMATRICULA_INCL) "&_
                 "VALUES ("&matricula&","&trim(num_pergunta(x))&",'"&trim(num_resposta(x))&"','"&trim(dsc_resposta(x))&"',SYSDATE,"&matricula&")"
    Set RsResposta = ConBanco.Execute(insereResp) 
        
next

Aí ele dá esse erro:

 

Microsoft VBScript runtime error '800a0009'

 

Subscript out of range: 'x'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Subscrito fora do intervalo normalmente significa que você tentou acessar um elemento de uma matriz que foi ou superiores aos seu ubound ou inferior ao seu LBound.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Subscrito fora do intervalo normalmente significa que você tentou acessar um elemento de uma matriz que foi ou superiores aos seu ubound ou inferior ao seu LBound.

 

 

É... ele esta trazendo errado. Ele está trazendo:

INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_OBS_RESP,DAT_INCL) VALUES (65508,1,'E','teste 1',SYSDATE)
INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_OBS_RESP,DAT_INCL) VALUES (65508,2,'B','teste 2',SYSDATE)
INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_OBS_RESP,DAT_INCL) VALUES (65508,3,'S','teste 3',SYSDATE)

Quando ele deveria trazer:

INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_OBS_RESP,DAT_INCL) VALUES (65508,1,'P','',SYSDATE)
INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_OBS_RESP,DAT_INCL) VALUES (65508,2,'E','',SYSDATE)
INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_OBS_RESP,DAT_INCL) VALUES (65508,3,'R','',SYSDATE)
INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_OBS_RESP,DAT_INCL) VALUES (65508,4,'B','',SYSDATE)
INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_OBS_RESP,DAT_INCL) VALUES (65508,17,'','teste 1',SYSDATE)
INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_OBS_RESP,DAT_INCL) VALUES (65508,18,'','teste 2',SYSDATE)
INSERT INTO PESQUISA_DESLIGAMENTO (INTMATRICULA,NUM_QUESTAO,IND_RESP,DSC_OBS_RESP,DAT_INCL) VALUES (65508,19,'','teste 3',SYSDATE)

Ele tá trazendo a resposta dos campos texto, nas primeiras perguntas, isso tá errado!!!

Os campos texto são correspondentes as perguntas 17,18 e 19.

 

Alguém tem uma solução para este problema???

Grata.

 

Não existe solução para este problema?

Favor me informarem, para tomar alguma providência pois preciso terminar este sistema urgente.

Grata.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.