Ir para conteúdo

POWERED BY:

Arquivado

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

betobto

[Resolvido] Contagem Diário

Recommended Posts

Olá, pessoal estou com uma pequena dificuldade. Gostaria de começar uma contagem nova todos os dias.

 

tenho esse codigo q eu mando para os clientes....

 

2.31059.0001, 2.31059.0002, 2.31059.0003 e assim por diante ---- essa contagem eh do dia 31/05/2009 e o que muda é apenas o final pois:

 

2. = é fixo

31059 = data

0001 = é a contagem do cadastro....

 

 

ae no proximo dia começaria tudo novamente

 

2.01069.0001, 2.01069.0002, 2.01069.0003

 

gostaria de saber como faço isso.

 

segue meu código

 

<!--#include file="abrir.asp"-->
<%
wnome			= request.Form("frmNome")
wnascimento		= request.Form("frmNascimento")
wsexo			= request.Form("frmSexo")
wcpf			= request.Form("frmCpf")
wrg				= request.Form("frmRg")
wemail			= request.Form("frmEmail")
wcep			= request.Form("frmCep")
wbairro			= request.Form("frmBairro")
wrua			= request.Form("frmRua")
wnumero			= request.Form("frmNumero")
wcomplemento	= request.Form("frmComplemento")
westado			= request.Form("frmEstado")
wcidade			= request.Form("frmCidade")
wpais			= request.Form("frmPais")
wfone			= request.Form("frmFone")
wcel			= request.Form("frmCel")
westudante		= request.Form("frmEstudante")
westudanteresp	= request.Form("frmEstudanteResposta")
wtrabalha		= request.Form("frmTrabalha")
wtrabalharesp	= request.Form("frmTrabalhaResposta")
westadocivil	= request.Form("frmEstadoCivil")
whobby			= request.Form("frmHobby")
wtvacabo		= request.Form("frmTv")
wtvacaboresp	= request.Form("frmTvResposta")
wprogramacao	= request.Form("frmProgramacao")
wtermo			= request.Form("frmConcordo")
dataOK = Right("0"&Day(Cdate(date)),2) & "/" & Right("0"&Month(Cdate(date)),2) & "/" & Year(Cdate(date))

'IF rs_cpf.EOF Then
wsql = "SELECT cpfCliente FROM tblCadastro"
set rs_cpf = wcon.Execute(wsql)
do while not rs_cpf.eof	
	if trim(rs_cpf("cpfCliente")) = trim(request.Form("frmCpf")) then
		response.write("<script>alert('CPF já cadastrado');location='java script:history.back();'</script>")
		response.End()		
	end if
	rs_cpf.movenext
loop

wsql2 = "SELECT emailCliente FROM tblCadastro"
set rs_email = wcon.Execute(wsql2)
do while not rs_email.eof	
	if trim(rs_email("emailCliente")) = trim(request.Form("frmEmail")) then
		response.write("<script>alert('EMAIL já cadastrado');location='java script:history.back();'</script>")
		response.End()		
	end if
	rs_email.movenext
loop

'NUMERO SEQUENCIAL 2-FIXO / DATA / 9.-FIXO / COD_SEQUENCIAL ----= 2.0404.9.0001
SET rs = wcon.EXECUTE("SELECT COUNT(idCliente) AS codigoSequencial FROM tblCadastro")
IF rs("codigoSequencial") <= 0 or rs("codigoSequencial") <= "0" THEN
codigo_sequencial = "2."&Right(Day(Cdate(date)),2) & "0" & Right(Month(Cdate(date)),2) & "9.0001"
'codigo_sequencial = "2.0"&day(date)&"0"&month(date)&".9.0001"
ELSE
codigo_sequencial = "2."&Right(Day(Cdate(date)),2) & "0" & Right(Month(Cdate(date)),2) & "9."&right("0000"&rs("codigoSequencial") + 1,4)
END IF 'FIM NUMERO SEQUENCIAL


' Data de validade 30 dias apos o cadastro
data = dataok
dataValidade = DateAdd("m", 1, data)
' // Data de validade 30 dias apos o cadastro


wcon.execute("INSERT INTO tblCadastro (nomeCliente, dataCliente, dataClienteValidade, codigoSequencial, nascimentoCliente, sexoCliente, cpfCliente, rgCliente, emailCliente, cepCliente, bairroCliente, ruaCliente, numeroCliente, complementoCliente, estadoCliente, cidadeCliente, paisCliente, foneCliente, celCliente, estudanteCliente, estudanteRespostaCliente, trabalhaCliente, trabalhaRespostaCliente, estadoCivilCliente, hobbyCliente, tvacaboCliente, tvacaboRespostaCliente, programacaoCliente, termoCliente) VALUES ('"&wnome&"', '"&dataOK&"', '"&dataValidade&"', '"&codigo_sequencial&"', '"&wnascimento&"', '"&wsexo&"', '"&wcpf&"', '"&wrg&"', '"&wemail&"', '"&wcep&"', '"&wbairro&"', '"&wrua&"', '"&wnumero&"', '"&wcomplemento&"', '"&westado&"', '"&wcidade&"', '"&wpais&"', '"&wfone&"', '"&wcel&"', '"&westudante&"', '"&westudanteresp&"', '"&wtrabalha&"', '"&wtrabalharesp&"', '"&westadocivil&"', '"&whobby&"', '"&wtvacabo&"', '"&wtvacaboresp&"', '"&wprogramacao&"', '"&wtermo&"')")

Response.Write("<script>alert('Cadastro efetuado com sucesso!\n Verifique seu email.'); location.href='default.asp'</script>")

%>

Espero a ajuda de vocês

Compartilhar este post


Link para o post
Compartilhar em outros sites

' incrementa o contador, tipo você tem a parte fixa, apenas incremente e conctene...

iConta = iConta + 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

Dim verificaCod
verificaCod = "2." & Right(Day(Cdate(date)),2) & "0" & Right(Month(Cdate(date)),2) & "9."
If (inStr(rs("codigoSequencial"),verificaCod) > 0) Then
codigo_sequencial = "2."&Right(Day(Cdate(date)),2) & "0" & Right(Month(Cdate(date)),2) & "9."&right("0000"&rs("codigoSequencial") + 1,4)
Else
codigo_sequencial = "2."&Right(Day(Cdate(date)),2) & "0" & Right(Month(Cdate(date)),2) & "9."&right("00001",4)
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testado e funcionando. A única diferença é que acrentei o 0 em "day".

<%
Dim verificaCod, codigoSequencial

codigoSequencial = "2.01069.0001" 'rs("codigoSequencial")

verificaCod = "2." & Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9."
If (inStr(codigoSequencial,verificaCod) > 0) Then
codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("0000" & codigoSequencial + 1,4)
Else
codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("00001",4)
End If

Response.Write codigo_sequencial
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testado e funcionando. A única diferença é que acrentei o 0 em "day".

<%
Dim verificaCod, codigoSequencial

codigoSequencial = "2.01069.0001" 'rs("codigoSequencial")

verificaCod = "2." & Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9."
If (inStr(codigoSequencial,verificaCod) > 0) Then
codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("0000" & codigoSequencial + 1,4)
Else
codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("00001",4)
End If

Response.Write codigo_sequencial
%>

 

 

Está começando a contagem do outro dias mas a contagem nao sai do 0001

 

Aguardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então você tem que verificar se está cadastrando, pois o código abaixo está funcionando perfeitamente.

<%
Dim verificaCod, codigoSequencial

codigoSequencial = Session("codigoSequencial") '"2.01069.0001" 'rs("codigoSequencial")

verificaCod = "2." & Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9."
If (inStr(codigoSequencial,verificaCod) > 0) Then
codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("0000" & codigoSequencial + 1,4)
Else
codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("00001",4)
End If

Session("codigoSequencial") = codigo_sequencial

Response.Write codigo_sequencial
%>
Obs. Utilizei SESSION acima só para ter o mesmo efeito de um cadastro. Mas não é para você usar SESSION.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então posta como está seu código agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<!--#include file="abrir.asp"-->
<%
wnome			= request.Form("frmNome")
wnascimento		= request.Form("frmNascimento")
wsexo			= request.Form("frmSexo")
wcpf			= request.Form("frmCpf")
wrg				= request.Form("frmRg")
wemail			= request.Form("frmEmail")
wcep			= request.Form("frmCep")
wbairro			= request.Form("frmBairro")
wrua			= request.Form("frmRua")
wnumero			= request.Form("frmNumero")
wcomplemento	= request.Form("frmComplemento")
westado			= request.Form("frmEstado")
wcidade			= request.Form("frmCidade")
wpais			= request.Form("frmPais")
wfone			= request.Form("frmFone")
wcel			= request.Form("frmCel")
westudante		= request.Form("frmEstudante")
westudanteresp	= request.Form("frmEstudanteResposta")
wtrabalha		= request.Form("frmTrabalha")
wtrabalharesp	= request.Form("frmTrabalhaResposta")
westadocivil	= request.Form("frmEstadoCivil")
whobby			= request.Form("frmHobby")
wtvacabo		= request.Form("frmTv")
wtvacaboresp	= request.Form("frmTvResposta")
wprogramacao	= request.Form("frmProgramacao")
wtermo			= request.Form("frmConcordo")
dataOK = Right("0"&Day(Cdate(date)),2) & "/" & Right("0"&Month(Cdate(date)),2) & "/" & Year(Cdate(date))

'IF rs_cpf.EOF Then
wsql = "SELECT cpfCliente FROM tblCadastro"
set rs_cpf = wcon.Execute(wsql)
do while not rs_cpf.eof	
	if trim(rs_cpf("cpfCliente")) = trim(request.Form("frmCpf")) then
		response.write("<script>alert('CPF já cadastrado');location='java script:history.back();'</script>")
		response.End()		
	end if
	rs_cpf.movenext
loop

wsql2 = "SELECT emailCliente FROM tblCadastro"
set rs_email = wcon.Execute(wsql2)
do while not rs_email.eof	
	if trim(rs_email("emailCliente")) = trim(request.Form("frmEmail")) then
		response.write("<script>alert('EMAIL já cadastrado');location='java script:history.back();'</script>")
		response.End()		
	end if
	rs_email.movenext
loop

'NUMERO SEQUENCIAL 2-FIXO / DATA / 9.-FIXO / COD_SEQUENCIAL ----= 2.0404.9.0001
'SET rs = wcon.EXECUTE("SELECT COUNT(idCliente) AS codigoSequencial FROM tblCadastro")
'IF rs("codigoSequencial") <= 0 or rs("codigoSequencial") <= "0" THEN
'codigo_sequencial = "2."&Right(Day(Cdate(date)),2) & "0" & Right(Month(Cdate(date)),2) & "9.0001"
'codigo_sequencial = "2.0"&day(date)&"0"&month(date)&".9.0001"
'ELSE
'codigo_sequencial = "2."&Right(Day(Cdate(date)),2) & "0" & Right(Month(Cdate(date)),2) & "9."&right("0000"&rs("codigoSequencial") + 1,4)
'END IF 'FIM NUMERO SEQUENCIAL

verificaCod = "2." & Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9."
If (inStr(codigoSequencial,verificaCod) > 0) Then
codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("0000" & codigoSequencial + 1,4)
Else
codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("0001",4)
End If

' Data de validade 30 dias apos o cadastro
data = dataok
dataValidade = DateAdd("m", 1, data)
' // Data de validade 30 dias apos o cadastro


wcon.execute("INSERT INTO tblCadastro (nomeCliente, dataCliente, dataClienteValidade, codigoSequencial, nascimentoCliente, sexoCliente, cpfCliente, rgCliente, emailCliente, cepCliente, bairroCliente, ruaCliente, numeroCliente, complementoCliente, estadoCliente, cidadeCliente, paisCliente, foneCliente, celCliente, estudanteCliente, estudanteRespostaCliente, trabalhaCliente, trabalhaRespostaCliente, estadoCivilCliente, hobbyCliente, tvacaboCliente, tvacaboRespostaCliente, programacaoCliente, termoCliente) VALUES ('"&wnome&"', '"&dataOK&"', '"&dataValidade&"', '"&codigo_sequencial&"', '"&wnascimento&"', '"&wsexo&"', '"&wcpf&"', '"&wrg&"', '"&wemail&"', '"&wcep&"', '"&wbairro&"', '"&wrua&"', '"&wnumero&"', '"&wcomplemento&"', '"&westado&"', '"&wcidade&"', '"&wpais&"', '"&wfone&"', '"&wcel&"', '"&westudante&"', '"&westudanteresp&"', '"&wtrabalha&"', '"&wtrabalharesp&"', '"&westadocivil&"', '"&whobby&"', '"&wtvacabo&"', '"&wtvacaboresp&"', '"&wprogramacao&"', '"&wtermo&"')")

Response.Write("<script>alert('Cadastro efetuado com sucesso!\n Verifique seu email.'); location.href='default.asp'</script>")

%>

segue

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas você não armazenou o último valor de idCliente em codigoSequencial.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, tente entender o código.

 

Se aqui nessa linha...

If (inStr(codigoSequencial,verificaCod) > 0) Then

 

...existe uma comparação, então as duas variáveis devem possuir algum conteúdo.

 

Nesse caso qual o valor de codigoSequencial no momento da comparação? Do jeito que está não tem valor nenhum, está errado.

 

Como você fazia a comparação no seu código anterior? Não era realizando uma consulta no banco e buscando o valor de codigoSequencial? Então faça o mesmo agora, informe um valor a codigoSequencial antes de comparar, pq se ele for vazio, sempre vai dar errado a contagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia man

 

SET rs = wcon.EXECUTE("SELECT COUNT(idCliente) AS codigoSequencial FROM tblCadastro")
verificaCod = "2." & Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9."
If (inStr(codigoSequencial,verificaCod) > 0) Then
codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("0000" & codigoSequencial + 1,4)
Else
codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("0001",4)
End If

nao deu certo ainda ele continua colocando 0001

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi porque precisa ser assim?

 

se o 2 é fixo e uma parte é a data e a outra que é que aumenta seria melhor você ter dois campos apenas

 

um campo data e um campo numero

 

todo dia você seleciona o maior ID da data atual

 

se não tiver grava 1, se tiver grava o maior + 1

 

e depois se precisar destes valores neste padrão você apenas monta via código

 

assim você evita armazenar dados desnecessários

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fiz assim pq preciso de uma contagem diária entendeu

 

esses sistema é para uma campanha de promoção

 

então para saber qtos se registraram no dia

 

e nao esta dando certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa man, vamos raciocinar um pouco... de que adianta fazer a consulta e não armazenar o valor do último registro?

Set rs = wcon.EXECUTE("SELECT TOP 1 codigoSequencial FROM tblCadastro ORDER BY codigoSequencial DESC") 'TOP para Access
If Not rs.Eof Then
	   codigoSequencial = rs("codigoSequencial")
End If
rs.Close
Set rs = Nothing

verificaCod = "2." & Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9."
If (inStr(codigoSequencial,verificaCod) > 0) Then
	   codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("0000" & codigoSequencial + 1,4)
Else
	   codigo_sequencial = "2."& Right("0" & Day(Cdate(date)),2) & Right("0" & Month(Cdate(date)),2) & "9." & Right("0001",4)
End If

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.