Ir para conteúdo

POWERED BY:

Arquivado

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

~= Fidel =~

Cadastrar 10 nomes de uma só vez

Recommended Posts

Olá amigos, trata-se de uma seleção aleatória de empregados para a realização de um curso interno. Consigo fazer a seleção dos 10 nomes (através da matrícula - efe_matricula). Porém na hora de cadastrar não estou conseguindo e o pior de tudo, meu tempo está se esgotando...

 

Abaixo segue o código..

 

Valeu Galera..

<body>
<form id="form1" name="form1" method="post" action="">
 <p>
   <input type="text" name="Data_foram" id="Data_foram" />
 </p>
 <p>
   <%
dim conn
dim rs
dim SQLStmt
dim varMatricula
Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\MC\Randon\base\base.mdb;"
Set RS = Server.CreateObject("ADODB.Recordset")

[b]'Aqui ele seleciona 10 matrículas da tabela TB_EFETIVO(Efe_matricula) aleatórias - está ok realmente trás as 10 matriculas[/b]
SQLStmt = "SELECT TOP 10 TB_Efetivo.efe_matricula, TB_Efetivo.efe_nome, TB_Efetivo.efe_cargo, TB_Efetivo.efe_unidade FROM TB_Efetivo LEFT JOIN TB_Foram ON TB_Efetivo.efe_matricula = TB_Foram.efe_matricula WHERE (((TB_Foram.efe_matricula) Is Null)) ORDER BY Rnd(Int(Now()*[iD])-Now()*[iD]);"

RS.Open SQLstmt,Conn,adOpenKeyset,adLockOptimistic

While Not RS.EOF %>
<% 	varMatricula=rs("efe_matricula")
response.Write(varMatricula)%>

<%
RS.AddNew
RS("efe_matricula") = Request.Form(varMatricula)
RS("data_foram") = Request.Form(data_foram)
RS.Update
%>
<%
RS.MoveNext
Wend
RS.close
%>
 </p>
</form>
<br />
</body>
</html>

 

A estrutura da tabela TB_Foram é :

data_foram - Campo data

efe_matricula - numero

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro esta aqui

 

RS("efe_matricula") = Request.Form(varMatricula)
RS("data_foram") = Request.Form(data_foram)

 

faça assim

 

RS("efe_matricula") = varMatricula
RS("data_foram") = Request.Form("data_foram")

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta usar insert no lugar de addnew()

 

set conexao = createobject("adodb.connection")

conexao.open strCon

conexao.execute("INSERT INTO Suatabela (efe_matricula, data_foram) VALUES ('"&Request.Form(varMatricula), '"&Request.Form(data_foram)&"')")

conexao.close

set conexao = nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos, dei uma melhorada no código mas está dando o seguinte erro.

 

Microsoft JET Database Engine erro '80040e07'

Tipo de dados imcompatível na expressão de critério.

/Randon/incLoop.asp, linha 38

 

 

A linha de destaque é a que ele aponta como erro. (efe_matricula está como número no DB)

<form id="form1" name="form1" method="post" action="">
<%
varEfe_Matricula = Request.Form("efe_matricula")
varData_foram = Request.Form("data_foram")

'Declarando variáveis
Dim adoCon, strCon, rsInfo
Dim caminho_banco

'Definindo caminho do banco
caminho_banco = Server.MapPath("base/base.mdb")

'Definindo string de conexão
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & caminho_banco

'Criando objeto
Set adoCon = Server.CreateObject("ADODB.Connection")

'Abrindo conexão
adoCon.Open strCon

StrCon = "INSERT INTO TB_Foram (efe_matricula,data_foram) VALUES ('"& varEfe_Matricula &"','"& varData_foram & "')"
set rsInfo = adoCon.Execute(StrCon)

'Fechando conexão
adoCon.Close
Set adoCon = Nothing

response.write("enviada com sucesso")

%>
</form>

 

Agradeço antecipadamente as ajudas anteriores e mais essa.

 

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verificou se o formato dos dados que está tentando inserir são compativeis com os campos do banco de dados ?

Uma data no formato dd/mm/aaaa e o banco de dados com a data no formado aaaa/mm/dd pode gerar o erro por exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo, você recupera os dados, faz um loop e coloca na string SQL

 

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)&"')"

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.