Checkbox Checked De Acordo Com O Bd
#1
Posted 02/03/2010, 16:18
Estou tentando fazer um banco de dados com ASP. Gostaria que ao exibir uma tabela com as informações retiradas do Banco de Dados do Access, uma checkbox fosse checked caso o valor do campo fosse Sim e vazia caso fosse Não, pois o tipo de dados referente ao campo é Sim/Não.
Obrigado.
#2
Posted 02/03/2010, 16:43
claro,
e essa checkbox habilitava a função inadimplencia, quando marcada ela deveria bloquear a criação de pedidos. Quando você pede para uma checkbox gravar o seu valor no bd quando ela está habilitada (checked) ela grava o valor "on" sem aspas no bd. Quando desmarcada (unchecked) ela não grava nda.
Então o que fiz foi uma consição if que segue abaixoif response.write rs("inadi") = "on" response.redirect("cod_abrecliente.asp?msg=Cadastro de pedidos bloqueados, cliente com pendências financeiras." end if
OBS: Não coloquei uma função else pois se estiver desmarcada ela grava um valor NULL então para simplificar fiz apenas assim, caso o valor seja num o codigo passa para a pagina de pedidos normalmente.
Ou seja, se você leu e entendeu, o BD irá gravar ON para SIM e NULL para NÃO, bastando então fazer um IF simples como descrito pelo colega.
Ae, com esse IF em ASP, você checa ou não o checkbox em html.
Ex.
<%if rs("booleano") = "on"%>
<input type="checkbox" name="booleano" checked>
<%else%>
<input type="checkbox" name="booleano">
<%end if%>
Observe que mesclei HTML com ASP sem utilizar response.write. Você pode fazer da maneira que preferir.
#3
Posted 02/03/2010, 16:46
SQL = "Select Status From Tabela Where Codigo = 1"
Set Rs = Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql, Conexao, 3, 3
IF Rs("Status") = "Sim" Then
Checked = "checked = checked"
End If
Response.Write("<input type='checkbox' value='Sim' name='checkbox'" & Checked & ">")
#5
Posted 02/03/2010, 17:15
<%
sql="SELECT * FROM andamento"
tabela.open sql,conexao,3,3
SetLocale("pt-br")
IF tabela("A1") = "Sim" Then
A1 = "checked"
End If
while not tabela.eof
%>
<table width="20%" class="sample">
<tr><td>Contrato<td><%=tabela("Contrato")%>
<tr><td>A1<td><%="<input type='checkbox' value='Sim' name='A1'" & A1 & ">"%>
<%if tabela("A1") = "Sim" THEN%>
<input type="checkbox" name="A1" checked>
<%else%>
<input type="checkbox" name="A1">
<%end if%>
#7
Posted 02/03/2010, 17:45
<%
SetLocale("pt-br")
sql = "select * from andamento"
tabela.open sql, conexao, 3, 3
%>
<table width="20%" class="sample">
<tr>
<td> Contrato <td>
<td> A1 </td>
</tr>
<%
Dim check : check = ""
While Not tabela.eof
If tabela("A1") = "Sim" Then
check = "checked"
Else
check = ""
End If
%>
<tr>
<td><%=tabela("Contrato")%></td>
<td><input type="checkbox" value="Sim" name="A1" <%=check%>></td>
</tr>
<%
tabela.movenext()
Wend
%>
</table>
Especialidade: Desenvolvimento e Banco de Dados.
Este post lhe ajudou? Agradeça: 
#8
Posted 02/03/2010, 17:50
Isso que é trabalhar com o Access
Então, se você gravou algo como "Checado" e "não-checado" na sua SQL, é isso que deverá usar para testar.
Em suma, o Access deveria retornar "on" para o valor TRUE e NULL para o valor FALSE.
Poste o código que está usando para gravar seus campos no BD, isso pode ser útil.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)










