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

Formularios Com Campos Não Obrigatorios


leaio

Pergunta

Olá pessoal ,eu peguei um software na net que chama dataform,(vocês já devem ter ouvido falar),ele cria formularios rapidamente sem precisar de programacao,bem em peguei este softaware e criei o meu formulario,só que ele só manda os dados pro BD quando todos os campos do formulario estiverem preenchidos!!!,EU QUERIA SABER COMO FAÇO PRA MANDAR OS DADOS DO FORMULARIO PRO BANCO DE DADOS SEM QUE PRECISE PRRENCHER TODOS OS CAMPOS

If Not IsEmpty(Request.Form("submit")) AND Trim(Request.Form("nome")) <> "" AND Trim(Request.Form("sexo"))

EU ACHO QUE É AKI!!!!,TENTEI ALTERAR,TIRAR ESTE if not IsEmpty,mas sem sucesso!!!!!

Por Favor me ajudem!!!!!!!

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Hummm

Quando você deixa o campo em branco, e manda dar SUBMIT, o que acontece?

Dá erro?

Dependendo do erro, é só uma configuraçãozinha no seu banco de dados..

Se for erro, posta o erro todo aí..

Link para o comentário
Compartilhar em outros sites

  • 0

putz cara, não usa o data form não,

além dele sujar seu codigo inteiro, você não aprende nada.....

dai se dá algum erro ( q nem esse que deu ) como o codigo está todo sujo você não consegue achar os campos para arrumar... tem que ter alguma noçãozinha para mexer com os codigos que ele criou...

Link para o comentário
Compartilhar em outros sites

  • 0

E ai galera eu mandei o codigo para cadastro de dois campos (nome,cidade),ele não dá menssagem de erro,quando eu não preencho algum campo ele cai no ELSE e me retorna a mensagem que está lá!!!,

<%
If Not IsEmpty(Request.Form("submit")) AND Trim(Request.Form("nome")) <> ""  AND Trim(Request.Form("cidade")) <> ""  Then
    Set Conexao = Server.CreateObject("ADODB.Connection")
    Conexao.Open "DBQ=C:\Inetpub\wwwroot\exemplos\3\Formulario\dados\dados_cadastro.mdb;Driver={Microsoft Access Driver (*.mdb)};"
    ComandoSQL = "INSERT INTO curriculo_cadastrado (nome, cidade)"
    ComandoSQL = ComandoSQL & " VALUES ("
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("nome")) & "',"
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("cidade")) & "')"
    Set bd = Conexao.Execute(ComandoSQL)
    Conexao.Close
    Set bd = Nothing
    Set Conexao = Nothing
%>

   <font face="Arial" size="2">
   <center><br>Os dados foram enviados com sucesso!

   <br><a href="index.asp"><b>Clique aqui</b></a> para continuar</font></center>

<%
  Else
%>

   <font face="Arial" size="2">
   <center><br>Atenção: Alguns dados necessário não foram preenchidos corretamente

   <br><a href="javascript:history.go(-1)"><b>Clique aqui</b></a> para voltar</font></center>

<%
  End If
%>

,tem outra funçao mais simples onde eu possar usar para o envio de dados????

editado: Utilize as tags CODE ou QUOTE quanto for postar códigos

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

  • 0

Importante:

IsEmpty = É Vazio

Ou Seja:

If Not Isempty(String) Then

Quer dizer que..

Se não estiver vazio então

Executa comandos

Fim-Se;

Enfim, Tira esses teste (Isempty, <> "", etc..)

 Set Conexao = Server.CreateObject("ADODB.Connection")
   Conexao.Open "DBQ=C:\Inetpub\wwwroot\exemplos\3\Formulario\dados\dados_cadastro.mdb;Driver={Microsoft Access Driver (*.mdb)};"
   ComandoSQL = "INSERT INTO curriculo_cadastrado (nome, cidade)"
   ComandoSQL = ComandoSQL & " VALUES ("
   ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("nome")) & "',"
   ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("cidade")) & "')"
   Set bd = Conexao.Execute(ComandoSQL)
   Conexao.Close
   Set bd = Nothing
   Set Conexao = Nothing
%>

  <font face="Arial" size="2">
  <center><br>Os dados foram enviados com sucesso!

  <br><a href="index.asp"><b>Clique aqui</b></a> para continuar</font></center>

<%
 End If
%>

Pronto!

Link para o comentário
Compartilhar em outros sites

  • 0

beleza,mas tem hora que da certo mas tem hora que dá o seguinte erro

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Driver ODBC para Microsoft Access] O campo 'curriculo_cadastrado.tel_res' não pode ser uma seqüência de caracteres de comprimento nulo.

/exemplos/3/Formulario/dados/confirma.asp, line 103

não preenchi o campo tel_res,mas cara queria saber se tem uma função que por exemplo,

IF campo=="(NULL)";faz O CAMPO RECEBER POR EXEMPLO O VALOR "INDIFERENTE",TO PENSANDO NISSO porque TEM O FORMULARIO DE CONSULTA,E CREIO EU QUE, SE UM CAMPO QUE ELE FOR PEGAR DO FORMULARIO FOR NULO,VAI DAR PAU>>

OBRIGADO!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Oi!

É como disse antes dependendo do jeito dá erro.

Neste caso, para não dar este erro você tem que alterar a estrutura da Tabelo no db, permitir comprimento zero = sim. O programa que montou a query sabe que a estrutura da sua tabela atual não permite gravar um registro com um campo vazio por isso ele fez a consistencia, para evitar que o erro ocorresse.

Você tem que pensar que a estrutura da sua tabela deve estar de acordo com as necessidades de sua aplicação, de vez em quando é bom projetar, montar as querys é a parte mais facil do trabalho.

Abraços.

mad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Esse erro aí

você precisa:

- Abrir o banco de dados em modo estrutura (com access mesmo)

- Ir até o campo desejado

- Nas propriedades, abaixo, tem a propriedade: "Permitir Comprimento Zero"

- Marque SIM

Link para o comentário
Compartilhar em outros sites

  • 0

okay

Eu axo que era só setar no banco pra aceitar campo vazio..

To fechando o tópico então

Qualquer coisa, mande PM pra algum Moderador e solicite a reabertura

Ate mais

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...