Ir para conteúdo

POWERED BY:

Arquivado

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

Gandalf - The White

Data Maluca com ACCESS

Recommended Posts

Tipo assim estou com um problema até que curioso da inserir data via ASP no Access 2007 (a data do access esta no formato pt/br).

 

o problema é o seguinte

 

tipo se a data é assim: 08/12/2009 o sistema insere no access a data no formata americano, ou seja 12/08/2009, mas se a data é 13/12/2009 o sistema insere a data no formato brasileiro.

 

Já fiz de tudo por exemplo:

<%Session.LCID = 1046%>

usei funções:

 

Function FormataData(Data)
   If Data <> "" Then FormataData = Right("0" & DatePart("d", Data),2) & "/" & Right("0" & DatePart("m", Data),2) & "/" & DatePart("yyyy", Data)
End Function

ou 

Function formataData2(formato,data,separador,lcidPais)
    Dim dia, mes, ano
    Dim novaData
    if isnull(lcidPais) or lcidPais="" then
        lcidPais = 1046
    end if
    Session.LCID = cint(lcidPais)
    dia          = right("0"&day(data),2)
    mes          = right("0"&month(data),2)
    ano          = right("0"&year(data),4)
    formato      = ucase(formato)
    formato      = replace(formato,"-","")
    formato      = replace(formato,"/","")    
    formato      = replace(formato,".","")
    formato      = replace(formato,"Y","A")        
    Select case formato
        case "DDMMAAAA"
            novaData = dia&separador&mes&separador&ano
        case "DDMMAA"
            novaData = dia&separador&mes&separador&right(ano,2)
        case "MMDDAAAA"
            novaData = mes&separador&dia&separador&ano
        case "MMDDAA"
            novaData = mes&separador&dia&separador&right(ano,2)
        case "AAAADDMM"
            novaData = ano&separador&dia&separador&mes
        case "AADDMM"
            novaData = right(ano,2)&separador&dia&separador&mes
        case "AAAAMMDD"
            novaData = ano&separador&mes&separador&dia
        case "AAMMDD"
            novaData = right(ano,2)&separador&mes&separador&dia
        case else
            novaData = "ERRO"    
    End Select
    formataData2 = novaData    
End Function

'####### Formata a data para BR ou EN
'Autor: Jonathan Cardozo
'Data: 25/04/2007
Function formataDataNew(data,formato,separador)
'data      = formato DD-MM-AAAA ou AAAA-MM-DD
'formato   = inteiro de 0 ou 1. 0(zero) formato BR e 1 formato EN
'separador = char que separa os valores da data
data = replace(data,"/","-")
data = replace(data,".","-")
if isdate(data)=false then
  Response.write("Data Inválida")
  Response.End()
end if
'Formato 1 para DD-MM-AAAA e 0 para AAAA-MM-DD
if formato = 1 then
  IntDia         = right("0"&day(data),2)
  IntMes         = right("0"&month(data),2)
  IntAno         = year(data)
  formataData    = IntDia&separador&IntMes&separador&IntAno
elseif formato = 0 then
  IntDia         = right("0"&day(data),2)
  IntMes         = right("0"&month(data),2)
  IntAno         = year(data)
  formataData    = IntAno&separador&IntMes&separador&IntDia
else
  response.write("ERRO")
end if
End Function

para inserir no access estou fazendo assim:

user = trim(replace(Request.form("colunist"),"'",""))
titulo = trim(replace(Request.form("titulo"),"'",""))
sContent = Replace(Request.Form("txtContent"),"'","")
dataC = trim(replace(Request.Form("dataCad"),"'",""))
'dataC = formataData(dataC)
'response.write dataC
'response.end
Call Abre()
   StrI = "Insert into News(News,Data_news,News_body,Id_user) Values('"& titulo &"',#"& dataC &"#,'"& sContent &"',"& user &")"
'response.write StrI
'response.end
Conn.Execute(StrI)

e continua dando o mesmo problema... o mais estranho é q semana passada funcionava certinho...

 

qualquer ajuda está valendo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

formata a data antes mago branco, existe uma funcao para isso no laboratorio de script, dá certinho...

Compartilhar este post


Link para o post
Compartilhar em outros sites

já tentei de tudo... mando da um response.write na string sql e aparece a data em pt/br mas grava no banco formato americano:

 

olha soh:

 

Insert into News(News,Data_news,News_body,Id_user) Values('Testando Data PT-BR',#08/12/2009#,'Texto do campo textarea ',1)

será q é alguma configuração no IIS? ou no proprio access?

 

ahhh a função q você falou é essa? abaixo?

 

<%
Private Function Format(byVal expression, byVal strFormat)
        On Error Resume Next
        Select Case lcase( strFormat )
                Case "general date"
                        Format = FormatDateTime(expression, 0)
                Case "long date"
                        Format = FormatDateTime(expression, 1)
                Case "short date"
                        Format = FormatDateTime(expression, 2)
                Case "long time"
                        Format = FormatDateTime(expression, 3)
                Case "short time"
                        Format = FormatDateTime(expression, 4)
                Case "general number"
                        Format = Replace( expression, ",", "" )
                Case "currency"
                        Format = FormatCurrency(expression, 2)
                Case "fixed"
                        Format = Replace( FormatNumber(expression, _
                                 2, -1), ",", "" )
                Case "standard"
                        Format = FormatNumber(expression, 2, -1)
                Case "percent"
                        Format = FormatPercent(expression, 2)
                Case "yes/no"
                        expression = cLng(expression)
                        If expression = 0 then 
                                Format = "No" 
                        else 
                                Format = "Yes"
                        end if
                Case "true/false"
                        expression = cLng(expression)
                        If expression = 0 then 
                                Format = "False" 
                        else 
                                Format = "True"
                        end if
                Case "on/off"
                        expression = cLng(expression)
                        If expression = 0 then 
                                Format = "Off" 
                        else 
                                Format = "On"
                        end if
                Case Else
                        Format = expression
        End Select
        On Error GoTo 0
End Function
%>

vlw desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Formato: aaaa-mm-dd

<%
Function ConvertDataBanco(ConDataBanco)
	ConDataBanco = Year(ConDataBanco) &"-"& Right("0"&Month(ConDataBanco),2) &"-"& Right("0"&Day(ConDataBanco),2)
	ConvertDataBanco = ConDataBanco
End Function
Response.Write(ConvertDataBanco(Date()))
%>

Formato: dd-mm-aaaa

<%
Function ConvertDataBanco(ConDataBanco)
	ConDataBanco = Right("0"&Day(ConDataBanco),2) &"-"& Right("0"&Month(ConDataBanco),2) &"-"& Year(ConDataBanco)
	ConvertDataBanco = ConDataBanco
End Function
Response.Write(ConvertDataBanco(Date()))
%>

 

Formato: mm-dd-aaaa

 

<%
Function ConvertDataBanco(ConDataBanco)
	ConDataBanco = Right("0"&Month(ConDataBanco),2) &"-"& Right("0"&Day(ConDataBanco),2) &"-"& Year(ConDataBanco)
	ConvertDataBanco = ConDataBanco
End Function
Response.Write(ConvertDataBanco(Date()))
%>

 

Formato: mm/dd/aaaa

 

<%
Function ConvertDataBanco(ConDataBanco)
	ConDataBanco = Right("0"&Month(ConDataBanco),2) &"/"& Right("0"&Day(ConDataBanco),2) &"/"& Year(ConDataBanco)
	ConvertDataBanco = ConDataBanco
End Function
Response.Write(ConvertDataBanco(Date()))
%>

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.