Ir para conteúdo

POWERED BY:

Arquivado

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

vitorlouzada

Carregar dados do bd para preencher formulário

Recommended Posts

Olá amigos, boa tarde.

 

Estou fazendo um formulário de pedido para um sistema em ASP.

 

A minha idéia é que quando o usuário através de uma lista selecionar o cliente, seja preenchido logo após e automaticamente os campos:

 

CNPJ

Telefone

Cidade

Estado

 

Para escolher o cliente eu utilizei o código abaixo dentro de um <select></select>

CODE
<SELECT style="width=350" name="cliente" df_verificar="sim" onChange="desabilita_cor(this)" class=campos_formulario>

<OPTION value=""></OPTION>

<%

Set objRS2 = Server.CreateObject("ADODB.Recordset")

objRS2.CursorLocation = 3

objRS2.CursorType = 3

objRS2.LockType = 1

strQ = "SELECT razao_social FROM clientes ORDER BY razao_social ASC"

objRS2.Open strQ, objCon, , , &H0001

If Not objRS2.EOF Then

While Not objRS2.EOF

If Trim(objRS2.Fields.Item("razao_social").Value) <> "" Then

Response.Write " <OPTION value='" & (objRS2.Fields.Item("razao_social").Value) & "'>" & (objRS2.Fields.Item("razao_social").Value) & "</OPTION>"

End If

objRS2.MoveNext

Wend

End If

Response.Write("ok")

%>

</SELECT>

 

Como podem perceber, ele busca dentro do banco de dados todos os clientes cadastrados e lista as razões sociais, dai eu escolho o cliente.

 

 

então... alguem sabe alguma forma de ao selecionar o cliente, preencher os outros campos automaticamente?

 

Fico no aguardo de mais uma ajuda de vocês... muito obrigado desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

terá que trabalhar com ajax se quiser que preencha sem reflesh

 

se for atualizando a pagina basta submeter o formulario e recuperar estes dados de forma simples

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso de ajax, o sistema faria de forma mais dinâmica né?

 

Porque no meu caso, acho que com refresh ficaria muito ruim para o usuário já que além do campo dos dados do cliente, tem os produtos, qur irá compor o pedido, já penso a cada produto que o cara selecionar a página ir dando refresh.... vai demorar uma hora pro usuário preencher o pedido....

 

agora.... como fazer isso em ajax então?

Compartilhar este post


Link para o post
Compartilhar em outros sites

de uma olhada no forum especifico em javascript

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como devo pesquisar lá?

 

Ja tentei algumas coisas e não consegui nada...

 

Bom... mas vamos lá.. no caso do asp... como faria o select usando o CPF digitado na pagina anterior da de pedido, onde os dados serão preenchidos?

 

Aprendendo dessa forma eu já tenho uma saída... :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

seleciona os campos que precisa e usa o cpf como parametro

 

"SELECT campos FROM TABELA WHERE CPF =" & request("cpf")

Compartilhar este post


Link para o post
Compartilhar em outros sites

seleciona os campos que precisa e usa o cpf como parametro

 

"SELECT campos FROM TABELA WHERE CPF =" & request("cpf")

Ai no caso para recuperar o value de cada campo eu tenho que colocar no campo value="<%=(objRS.Fields.Item("nomecampo").Value)%>"

 

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

seleciona os campos que precisa e usa o cpf como parametro

 

"SELECT campos FROM TABELA WHERE CPF =" & request("cpf")

Ai no caso para recuperar o value de cada campo eu tenho que colocar no campo value="<%=(objRS.Fields.Item("nomecampo").Value)%>"

 

?

 

É assim mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um duvida...

fiz as conexões... e o select.. quando abre a página para carregar os dados do banco e preencher o campo...

 

a pagina vem em branco...

 

se acha o que pode ser????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está informando os dados no value de cada campo?

 

Caso esteja, poste o código para termos uma idéia de como está.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostre como fez esta parte

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz Assim ó:

<%
If Not IsEmpty(Request.Form("salvar")) Then
  Set objCon = Server.CreateObject("ADODB.Connection")
  objCon.Open strCon
  Set objRS = Server.CreateObject("ADODB.Recordset")
  objRS.CursorLocation = 3
  objRS.CursorType = 0
  objRS.LockType = 3

  strQ = Request.Form("strQ")
  indice = Trim(Request.Form("indice"))
  If indice <> "" Then strQ = "SELECT razao_social, cnpj, telefone, cidade, estado FROM cliente WHERE codigo_cliente =" & request("cliente_codigo")  & indice

  objRS.Open strQ, objCon, , , &H0001
  If indice = "" Then objRS.Move Request.Form("recordno") - 1

	  If objRS.Fields("razao_social").properties("IsAutoIncrement") = False Then
	  objRS("razao_social") = Trim(Request.Form("razao_social"))
	End If
	If objRS.Fields("cnpj").properties("IsAutoIncrement") = False Then
	  objRS("cnpj") = Trim(Request.Form("cnpj"))
	End If
	If objRS.Fields("telefone").properties("IsAutoIncrement") = False Then
	  objRS("telefone") = Trim(Request.Form("telefone"))
	End If
	If objRS.Fields("cidade").properties("IsAutoIncrement") = False Then
	  objRS("cidade") = Trim(Request.Form("cidade"))
	End If
	If objRS.Fields("estado").properties("IsAutoIncrement") = False Then
	  objRS("estado") = Trim(Request.Form("estado"))
	End If
  On Error Resume Next
  objRS.UpdateBatch
  objRS.Close
  Set objRS = Nothing
  objCon.Close
  Set objCon = Nothing
%>
E os campos:

<%
Else
  If Not IsEmpty(Request.Form("recordno")) Then
	Set objCon = Server.CreateObject("ADODB.Connection")
	objCon.Open strCon

	Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.CursorLocation = 2
	objRS.CursorType = 0
	objRS.LockType = 3


  strQ = Request.Form("strQ")
  indice = Trim(Request.Form("indice"))
  If indice <> "" Then strQ = "SELECT razao_social, cnpj, telefone, cidade, estado FROM cliente WHERE codigo_cliente =" & request("cliente_codigo") & indice

	objRS.Open strQ, objCon, , , &H0001
  If indice = "" Then objRS.Move Request.Form("recordno") - 1
%>

<B>Incluir um novo registro</B><BR>Preencha corretamente 
os dados abaixo:<BR>
<form name="form_incluir" method="post" action="<%=Request.ServerVariables("SCRIPT_NAME")%>" onSubmit="return verifica_form(this);">
  <div align="center">
  <TABLE width="966" border=0 cellpadding=2 cellspacing=1 class=tabela_formulario>
	
	<TR class=titulo_campos>
	  <TD colspan="6"><div align="center"><span class="style1">Dados do Cliente </span></div></TD>
	  </TR>
	<TR class=titulo_campos>
	  <TD colspan="6">Cliente<br>
		<%If objRS.Fields("razao_social").properties("IsAutoIncrement") = False Then%>
	  <INPUT name="razao_social" type="text" class=campos_formulario id="razao_social" style="width=350" onKeyPress="desabilita_cor(this)" value=<%=(objRS.Fields.Item("razao_social").Value)%>"" maxlength="255">
	  <%
Else
  Response.Write "<B>" & (objRS.Fields.Item("razao_social").Value) & "</B>"
End If
%></TD>
	</TR>
	  <TR class=titulo_campos>
		<TD width="122">CNPJ<br>
		  <%If objRS.Fields("cnpj").properties("IsAutoIncrement") = False Then%>
	  <INPUT style="width=100" type="text" name="cnpj" maxlength="255" value="<%=(objRS.Fields.Item("cnpj").Value)%>" onKeyPress="desabilita_cor(this)" class=campos_formulario>
	  <%
Else
 Response.Write "<B>" & (objRS.Fields.Item("cnpj").Value) & "</B>"
End If
%></TD>
		<TD width="122">Telefone<br>
		<%If objRS.Fields("Telefone").properties("IsAutoIncrement") = False Then%>
	  <INPUT style="width=350" type="text" name="Telefone" maxlength="255" value="<%=(objRS.Fields.Item("telefone").Value)%>" onKeyPress="desabilita_cor(this)" class=campos_formulario>
	  <%
Else
  Response.Write "<B>" & (objRS.Fields.Item("telefone").Value) & "</B>"
End If
%></TD>
		<TD width="691" colspan="4"> </TD>
	  </TR>
	  <TR class=titulo_campos>
		<TD>Cidade<br>
		   <%If objRS.Fields("Cidade").properties("IsAutoIncrement") = False Then%>
	  <INPUT style="width=350" type="text" name="Cidade" maxlength="255" value="<%=(objRS.Fields.Item("cidade").Value)%>" onKeyPress="desabilita_cor(this)" class=campos_formulario>
	  <%
Else
  Response.Write "<B>" & (objRS.Fields.Item("cidade").Value) & "</B>"
End If
%></TD>
		<TD>Estado<br>
		 <%If objRS.Fields("Estado").properties("IsAutoIncrement") = False Then%>
	  <INPUT style="width=350" type="text" name="Estado" maxlength="255" value="<%=(objRS.Fields.Item("estado").Value)%>" onKeyPress="desabilita_cor(this)" class=campos_formulario>
	  <%
Else
 Response.Write "<B>" & (objRS.Fields.Item("estado").Value) & "</B>"
End If
%></TD>
		<TD colspan="4"> </TD>
	  </TR>
  </TABLE>
  <input type="submit" name="submit" value="Enviar" class=botao_enviar>
  </div>
</form>
O que pode estar errado?

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.