Ir para conteúdo

POWERED BY:

Arquivado

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

marceloadeo

Como Salvar Múltiplos Registros com Múltiplos Campos via ASP em MDB

Recommended Posts

Boa Tarde,

 

 

Pessoal, meu nome é Marcelo Arruda, trabalho em uma escola onde estou desenvolvendo um sistema escolar - SIDELON – Sistema Digital de Diário Eletrônico On Line - para funcionar totalmente via internet, onde utilizo Banco de Dado Access (MDB) e Linguagem de Programação ASP.

Dividi o desenvolvimento em vários módulos para facilitar o processo como um todo.

No módulo que estou trabalhando atualmente, é o de Lançamento das Notas Bimestrais dos Alunos, onde cada Professor irá lançar 03(três) Notas para cada aluno, respectivamente, para ser gerada a Média Bimestral.

A situação que tenho é seguinte:

Imaginemos uma sala de aula (8ª Série, Turma A, do Ensino Fundamental), onde nesta sala temos por exemplo 40 alunos, onde cada aluno tem o seu número de classe (número na chamada ou diário do professor), assim como o seu número de matrícula.

Agora a partir de 02(dois) Banco de Dados Access (MDB), onde este alunos já se encontram previamente Registrados e Matriculados com seus respectivos Dados Pessoais e Informações de Turmas e Séries, através de uma busca (Consulta SQL) preencho uma tabela em forma de formulário em uma página Web via ASP, que por sua vez tem 06 (seis) colunas (cada coluna representa um campo diferente), vejamos a descrição da tabela abaixo:

1ª Coluna: Número de Classe (campo responsável por organizar a tabela em ordem crescente, do aluno número 1 até o aluno número 40, já que são 40 alunos nesta sala de aula)

2ª Coluna: Nome dos alunos

3ª Coluna: Sexo dos alunos

4ª Coluna: Matrícula dos alunos

5ª Coluna: Código Individual de cada aluno – Número do Registro

6ª Coluna: coluna onde será lançada a nota da 1ª (primeira) Atividade ou Prova, por exemplo. Criei um campo INPUT para receber a nota a ser lançada.

 

Nº de Classe Nome do Aluno Sexo Matricula Registro Nota 1ª Atividade

1 Adriana F 16470 101

2 Carolina F 16484 205

3 Manoel M 14587 453

... ... ... ... ... ...

40 Raimundo M 15578 854

 

As 06 (seis) colunas que compõem a tabela acima, assim como as linhas com os dados dos 40 alunos desta turma eu consegui montar de forma perfeita, mas o problema vem agora:

Uma vez o professor tendo esta tabela na página da Web para proceder com o lançamento das notas da atividade ou prova, para cada aluno e ao final do preenchimento desta tabela, como faço para salvar em um Novo Banco de Dados Access, as informações de cada aluno, pois em cada linha temos um Registro diferente e cada Registro destes tem por sua vez 06(Seis) Campos de Dados.

 

Por favor se alguém tiver uma Luz ou um Exemplo ou um Idéia de como faço isso, peço que me ajudem ou me enviem um exemplo, pois estou enganchado neste ponto, mesmo que o exemplo seja em outra Linguagem de Programação, tipo PHP, etc....

 

De já agradeço qualquer ajuda que aparecer.

 

Meu E-Mail: marcelo@spiox.com.br

 

 

Atenciosamente,

 

Marcelo Arruda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode identificar o nome de cada campo com o código de registro do aluno.

 

Ex. Código do Aluno: 12345

 

Campo1: txtcampo1_12345

Campo2: txtcampo2_12345

 

E por aí vai.

 

Na outra página você acessa o banco de dados e manda listar os alunos que apareceram na página anterior. Dentro do WHILE você recebe os dados de cada um e inseri no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você terá uma lista com todos os alunos e nessa listagem, você quer lançar a nota de todos !!!

você poderia usar a mesma lógica , tipo:

 

if qtd_produtos = "" then
Response.write("erro..."
response.redirect("outra_pagina.asp")
else
qtd_produtos = split(Request.Form("qtd_produtos"),",")
if qtd_produtos = ""
produtos= Split(Request.Form("produtos"), ",")

For i = 1 To Request.Form("produtos").Count

Response.write request.form("produtos")(i)&"<BR>" & request.form("qtd_produtos")(i)&"<BR>"
SQL = "INSERT INTO lista (lista_prodID,lista_quant) Values ('"&request.form("produtos")(i)&"','"&request.form("qtd_produtos")(i)&"')"

onde você recuperaria o ID do aluno e faria um loop na sua string SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas se usar a sugestão do Xan tem que ficar atento as vírgulas. Elas deverão ser substituídas por pontos, no momento da digitação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você terá uma lista com todos os alunos e nessa listagem, você quer lançar a nota de todos !!!

você poderia usar a mesma lógica , tipo:

 

if qtd_produtos = "" then
Response.write("erro..."
response.redirect("outra_pagina.asp")
else
qtd_produtos = split(Request.Form("qtd_produtos"),",")
if qtd_produtos = ""
produtos= Split(Request.Form("produtos"), ",")

For i = 1 To Request.Form("produtos").Count

Response.write request.form("produtos")(i)&"<BR>" & request.form("qtd_produtos")(i)&"<BR>"
SQL = "INSERT INTO lista (lista_prodID,lista_quant) Values ('"&request.form("produtos")(i)&"','"&request.form("qtd_produtos")(i)&"')"

onde você recuperaria o ID do aluno e faria um loop na sua string SQL

 

Realmente é essa a idéia, pois a listagem com os dados dos alunos eu já tenho, o problema é que eu não estou sabendo como salvar estas informações de cada aluno linha a linha, visto que são muitas linhas, pois dependendo da turma pode ser mais de 40 alunos, que no caso seria o equivalente a mais de 40 linhas, onde em cada uma destas linhas eu tenho 6 campos para serem salvos no Banco de Dados.

 

Então a idéia do loop que devo montar não me vem à cabeça, pois pelo que estou entendendo nesta página onde criei a listagem dos alunos da turma devo criar uma forma de contar a quantidade de linhas que terei nesta página, independentemente da turma que estarei trabalhando, onde nesta listagem somente o campo da nota de cada aluno que o

professor digitaria alguma coisa.

 

As perguntas persistem:

1)Como crio este contador para contar o número de linhas que terei nesta página?

2)Após clicar em Salvar Dados, como crio o loop, para salvar linha a linha no meu banco de dados?

 

Vou tentar montar alguma coisa com esta dica, mas para ser sincero achei meio complicado para entender, mas vamos ver o que eu consigo criar com a sua ajuda e qualquer coisa post aqui amanhã algo, ok?

 

Grato a princípio pela ajuda, mas sem desmerecer, se alguém tiver mais dicas não deixem de fazê-las.

 

 

Marcelo Arruda.

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.