Ir para conteúdo

POWERED BY:

Arquivado

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

WebASP

Problemas com Data no Access / ASP

Recommended Posts

Esta dúvida é chatinha então por favor não me falem que e so alterar a configuração huahua que isso não é sei la

 

quando utilizo banco de dados ACCESS ele grava a data assim

 

eu selecione campo tipo data , data geral que fica dd/mm/yyyy hh:nn:ss

 

dd - Dia

mm - Mês

yyyy - Ano

hh - Hora

nn - Minutos

ss - Segundos

 

 

Só que quando ele grava tipo se hoje for 27/08/2005 tranquilo ele grava perfeitamente so que se hoje for dia 05/08 ja era ele grava tanto 05/08 como 08/05 ou seja ele altera a posição do dia se for menor que 12 ele pensa que é mes ou sei la oq o access pensa

 

Quando eu grava eu uso função para formatar a data DataBrazil(Now(), "dd/mm/yyyy hh:nn:ss")

 

 

Ou seja ele formata a data para 07/08/2005 02:36:10

 

então grava perfeitamente no banco de dados até mesmo no codigo SQL eu vejo antes de executar e esta indo certo apenas o access grava errado

 

só que ai podem falar pode ser a configuração da página, porém não é pois uso

 

session.lcid = 1046 '' formata para o brasil os valores

 

E eu não queria usar campo do tipo texto pois se eu precisar faezr um Where por campo de data el ira perder e nao poderei faezr então o campo precisa ser tipo data , no mysql eu uso e vai sem problemas so no access eu tive e tenho problemas com data taanto que migrei para o mysql por causa destes problemas e por o mysql ser mais melhor de bom abraços fico no aguardo se alguem tigver uma luz irei agradecer abraços e obrigado pela atenção

 

 

A função da ta que fiz abraços

 

ASP

[*] Function DataBrazil(sData,sFormato)

 

[*]

 

[*] IF isDate(sData) False THEN Exit Function

 

[*]

 

[*] sDia Day( sData )

 

[*] sMes Month( sData )

 

[*] sHoras Hour( sData )

 

[*] sMinutos Minute( sData )

 

[*] sSegundos Second( sData )

 

[*]

 

[*] If sDia <= 9 Then sDia "0" & sDia

 

[*] If sMes <= 9 Then sMes "0" & sMes

 

[*] If sHoras <= 9 Then sHoras "0" & sHoras

 

[*] If sMinutos <= 9 Then sMinutos "0" & sMinutos

 

[*] If sSegundos <= 9 Then sSegundos "0" & sSegundos

 

[*]

 

[*] DataBrazil = sFormato

 

[*] DataBrazil Replace(DataBrazil,"dd",sDia)

 

[*] DataBrazil Replace(DataBrazil,"mm",sMes)

 

[*] DataBrazil Replace(DataBrazil,"MM",MonthName(sMes,False))

 

[*] DataBrazil Replace(DataBrazil,"yyyy",Year(sData))

 

[*] DataBrazil Replace(DataBrazil,"yy",Right(Year(sData),2))

 

[*] DataBrazil Replace(DataBrazil,"hh",sHoras)

 

[*] DataBrazil Replace(DataBrazil,"nn",sMinutos)

 

[*] DataBrazil Replace(DataBrazil,"ss",sSegundos)

 

[*]

 

[*] End Function

 

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais ai ele nao ira garvar tipo dd/mm/yyyy ? então eu tenho que trabalhar no access com formato americano mesmo ?mais qunado seleciono cmapo tipo data e ponho data geral ele ja poe o formtaod do brasil ai como fica ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcelo, no Access você terá q gravar no formato Americano mesmo, pois fica melhor, no SQL Server é assim tmb...ai na página você coloca o LCID do brasil que é 1046 ou usa alguma função para manipular a Data e mostrar do jeito q você quer...Falowss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara é só você formatar o request e inserir o valor já formatado como variável:data_atual = FormatDateTime(Date, 2)oudata_atual = FormatDateTime(now(), 2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posso pegar uma carona e perguntar como se usa isso: (Exit Function) IF var = False THEN Exit Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eh o seguinte:

 

Exit é um comando que sai de um determinado procedimento...

Quando você usa exit function, você esta dizendo 'a rotina para que saia da função que ela esta executando.

Ex:

 

 

ASP

[*]

 

[*]dim varNum = 1

 

[*]

 

[*]

 

[*]Function getNome()

 

[*]

 

[*]If varNum <> 1 Then 

 

[*]

 

[*]getNome "Sem Nome"

 

[*]Exit Function

 

[*]

 

[*]End If

 

[*]

 

[*].

 

[*].

 

[*].

 

[*]

 

[*]getNome "Nome 1"

 

[*]

 

[*]End function

 

[*]

 

[*]

 

caso o valor de varNum seja diferente de 1, a função retorna "Sem nome", caso contrario, retorna "Nome 1".

 

Espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi. Tem como mandar ele pra algum lugar? Tipo uma ancora!Exit Function (local)<%=local%>Vem pra cá!Da pra fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente no as~p isso não é possível.Em VB você possui a opção Goto, mas em asp não.O que você pode fazer, e como eu faço, é utilizar, no inicio das paginas , o seu codigo asp, todo em functions e subs. Entao, no decorrer da pagina, você chama as funções e dependendo dos resultados dessas, as subs (que imprimem algo, ou executam algo sem retornar valores).Desse jeito você usa uma espécie de orientação a objetos.Vose tb pode fazer assim:Response.Resirect(pagina.asp#ancora) : exit functionmas não sei se é muito aconselhável..nem se dá certo !!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi.

 

Tem como mandar ele pra algum lugar? Tipo uma ancora!

 

Exit Function (local)

 

 

<%=local%>

Vem pra cá!

 

 

Da pra fazer isso?

este tipo de desvio utiliza-se de programação com ponteiros os conhecidos goto's, nem todas linguagens permitem seu uso...

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.