La respuesta de Enrique sirve si la tabla está vinculada para hacer una consulta o para llenar datos en un formulario mediante un recordset, no obstante, debe hacerlo llamando una función.
Para datos no vinculados se debe acudir a las funciones de PostgreSQL. Le dejo el script y la salida en PostgreSQL
Explico:
To_char --- Es una función de PostgreSQL para convertir datos en cadena de texto, en este caso la fecha actual
CURRENT_DATE -- Es la fecha actual
TMDAY --Para obtener el nombre del día en español (lo hace TM)
DD -- Corresponde al número del día.
TMMONTH -- Para obtener el nombre del mes en español (lo hace TM)
YYYY -- El año
"DE" -- Es texto no hace parte de PostgreSQL.
Ahora, le dejo este ejemplo como se utilizaría desde Access. Estos son 2 formularios que no están vinculados, el origen de los datos se obtiene directamente del servidor.
Para simplificar le muestro el segundo formulario en diseño.
CÓDIGO DEL FORMULARIO EVENTO AL CARGAR
Private Sub Form_Load()
On Error GoTo ErrorHandler
Dim strSQL As String
strSQL = "SELECT *, TO_CHAR(fecha_nac, 'TMDAY, DD ""DE"" TMMONTH ""DE"" YYYY') AS strfecha" & vbCrLf
strSQL = strSQL & " FROM tblempleados WHERE idempleado=" & Me.OpenArgs
Set Me.Recordset = recorset_desc(strSQL)
Me.Caption = Space(20)
ExitProcedure:
Err.Clear
Exit Sub
ErrorHandler:
Select Case Err.Number
Case 0
Case Else
MsgBox "Error " & Err.Number & " (" & Err.Description & ") en procedimiento " & "Form_Open" & " " & Application.VBE.ActiveCodePane.CodeModule.Name
Resume ExitProcedure
End Select
End Sub
Observe como a diferencia del script en PostgreSQL en Access se debe duplicar las comillas en ""DE"", el formulario se llena con un recordset desconectado para disminuir el tráfico al servidor.
Ahora, si la tabla estuviera vinculada al servidor la respuesta de Enrique es la solución, pero debe crear una función y llamarla desde la consulta. Algo como.
DISEÑO DE LA CONSULTA (Tabla vinculada)
RESULTADO DE LA CONSULTA
FUNCIÓN CONVIERTE LA FECHA EN TEXTO
Function str_fecha(mdate As Date) As String
str_fecha = UCase(Format(mdate, "dddd\, d \d\e mmmm \d\e yyyy"))
End Function
La función evita error al hacer la conversión desde la cuadricula, también se puede hacer la consulta con SQL.
Martha, si tiene alguna duda puede escribirme a [email protected]