Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

demande d'aide pour champ date

6 réponses
Avatar
bxman
bjr
je viens de recuperer une base access avec une table avec un champ date au
format texte. Les date et heures y sont inscrit de cette façon 30 mai 2005 -
23:20:25
Est il possible de faire en sorte de separer le champ en deux date et heure
et que ce champs soient au format approprié et non en texte.
Merci pour toute l'aide que vous m'apporterez.
Cordialement

6 réponses

Avatar
Raymond [mvp]
Bonjour.

tu peux faire comme ceci:

Dim X As String ' pour l'exemple
Dim D As Date
Dim H As Date
Dim Pos As Integer
X = "31 mai 2005 - 13:30:50" ' pour l'exemple
Pos = InStr(1, X, "-")
D = CDate(Trim(Mid(X, 1, Pos - 1)))
H = CDate(Trim(Mid(X, Pos + 1)))


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bxman" a écrit dans le message de news:

bjr
je viens de recuperer une base access avec une table avec un champ date au
format texte. Les date et heures y sont inscrit de cette façon 30 mai
2005 -
23:20:25
Est il possible de faire en sorte de separer le champ en deux date et
heure
et que ce champs soient au format approprié et non en texte.
Merci pour toute l'aide que vous m'apporterez.
Cordialement


Avatar
Gafish
Bonjour,

bxman wrote:
bjr
je viens de recuperer une base access avec une table avec un champ
date au format texte. Les date et heures y sont inscrit de cette
façon 30 mai 2005 - 23:20:25
Est il possible de faire en sorte de separer le champ en deux date
et heure et que ce champs soient au format approprié et non en texte.
Merci pour toute l'aide que vous m'apporterez.
Cordialement


Ce que tu peux faire, c'est garder dans ta table la date comme cela, et à
l'affichage utilisateur (formulaires, états) n'afficher que la date, que
l'heure, voire que le mois, le numéro de semaine...
Pour cela, regarde du côté des fonctions format() et datepart()

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Gafish
Raymond [mvp] wrote:
Dim X As String ' pour l'exemple
Dim D As Date
Dim H As Date
Dim Pos As Integer
X = "31 mai 2005 - 13:30:50" ' pour l'exemple
Pos = InStr(1, X, "-")
D = CDate(Trim(Mid(X, 1, Pos - 1)))
H = CDate(Trim(Mid(X, Pos + 1)))




Ca m'apprendra à répondre trop vite :) vi j'ai raté un ptit quelque chose au
vol, j'ai pas noté que c'était du texte.
Mea culpa ! Ne tiens pas compte de ma réponse bxman !

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Raymond [mvp]
Ces jeunes, toujours speed !

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Gafish" a écrit dans le message de news:

Raymond [mvp] wrote:
Dim X As String ' pour l'exemple
Dim D As Date
Dim H As Date
Dim Pos As Integer
X = "31 mai 2005 - 13:30:50" ' pour l'exemple
Pos = InStr(1, X, "-")
D = CDate(Trim(Mid(X, 1, Pos - 1)))
H = CDate(Trim(Mid(X, Pos + 1)))




Ca m'apprendra à répondre trop vite :) vi j'ai raté un ptit quelque chose
au
vol, j'ai pas noté que c'était du texte.
Mea culpa ! Ne tiens pas compte de ma réponse bxman !

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr





Avatar
bxman
tout d'abord Merci
j'ai ecrit ceci dans un module en fonction. j'apelle ensuite cette
fonction dans une requete de MAJ.
Mais cela me liste mon champ sans modif ' apprente.

Je fais surement fausse route. peut tu m'eclairer un peu sur le protocole à
suivre.

Encore merci


Bonjour.

tu peux faire comme ceci:

Dim X As String ' pour l'exemple
Dim D As Date
Dim H As Date
Dim Pos As Integer
X = "31 mai 2005 - 13:30:50" ' pour l'exemple
Pos = InStr(1, X, "-")
D = CDate(Trim(Mid(X, 1, Pos - 1)))
H = CDate(Trim(Mid(X, Pos + 1)))


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bxman" a écrit dans le message de news:

bjr
je viens de recuperer une base access avec une table avec un champ date au
format texte. Les date et heures y sont inscrit de cette façon 30 mai
2005 -
23:20:25
Est il possible de faire en sorte de separer le champ en deux date et
heure
et que ce champs soient au format approprié et non en texte.
Merci pour toute l'aide que vous m'apporterez.
Cordialement







Avatar
Raymond [mvp]
dans ton module standard tu mets:
Option Compare Database
Option Explicit

Public Function DT1(Ladate As String) As Date
DT1 = CDate(Trim(Mid(Ladate, 1, InStr(1, Ladate, "-") - 1)))
End Function

Public Function DT2(Ladate As String) As Date
DT2 = CDate(Trim(Mid(Ladate, InStr(1, Ladate, "-") + 1)))
End Function

dans ta requête dans une colonne tu mets:
Expr1: DT1(nz([madate];Date()))
dans une autre colonne:
Expr2: DT2(nz([madate];Date()))


madate étant ton champ string contenant ta date complète
(je m'absente jusqu'à 18h, si erreur Gafish prendra la suite)
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bxman" a écrit dans le message de news:

tout d'abord Merci
j'ai ecrit ceci dans un module en fonction. j'apelle ensuite cette
fonction dans une requete de MAJ.
Mais cela me liste mon champ sans modif ' apprente.

Je fais surement fausse route. peut tu m'eclairer un peu sur le protocole
à
suivre.

Encore merci