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

(Resolvido) Campo vazio!


Vagner Nunes

Pergunta

Prezados,

Boa tarde, gostaria de saber se há alguma maneira para quando um usuário do site for preencher um formulário, este formulário grava em um banco Access, e quando ele deixar de preencher algum campo, o sistema aceitar assim mesmo, pois no momento todos os meus formulários, se houver algum campo vazio, a página retorna um erro. Gostaria que, se algum campo ficar vazio, o cadastro fosse realizado sem problemas.

Sds,

Vagner Nunes

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Você tem que verificar os campos antes da inserção, para saber se o usuário preencheu ou não.

Se não preencheu ele coloca em branco no Banco.

Como o código abaixo.

Request.Form("Campo1")
Request.Form("Campo2")
Request.Form("Campo3")
Request.Form("Campo4")

IF Campo = "" or Campo2 = "" or Campo3 = ""
   'Aqui na vdd você declara uma variável. Por exemplo, se o usuário não digitou um ou vários campos, coloca assim
   Campo1 = ""
   Campo2 = ""
   Campo3 = ""
End IF
   'Faz o Insert com as variáveis que está com o valor vazio, porém vai ficar em branco no banco, ou talvez NULL
Porque as vezes o campo na sua tabela não aceita nulo.
   Insere = Insert Into Tabela(Coluna1, Coluna2, Coluna3, Coluna4) Values (Campo1, Campo2, Campo3, 'Diego Souza')
   ' No lugar de Campo1, Campo2 e Campo3, vai ficar branco.

Dúvidas ? Poste!

Editado por DeeKilleer
Link para o comentário
Compartilhar em outros sites

  • 0

Depende o tipo de campo... se for um campo tipo 'data' ou um campo tipo 'unidade monetária' não será possível os deixar simplesmente em branco...

você pode fazer duas coisas:

1) não os colocar na rotina de insert ou update...

Tipo... você tem dois campos... um data e outro texto e quer inserir o texto mas o campo data em branco...

nesse caso colocaria simplesmente o campo texto na instrução de insert...

Detalhe: provavelmente, mesmo "pulando" os campos na rotina o bd coloque valores padrão nesses campos...

2) O melhor seria manipular a rotina numa gambiarra... ou seja:

if campodata = "" then
campodata = "1/1/1901"
ou seja uma data ridícula... na hora de imprimir em tela outra condicional do tipo
if rs("campodata") = 1/1/1901 then
response.write ""
else
response.write rs("campodata")
end if

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Prezados,

Estes campos são todos textos, e não estou utilizando validação especificamente nestes campos, porém gostaria de manter estes campos no INSERT e UPDATE, pois se alguém tiver a exigência do campo, ele irá digitar, então gostaria que estes campos fosse aceito, quando não for digitado nada, porém preciso que faça o INSERT quando necessário.

Sds,

Vagner Nunes

Link para o comentário
Compartilhar em outros sites

  • 0

Prezados,

Segue abaixo código de INSERT, ele está funcionando perfeitamente, porém se deixar algum campo vazio aparece o erro abaixo, o banco é o Access:

Microsoft JET Database Engine error '80004005'

Field 'pedidos.solicitante' cannot be a zero-length string.

/estoque/pedido_sucesso.asp, line 48

Código:

<!--#include file="Connections/Conexao.asp" -->
<%
Dim vsolicitante, vsetor, vpedido, vquantidade, vunidade, vsituacao
vsolicitante = Request("solicitante")
vsetor = Request("setor")
vpedido = Request("pedido")
vquantidade = Request("quantidade")
vunidade = Request("unidade")
vsituacao = Request("situacao")
strQuery = "INSERT INTO pedidos (solicitante,setor,pedido,quantidade,unidade,situacao) Values('"&vsolicitante&"','"&vsetor&"','"&vpedido&"',"&vquantidade&",'"&vunidade&"','"&vsituacao&"')"

If request.querystring("op") = 1 then
   Set mail = CreateObject("CDONTS.NewMail")
   mail.From = request.form("email") ' e-mail de quem esta enviando a mensagem 
   mail.To = "administrativo@email.br" ' e-mail de quem vai receber a mensagem 
   mail.CC = "administrativo@email.br" ' Com Cópia 
   'mail.BodyFormat = 1 ' parametro de formatação 
   'mail.MailFormat = cdoMailFormatText ' parametro de formatação 
   'mail.AttachFile "e:\home\login\dados\arquivo.txt" 'caso queira anexar algum arquivo ao seu e-mail
   mail.Subject = "Solicitação de Materiais - " & request.form("solicitante")
   mail.Body = "Solicitante: " & request.form("solicitante") & vbCrLf  & "Setor: " & request.form("setor") & vbCrLf & "Pedido: " & request.form("pedido") & vbCrLf & "Quantidade: " & request.form("quantidade")& vbCrLf & "-" & request.form("unidade")
   mail.Send 
   Set mail = Nothing 
else

end if
Set ObjRs = objConn.Execute(strQuery)
%>

Sds,

Vagner Nunes

Link para o comentário
Compartilhar em outros sites

  • 0

na linha 48 está está o código

Set ObjRs = objConn.Execute(strQuery)
e o campo solicitante é texto. Segue abaixo código da página completa:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers="Solicitantes"
MM_authFailedURL="index.asp"
MM_grantAccess=false
If Session("MM_Username") <> "" Then
  If (false Or CStr(Session("MM_UserAuthorization"))="") Or _
         (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
    MM_grantAccess = true
  End If
End If
If Not MM_grantAccess Then
  MM_qsChar = "?"
  If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
  MM_referrer = Request.ServerVariables("URL")
  if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
  MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
  Response.Redirect(MM_authFailedURL)
End If
%>
<!--#include file="Connections/Conexao.asp" -->
<%
Dim vsolicitante, vsetor, vpedido, vquantidade, vunidade, vsituacao
vsolicitante = Request("solicitante")
vsetor = Request("setor")
vpedido = Request("pedido")
vquantidade = Request("quantidade")
vunidade = Request("unidade")
vsituacao = Request("situacao")
strQuery = "INSERT INTO pedidos (solicitante,setor,pedido,quantidade,unidade,situacao) Values('"&vsolicitante&"','"&vsetor&"','"&vpedido&"',"&vquantidade&",'"&vunidade&"','"&vsituacao&"')"

If request.querystring("op") = 1 then
   Set mail = CreateObject("CDONTS.NewMail")
   mail.From = request.form("email") ' e-mail de quem esta enviando a mensagem 
   mail.To = "administrativo@email.br" ' e-mail de quem vai receber a mensagem 
   mail.CC = "administrativo@emailt.br" ' Com Cópia 
   'mail.BodyFormat = 1 ' parametro de formatação 
   'mail.MailFormat = cdoMailFormatText ' parametro de formatação 
   'mail.AttachFile "e:\home\login\dados\arquivo.txt" 'caso queira anexar algum arquivo ao seu e-mail
   mail.Subject = "Solicitação de Materiais - " & request.form("solicitante")
   mail.Body = "Solicitante: " & request.form("solicitante") & vbCrLf  & "Setor: " & request.form("setor") & vbCrLf & "Pedido: " & request.form("pedido") & vbCrLf & "Quantidade: " & request.form("quantidade")& vbCrLf & "-" & request.form("unidade")
   mail.Send 
   Set mail = Nothing 
else

end if
Set ObjRs = objConn.Execute(strQuery)
%>

<!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>CESAT - Controle de Estoque v.1.0</title>
<style type="text/css">
<!--
body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #000000;
}
body {
    background-color: #F3F3F3;
}
a {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #000000;
}
a:link {
    text-decoration: none;
}
a:visited {
    text-decoration: none;
    color: #333333;
}
a:hover {
    text-decoration: none;
    color: #666666;
}
a:active {
    text-decoration: none;
    color: #999999;
}
-->
</style>
<script type="text/JavaScript">
<!--
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
//-->
</script>
</head>

<body>
<table width="777" border="0" align="center" bgcolor="#FFFFFF">
  <tr>
    <td><table width="777" border="0">
      <tr>
        <td><img src="imagens/topo.gif" width="777" height="120" /></td>
        </tr>
      <tr>
        <td><div align="center"><img src="imagens/computador.jpg" width="48" height="48" /></div></td>
      </tr>
      <tr>
        <td><p>&nbsp;</p>
          <p align="center"><strong>Pedido encaminhado com sucesso! </strong></p>
          <p>&nbsp;</p></td>
      </tr>
      <tr>
        <td> <div align="center">
          <input name="Submit" type="submit" onclick="MM_callJS('history.go (-1)')" value="Voltar" />
        </div></td>
        </tr>
      <tr>
        <td><img src="imagens/rodape.gif" width="777" height="48" border="0" usemap="#Map" /></td>
        </tr>
    </table></td>
  </tr>
</table>

<map name="Map" id="Map"><area shape="rect" coords="634,22,793,54" href="http://www.gouarts.com" target="_blank" />
</map></body>
</html>

Sds,

Vagner Nunes

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...