LOOP

ARNALDOCRUZ 13/02/2010 17:17:19
#334363
Boa tarde

colegas como é que eu posso fazer isso

tabela1 selecionada
tabela2 será preenchida no loop

na tabela1 tem um campo Item selecionada em ordem do item
na tabela 2 tem um campo SEL

para o item 1 a tabela2 campo SEL correposnde a 0
para o item 2 a tabela2 campo SEL corresponde a 1
para o item 3 a tabela2 campo SEL corresponde a 0
para o item 4 a tabela2 campo SEL corresponde a 1
para o item 5 a tabela2 campo SEL corresponde a 0

e por ai vai. a cada vez que mudar o item tenho que colocar 0 ou 1, se o aterior foi zero o proximo e um e vice-versa.



Obrigado




DANIKULL 13/02/2010 18:05:55
#334367
ARNALDOCRUZ, boa tarde.

Está um pouco obscuro, responde ai pra nos:

1º. -> Isto é um critério que deverá ser execuatdo pelo sistema automaticamente, será disparado por um commandbutton ou é para corrigir o Banco de Dados??

2º. -> Qual o Banco de Dados e a conexão que você está utilizando??

3º. -> Posta ai a estrutura das tabelas e o que você ja tem pronto.


Ok....
ICEMAN 14/02/2010 08:47:41
#334374
[ô]Declara o recordset
Dim RS as adodb.recordset

Sub Passa_Dados()

Dim V_Mudar as integer

[ô]Coloca a variavel com valor 0 que no noso caso é o inicial
V_Mudar=0

[ô]Verifica se o recordset esta aberto se estiver fecha
if rs.state=1 then rs.close

[ô]Abre o recordset filtrando o campo selecionada=true e ordenando pelo numero do item
rs.open [Ô]Select * from tabela 1 where selecionada=[ô]true[ô] order by numero_item[Ô]

[ô]gera o loop
Do while not rs.eof

[ô]Gera o cadastro direto pela conexao ja usando as informações do db é só mudar o campo pelo nome do seu campo do db
conexao.execute [Ô]Insert into tabela2 (campoDB1, campoDB2, campoDB3 , SEL) values ([ô][Ô] & rs!campoDB1 & [Ô][ô], [ô][Ô] & rs!campoDB2 & [Ô][ô], [ô][Ô] & rs!campoDB3 & [Ô][ô], [ô][Ô] & v_Mudar & [Ô][ô])

[ô]Pula para o proximo registro
rs.movenext

[ô]soma mais um na variavel
V_Mudar = V_mudar + val(1)

[ô]Verifica se o campo é maior que 1 para zerar ele, pois precisamos só do 0 e do 1
if V_Mudar > 1 then V_mudar=0

loop

[ô]fecha o recordset
rs.close


Será que ajuda arnaldo?
ARNALDOCRUZ 15/02/2010 10:53:50
#334416
dentro do item 1 posso ter varios subitens.

é como se fosse uma pergunta e tivesse resposta a,b,c,d....... porem em cada pergunta pode variar a quantidade de opções de resposta

Pergunta 1
A)
B)
C)
Pergunta 2
A)
B

Embora a resposta do ICEMAN com uma adaptação já vai dá pra resolver

Obrigado
Pergunta 3
A)
B)
C)
D)
E)

Ai o que eu tenho que fazer

Na pergunta1 o campo sel será Zero para todas as respostas
Na pergunta 2 o campo sel Será 1 para todas as respostas
Na pergunta 3 o campo sel será Zero em todas as respostas

Mas a duvida é só o que está escrito acima, daqui para baixo é só explicação pra entedimento

Outro detalhe acontece de ter pergunta 1 e pular pra 10, e também de começar na 8 ou 20 etc.
E o porque disso, as vezes da pergunta 1 a 3, ou da 5 a 9 foi eliminado por um trabalho então elas não aparecem na lista da prova.


Verifico se ficou alguma pergunta sem resposta
No final de tudo verifico se só foi selecionado uma resposta por pergunta
gravo todas as respostas respondidas em uma tabela com o ID do aluno
faço a comparação das respostas certas com as respostas respondidas
Aplico a Nota e gravo o boletim



Tópico encerrado , respostas não são mais permitidas