Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá Gente,
Tô desenvolvendo um sistema de controle de contratos, bom, possuo um formulário que alimenta duas tabelas no momento da gravação, as tabelas são: tb_contratos e tb_faturas...
A idéia geral é essa, no momento em que o usuário acaba de preencher o contrato, é disponibilizado uma área para ele cadastrar as parcelas, nesse momento, o formulário envia todos os dados para a página cad_contratos.asp, aí começa o problema, ele não tá gravando em nenhuma das tabelas, a única coisa que ele grava é o campo código do contrato na tb_contratos, deixando os outros campos em branco, nunca vi uma "bronca" dessas, quem poder me ajudar agradeço muito...
Abaixo estão os códigos das páginas inclusao_contratos.asp e cad_contratos.asp...
<!--#include file="conexao.asp" -->
<% connect %>
<%
data_atual = now()
ano = cstr(year(data_atual))
mes = mid(data_atual,4,2)
dia = mid(data_atual,1,2)
hora = Right("00" & Cstr(Hour(data_atual)), 2)
minuto = Right("00" & Cstr(Minute(data_atual)), 2)
segundo = Right("00" & Cstr(Second(data_atual)), 2)
n_contrato = ano + mes + dia + segundo + minuto + hora
Session("numcontrato") = n_contrato
%>
<html>
<head>
<title>Parcelas</title>
<script language="JavaScript">
function GeraParcelas()
{
var qtd = parseInt(document.getElementById("txtNumParc").value);
if ( isNaN(qtd))
{
alert("Informe a quantidade de parcelas");
contratos.txtNumParc.focus();
return;
}
var spanParc = document.getElementById("Parcelas");
var parcela = String(document.getElementById("ModParcela").innerHTML);
var parcelas = "";
for (i=0; i < qtd; i++)
{
parcelas = parcelas + parcela.replace("*", String(i + 1));
}
spanParc.innerHTML = "<br><table width=\"700px\" border=\"1\" align=\"center\" cellpadding=\"2\" cellspacing=\"2\">" +
"<tr><td colspan=\"6\" align=\"center\">Financeiro - Faturas</td></tr>" +
"<tr><td>Num. Sequencial</td>" +
"<td>Número da Fatura</td>" +
"<td>Valor da Fatura</td>" +
"<td>Emitido em</td>" +
"<td>Vencimento em</td>" +
"<td>Pagamento em</td></tr>" +
parcelas + "</table>";
contratos.txtDtVenc(0).focus();
}
</script>
</head>
<body>
<center>
<form action="cad_contratos.asp" method="post" enctype="multipart/form-data" name="contratos" id="contratos">
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr align="left">
<td>Nº do Contrato </td>
<td><% response.Write Session("numcontrato")%></td>
<td>Usuário</td>
<td> </td>
<td>Data</td>
<td><% response.Write now() %></td>
</tr>
<tr align="left">
<td>Cliente</td>
<td colspan="5">
<select name="cbocliente">
<OPTION value="">Escolha o Cliente</OPTION>
<%
Set RsCli = Server.CreateObject("ADODB.Recordset")
RsCli.CursorLocation = 3
RsCli.CursorType = 3
RsCli.LockType = 1
strQ = "SELECT cod_cliente, nome_cliente FROM tb_clientes ORDER BY nome_cliente ASC"
RsCli.Open strQ, objCon, , , &H0001
If Not RsCli.EOF Then
While Not RsCli.EOF
If Trim(RsCli.Fields.Item("cod_cliente").Value) <> "" Then
Response.Write " <OPTION value='" & (RsCli.Fields.Item("cod_cliente").Value) & "'>" & (RsCli.Fields.Item("nome_cliente").Value) & "</OPTION>"
End If
RsCli.MoveNext
Wend
End If
Response.Write("ok")
%>
</select>
</td>
</tr>
<tr align="left">
<td>Serviço</td>
<td>
<select name="cboservico">
<OPTION value="">Escolha o Serviço</OPTION>
<%
Set RsServ = Server.CreateObject("ADODB.Recordset")
RsServ.CursorLocation = 3
RsServ.CursorType = 3
RsServ.LockType = 1
strQ = "SELECT cod_servico, tipo_servico FROM tb_servicos ORDER BY tipo_servico ASC"
RsServ.Open strQ, objCon, , , &H0001
If Not RsServ.EOF Then
While Not RsServ.EOF
If Trim(RsServ.Fields.Item("cod_servico").Value) <> "" Then
Response.Write " <OPTION value='" & (RsServ.Fields.Item("cod_servico").Value) & "'>" & (RsServ.Fields.Item("tipo_servico").Value) & "</OPTION>"
End If
RsServ.MoveNext
Wend
End If
Response.Write("ok")
%>
</select>
</td>
<td>Responsável</td>
<td>
<select name="cboresponsavel">
<OPTION value="">Escolha o Responsável</OPTION>
<%
Set RsResp = Server.CreateObject("ADODB.Recordset")
RsResp.CursorLocation = 3
RsResp.CursorType = 3
RsResp.LockType = 1
strQ = "SELECT cod_responsavel, nome_responsavel FROM tb_responsaveis ORDER BY nome_responsavel ASC"
RsResp.Open strQ, objCon, , , &H0001
If Not RsResp.EOF Then
While Not RsResp.EOF
If Trim(RsResp.Fields.Item("cod_responsavel").Value) <> "" Then
Response.Write " <OPTION value='" & (RsResp.Fields.Item("cod_responsavel").Value) & "'>" & (RsResp.Fields.Item("nome_responsavel").Value) & "</OPTION>"
End If
RsResp.MoveNext
Wend
End If
Response.Write("ok")
%>
</select>
</td>
<td> Contratação </td>
<td>
<select name="cboforma">
<OPTION value="">Escolha a forma</OPTION>
<%
Set RsFor = Server.CreateObject("ADODB.Recordset")
RsFor.CursorLocation = 3
RsFor.CursorType = 3
RsFor.LockType = 1
strQ = "SELECT cod_forma, tipo_contratacao FROM tb_formascontratacao ORDER BY tipo_contratacao ASC"
RsFor.Open strQ, objCon, , , &H0001
If Not RsFor.EOF Then
While Not RsFor.EOF
If Trim(RsFor.Fields.Item("cod_forma").Value) <> "" Then
Response.Write " <OPTION value='" & (RsFor.Fields.Item("cod_forma").Value) & "'>" & (RsFor.Fields.Item("tipo_contratacao").Value) & "</OPTION>"
End If
RsFor.MoveNext
Wend
End If
Response.Write("ok")
%>
</select>
</td>
</tr>
<tr align="left">
<td>Prazo Entrega </td>
<td><input name="txtdtaprz" type="text" size="10" maxlength="10"></td>
<td>Vigência Inicial </td>
<td><input name="txtdtaini" type="text" size="10" maxlength="10"></td>
<td>Vigência Final </td>
<td><input name="txtdtafim" type="text" size="10" maxlength="10"></td>
</tr>
</table>
<hr>
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr align="left">
<td>Forma de Pagamento </td>
<td>
<select name="cbopagamento">
<OPTION value="">Escolha a forma de pagamento</OPTION>
<%
Set RsPag = Server.CreateObject("ADODB.Recordset")
RsPag.CursorLocation = 3
RsPag.CursorType = 3
RsPag.LockType = 1
strQ = "SELECT cod_pagamento, forma_pagamento FROM tb_pagamentos ORDER BY forma_pagamento ASC"
RsPag.Open strQ, objCon, , , &H0001
If Not RsPag.EOF Then
While Not RsPag.EOF
If Trim(RsPag.Fields.Item("cod_pagamento").Value) <> "" Then
Response.Write " <OPTION value='" & (RsPag.Fields.Item("cod_pagamento").Value) & "'>" & (RsPag.Fields.Item("forma_pagamento").Value) & "</OPTION>"
End If
RsPag.MoveNext
Wend
End If
Response.Write("ok")
%>
</select>
</td>
<td>Valor Total do Contrato </td>
<td><input type="text" name="txtValorContrato" id="txtValorContrato3" size="10"></td>
<td>Qtd. parcelas</td>
<td><input type="text" name="txtNumParc" id="txtNumParc2" size="2"></td>
</tr>
<tr align="left">
<td align="left" nowrap>Detalhes do Contrato </td>
<td colspan="5" align="left" nowrap><textarea name="txtdetalhes" cols="80" rows="3"></textarea></td>
</tr>
<tr>
<td colspan="6" align="center" nowrap> </td>
</tr>
<tr>
<td colspan="6" align="center" nowrap>
<input type="button" name="cmdParcela" value="Cadastrar" onClick="java script:GeraParcelas();">
</td>
</tr>
<tr>
<td colspan="6" align="center"><span id="Parcelas"></span></td>
</tr>
<tr>
<td colspan="6" align="center"><br><input type="submit" name="cmdConfirma" value="Confirmar"></td>
</tr>
</table>
</form>
</center>
<!-- MODELO DA LINHA DE CADA PARCELA -->
<span id="ModParcela" style="display:none;">
<tr>
<td>*</td>
<td><input type="text" name="txtNumFatura" id="txtNumFtura" size="10"></td>
<td><input type="text" name="txtValorParc" id="txtValorParc" size="10"></td>
<td><input type="text" name="txtDtEmis" id="txtDtEmis" size="10"></td>
<td><input type="text" name="txtDtVenc" id="txtDtVenc" size="10"></td>
<td><input type="text" name="txtDtPag" id="txtDtPag" size="10"></td>
</tr>
</span>
</body>
</html>
<% disconnect %>
-------------------------------------------------------------------------------------------------------------------------------
<%
Option Explicit
Dim bookmark, i, NumContrato, rsCad, strConx ,rsParc
strConx = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dados\sisad.mdb")
NumContrato = mid(Session("numcontrato"),1,8)
on error resume next
'CADASTRANDO O CONTRATO ------------------------------------------
Set rsCad = Server.CreateObject("ADODB.Recordset")
With rsCad
.Open "SELECT * FROM tb_contratos", strConx, 1, 3, 1
.AddNew
.Fields("cod_contrato") = NumContrato
.Fields("cod_cliente") = Request.Form("cbocliente")
.Fields("cod_servico") = Request.Form("cboservico")
.Fields("cod_responsavel") = Request.Form("cboresponsavel")
.Fields("cod_pagamento") = Request.Form("cbopagamento")
.Fields("cod_servico") = Request.Form("cboservico")
.Fields("cod_forma") = Request.Form("cboforma")
.Fields("qteparcelas_contrato") = Request.Form("txtNumParc")
.Fields("valortotal_contrato") = Request.Form("txtValorContrato")
.Fields("dtaprazoserv_contrato")= Request.Form("txtdtaprz")
.Fields("dtaini_contrato") = Request.Form("txtdtaini")
.Fields("dtafim_contrato") = Request.Form("txtdtafim")
.Fields("detalhamento_contrato")= Request.Form("txtdetalhes")
.Update
bookmark = .absolutePosition
.Requery
.absolutePosition = bookmark
NumContrato = .Fields("cod_contrato") 'Obtém o número do contrato gravado
.Close
End With
Set rsCad = Nothing
'-----------------------------------------------------------------
'CADASTRANDO AS PARCELAS -----------------------------------------
Set rsParc = Server.CreateObject("ADODB.Recordset")
With rsParc
.Open "tb_faturas", strConx, 1, 3, 2
For i=1 to Request.Form("txtNumFatura").Count
.AddNew
.Fields("cod_fatura") = Request.Form("txtNumFatura")(i)
.Fields("cod_contrato") = NumContrato
.Fields("valor_fatura") = Request.Form("txtValorParc")(i)
.Fields("dtaemi_fatura") = Request.Form("txtDtEmis")(i)
.Fields("dtavenc_fatura") = Request.Form("txtDtVenc")(i)
.Fields("dtapg_fatura") = Request.Form("txtDtPag")(i)
.Update
Next
.Close
End With
Set rsParc = Nothing
'----------------------------------------------------------------- response.write "Ocorreram os seguintes erros no Script: " & "<P>"
response.write "Erro Numero=" & err.number & "<P>"
response.write "Descricao=" & err.description & "<P>"
response.write "Contexto de Ajuda=" & err.helpcontext & "<P>"
response.write "Caminho de Ajuda=" & err.helppath & "<P>"
response.write "Erro Nativo=" & err.nativeerror & "<P>"
response.write "Fonte=" & err.source & "<P>"
response.write "SQLState=" & err.sqlstate & "<P>"
mensagem = "Erro na Inclusão!"<script LANGUAGE=javascript>
<!--
alert("<%=mensagem%>");
window.open("inclusao_contratos.asp","_self");
-->
</SCRIPT>Carregando comentários...