Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/10/2011, 19h32   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 24
Points : 1
Points : 1
Par défaut Diviser en 2 un champ

Bonjour et merci de lire ces lignes de débutant!

Voila, j'ai un fichier .mdb lié dans access dont un champ est Date/heure.
ex.:
12-9-2011 6:40:30 | 18.67

Comment je peux faire pour diviser en 2 champ la date et l'heure dans une requête ou autre pour que lors de l'exportation en .csv, j'ai ceci comme résultat.

12-9-2011;6:40:30;18.67

Merci de votre aide
peterthepower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 21h41   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 475
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 475
Points : 7 564
Points : 7 564
À mettre dans un module

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public function DecouperDate(prmDate as string) as string
  dim result as string
 
  dim dateHeureDuree as variant:dateHeureDuree=split(prmDate,"|") 'Sépare la date et l'heure de l'autre heure
  dim dateHeure as variant:dateHeure=split(dateHeureDuree(0)," ") 'Sépare la date de l'heure
  dim dateAnneeMoisJour as variant:dateAnneeMoisJour=split(dateHeure(0)) 'Sépare la date en ses éléments, supose le format JJ-MM-AAAA
 
  'Recompose les différents éléments
  dim dateDecoupee as date:dateDecoupee=dateserial(dateAnneeMoisJour(2), dateAnneeMoisJour(1), dateAnneeMoisJour(0))
  dim heureDecoupee as date:heureDecoupee=cDarte(dateHeure(1))
  dim dureeDecoupee as string:dureeDecoupee=dateHeureDuree(2)
 
  'Compose le résultat en lui donnant le format voulu.
  result=format(DateDecoupee,"yyyy\-m\-d") & ";" & format(heureDecoupee1,"hh:nn:ss") & ";" & dureeDecoupee
  DecouperDate=result
end function
à utiliser dans une requête :

Code :
DecouperDate([tonChampADecouper])
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2011, 00h06   #3
Membre confirmé
 
Homme
Développeur amateur
Inscription : mars 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : mars 2009
Messages : 176
Points : 255
Points : 255
Bonsoir tout le monde;


On pourrait aussi utiliser une requete avec 2 champs calculés: l'un pour extraire la date et l'autre pour extraire l'heure.

Code :
1
2
ExtracDate = Format([monchamp];"hh:nn:ss")
ExtracHeure= Format([monchamp];"jj/mm/aaaa")
J'ai testé cette solution et à priori ça marche

Cordialement
reedy est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/10/2011, 17h53   #4
Invité de passage
 
Inscription : octobre 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 24
Points : 1
Points : 1
marot_r:

Oups, j'ai fais une petite erreur dans mon exemple.
En réalité, le champ que je veux séparer n'inclus pas "| 18.67"
mais uniquement "12-9-2011 6:40:30"

Mon exemple étais la requêt en général d'ou le "|" pour séparer les 2 champs.

Et c'est mon erreur

Donc pour l'instant, laissez moi essayer de corriger votre code, si je ni arrive pas, je vous demanderais. de cette façon je peux apprendre.

Mille merci et je vous reviens.
désolé du temps de réponse, très occupé
peterthepower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 18h26   #5
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 475
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 475
Points : 7 564
Points : 7 564
Tu voudras alors peut-être utiliser le code Reedy qui devrait marcher directement.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 18h56   #6
Invité de passage
 
Inscription : octobre 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 24
Points : 1
Points : 1
oui mais ça ne fonctionne pas pour moi
j'ai cette erreur:




Mais pour votre code j'ai essayer quelques petites choses et je n'y arrive pas trop.

Aussi la date à la source est de ce format: 27/10/2001.

voir ici:


C'est ce que je voudrais diviser en 2 date et heure.

Merci!!
peterthepower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 20h38   #7
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 475
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 475
Points : 7 564
Points : 7 564
DateTime est vu comment par Access : texte ou date ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 21h24   #8
Invité de passage
 
Inscription : octobre 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 24
Points : 1
Points : 1
Type de données = Date/Heure

peterthepower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 21h58   #9
Membre confirmé
 
Homme
Développeur amateur
Inscription : mars 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : mars 2009
Messages : 176
Points : 255
Points : 255
Bonsoir,

Attention à la syntaxe. La voici corrigée :

Code :
Date : Format([monchamp];"hh:nn:ss")
Code :
Heure : Format([monchamp];"jj/mm/aaaa")
Cordialement
reedy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 15h05   #10
Invité de passage
 
Inscription : octobre 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 24
Points : 1
Points : 1
Par défaut Ça marche!!!

Oooooh ouiiii!

Ça fonctionne!!
Juste que sans savoir pourquoi, ce n'est pas un ";" mais une "," que je devais mettre et bingo.

Merci a vous 2 pour votre aide très précieuse et une bonne journée.

peterthepower est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h39.


 
 
 
 
Partenaires

Hébergement Web