Ir para conteúdo

POWERED BY:

Arquivado

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

Matheus Brito

em cadastro com checkbox

Recommended Posts

Pegar último código:

"SELECT TOP 1 codigo FROM tabela ORDER BY codigo DESC"
INSERT

campo = split(campo,",")
for i=0 to UBOUND(campo) -1
INSERT bla bla bla
next

Funcionou pra pegar o ultimo valor, mas eu num entendi a sintaxe a parte do top 1?

 

Explica ai a ideia dessa instrução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O TOP 1 no Access serve para a consulta retornar um único valor. Para dois, é TOP 2 e por ai vai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue código:

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%Option Explicit%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>

<%
dim vetor_atividades,i,conexao,sql,sqlteste,sql2,objRS2,objRS3,cod_empresa
dim nome_empresa,endereco_empresa,bairro_empresa,comple_empresa,site_empresa,email_e
mpresa,cidade_empresa
dim telefone_empresa,razao_empresa,entrega_empresa,atividades_empresa,fax_empresa

nome_empresa = Request.Form("nome_empresa")
endereco_empresa = Request.Form("endereco")
bairro_empresa = Request.Form("bairro")
comple_empresa = Request.Form("complemento")
site_empresa = Request.Form("site")
email_empresa = Request.Form("email")
cidade_empresa = Request.Form("cod_atividade")
telefone_empresa = Request.Form("telefone")
razao_empresa = Request.Form("razao")
fax_empresa = Request.Form("fax")
entrega_empresa = Request.Form("entrega")

if(entrega_empresa="sim")then
entrega_empresa=1
else
entrega_empresa=0
end if






Set conexao = Server.CreateObject("ADODB.Connection")
conexao.connectionstring= "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("dataBase") &"/bd.mdb"

conexao.open

sql = "insert into credenciados (nome, endereco, complemento, site, cod_cidade, telefone, email, fax, bairro, razao,entrega) values ('" & nome_empresa & "','" & endereco_empresa & "','" & comple_empresa & "','" & site_empresa & "'," & cidade_empresa & ",'" & telefone_empresa & "','" & email_empresa & "','" & fax_empresa & "','" & bairro_empresa & "','" & razao_empresa & "','" & entrega_empresa & "')"


conexao.execute sql
conexao.close
set conexao = nothing

%>

<%

Set conexao = Server.CreateObject("ADODB.Connection")
conexao.connectionstring= "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("dataBase") &"/bd.mdb"

conexao.open

sqlteste = "SELECT TOP 1 cod_empresa FROM credenciados ORDER BY cod_empresa DESC"


set objRS2=conexao.execute (sqlteste)
cod_empresa = objRS2("cod_empresa")

atividades_empresa = Request.Form("atividades")

vetor_atividades = split(atividades_empresa, ",")


for i=LBOUND(vetor_atividades) to UBOUND(vetor_atividades)
   sql2= "insert into credenciados_x_atividades (cod_empresa,cod_atividade) values (" & cod_empresa &",'" & vetor_atividades(i) &"')"
	next

set objRS3=conexao.execute (sql2)




Response.Write "Credenciado introduzido com sucesso"




%>
</body>
</html>

 

Ta dando esse erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C)

O comando de texto não foi definido para o objeto de comando.

/matheus/cadastrar_credenciado.asp, line 77

 

 

linha 77:

 

set objRS3=conexao.execute (sql2)

da uma olhada no insert no for... e tem outra coisa as atividades que devo inserir tem que ser o codigo das mesmas e nao seu valor em string.

 

abs e vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa linha set objRS3=conexao.execute (sql2) tem que está dentro do FOR.

for i=LBOUND(vetor_atividades) to UBOUND(vetor_atividades)
   sql2= "insert into credenciados_x_atividades (cod_empresa,cod_atividade) values (" & cod_empresa &",'" & vetor_atividades(i) &"')"
   set objRS3=conexao.execute (sql2)
   set objRS3 = nothing
next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu outro erro

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)

[Microsoft][Driver ODBC para Microsoft Access] Tipo de dados imcompatível na expressão de critério.

/matheus/cadastrar_credenciado.asp, line 77

 

 

Aff to cansado já ainda te aluguei hj.

ta osso.

 

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

sql2= "insert into credenciados_x_atividades (cod_empresa,cod_atividade) values (" & cod_empresa &",'" & vetor_atividades(i) &"')"
vetor_atividades(i) é apenas número? cod_atividade é um campo numerico? Então não precisa de aspas simples.

sql2= "insert into credenciados_x_atividades (cod_empresa,cod_atividade) values (" & cod_empresa &"," & vetor_atividades(i) &")"

Compartilhar este post


Link para o post
Compartilhar em outros sites

sql2= "insert into credenciados_x_atividades (cod_empresa,cod_atividade) values (" & cod_empresa &",'" & vetor_atividades(i) &"')"
vetor_atividades(i) é apenas número? cod_atividade é um campo numerico? Então não precisa de aspas simples.

sql2= "insert into credenciados_x_atividades (cod_empresa,cod_atividade) values (" & cod_empresa &"," & vetor_atividades(i) &")"

 

na verdade cod_atividade é um campo numerico pois é a Pk da tabela de atividades, mas so que o que ta no vetor sao strings axo que o erro ta ai, nao sei como pegar os numeros ao inves das strings, os checkboxes nao tem como pegar os codigos nao e?

 

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem uai. Em value é so você informar o código ao invés de texto.

 

SELECT, CHECKBOX, RADIO BUTTON, e outros que não me lembro agora, o ideal é utilizá-los passando valores numéricos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eh funcionou...affz eu so mui noob.

 

Cara você me ajudou demais vlw mesmo brother.

 

@edit

Agora saka ele so armazena na tabela de aatividades 1 atividade apenas, a primeiro que eu escolho no checkbox, ele manda pro banco?

 

porque será?

 

abs e vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa linha aqui atividades_empresa = Request.Form("atividades"), troca pela linha abaixo:

atividades_empresa = Request.Form("atividades")&","
Não entendi a pergunta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa linha aqui atividades_empresa = Request.Form("atividades"), troca pela linha abaixo:

atividades_empresa = Request.Form("atividades")&","
Não entendi a pergunta.

 

Quando eu troco a linha da erro.

 

Perguntei se é possivel armazenar ao inves de um valor, varios valores, pq so consigo pegar um valor do checkbox ai so vai poro banco 1 atividade.

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sim. Você tem colocar o mesmo nome em todas as checkbox. Cada uma você coloca um valor. Por isso utilizar o SPLIT ali.

 

Estranho dar o erro. Talvez é pq você nao fez isso. Colocou o mesmo nome em todas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sim. Você tem colocar o mesmo nome em todas as checkbox. Cada uma você coloca um valor. Por isso utilizar o SPLIT ali.

 

Estranho dar o erro. Talvez é pq você nao fez isso. Colocou o mesmo nome em todas.

Eu gerei as checkboxes dinamicamente fiz um do while not objRS.eof coloquei um input com a checkboxe e a partir dai gerou todas a propriedade name eh a mesma, para todas e os values vem do banco tb.

 

Ta errado?

 

Nem quero imaginar pra eu fazer a tela de alteração disso, a de cadastro ja foi isso tudo...

 

:wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fez certo.

 

O FOR vai pegar todos as checkbox assim: 1,2,3

Depois vai armazenar cada valor 1 a 1. Não entendi a parte de pegar todos os valores e armazenar de uma só vez. O FOR faz isso, mas é um de cada vez.

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.