Ir para conteúdo
Fórum Script Brasil
  • 0

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


marceloadeo

Pergunta

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!!!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Cara... uma dica: no próximo tópico tenta ser mais objetivo... vai direto ao ponto! ;)

Pra salvar tudo não tem problema algum, bastará que você proceda um loop. O problema aqui é que você terá que fazer um contador na página anterior para saber exatamente quantos registros você tem que alterar... mas nada complexo!

Depois basta colocar sua instrução de insert dentro do loop e pronto!

A única coisa que eu não entendi na sua dúvida é que você colocou:

salvar em um Novo Banco de Dados Access

É isso mesmo? você quer criar um bd novo remotamente? Isso é possível fazer via fso, basta que você tenha um modelo padrão salvo... mas não entendi muito a necessidade disso! porque não inclui tudo no mesmo bd?

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0
Cara... uma dica: no próximo tópico tenta ser mais objetivo... vai direto ao ponto! ;)

Pra salvar tudo não tem problema algum, bastará que você proceda um loop. O problema aqui é que você terá que fazer um contador na página anterior para saber exatamente quantos registros você tem que alterar... mas nada complexo!

Depois basta colocar sua instrução de insert dentro do loop e pronto!

A única coisa que eu não entendi na sua dúvida é que você colocou:

salvar em um Novo Banco de Dados Access

É isso mesmo? você quer criar um bd novo remotamente? Isso é possível fazer via fso, basta que você tenha um modelo padrão salvo... mas não entendi muito a necessidade disso! porque não inclui tudo no mesmo bd?

[]'s

Desculpe pelo tamanho da mensagem, vamos ao ponto.

Os registros e matrículas e outras informações se encontram em outras tabelas de outros bancos de dados, os quais puxo via consulta sql, mas quando me referi salvar em outro Novo Banco de Dados Access, na verdade este outro banco de dado access já existe e está criado, só desejo salvar neste novo BD, entendeu.

Quanto a sua solução seria possivel você me enviar ou escrever um exemplo para mim, pode ser um bem simples, mas que se aplique a minha real necessidade, pois posso estudá-lo e depois ver só as dúvidas finais.

Grato,

Marcelo Arruda.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom... a questão é a seguinte:

Pelo que eu entendi você terá que fazer uma consulta imprimindo em tela o nome de cada aluno que tem em determinada turma, certo? Em outra coluna você colocaria os campos para preenchimento de faltas e notas, correto?

Aqui vem su primeira empreitada, terás que imprimir essa consulta numerando automaticamente os inputs...

Farás alogo do tipo:

n=1
<%While not rs.eof%>
<input textfield id = nota<%=n%>>
<%
...moventext...
%>
<%n = n + 1
objRS1.MoveNext
Wend%>
<input name="qtdereg" id="qtdereg" type="hidden" value="<%=n - 1%>">
No trecho acima você cria um contador chamado "n" para numerar automaticamente os inputs a fim de saber exatamente onde começara e terminara seu loop... você verá que criei um input hidden chamado qtdereg, para saber exatamente quantos registros são, esse será o nº onde o loop terminará; Mandará isso por post ou get para outra página, nessa outra página a rotina de insert será algo assim:
qtdereg = request.form("qtdereg")
for i = 1 to qtdereg

notas = request.form("nota"&i&"")
       
Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
objConn.execute = "Insert Into sua_tabela campo_notas value ('"&notas&"')"
next

Essa é a ideia... basta trabalhar em cima dela agora!

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0
Bom... a questão é a seguinte:

Pelo que eu entendi você terá que fazer uma consulta imprimindo em tela o nome de cada aluno que tem em determinada turma, certo? Em outra coluna você colocaria os campos para preenchimento de faltas e notas, correto?

Aqui vem su primeira empreitada, terás que imprimir essa consulta numerando automaticamente os inputs...

Farás alogo do tipo:

n=1
<%While not rs.eof%>
<input textfield id = nota<%=n%>>
<%
...moventext...
%>
<%n = n + 1
objRS1.MoveNext
Wend%>
<input name="qtdereg" id="qtdereg" type="hidden" value="<%=n - 1%>">
No trecho acima você cria um contador chamado "n" para numerar automaticamente os inputs a fim de saber exatamente onde começara e terminara seu loop... você verá que criei um input hidden chamado qtdereg, para saber exatamente quantos registros são, esse será o nº onde o loop terminará; Mandará isso por post ou get para outra página, nessa outra página a rotina de insert será algo assim:
qtdereg = request.form("qtdereg")
for i = 1 to qtdereg

notas = request.form("nota"&i&"")
       
Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
objConn.execute = "Insert Into sua_tabela campo_notas value ('"&notas&"')"
next

Essa é a ideia... basta trabalhar em cima dela agora!

[]'s Rafael Spilki

Vou tentar montar alguma coisa com a sua dica Rafael e qualquer coisa amanhã post algo aqui como me sair, ok? Grato a princípio pela dica.

Marcelo Arruda.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

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

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152.1k
    • Posts
      651.8k
×
×
  • Criar Novo...