Remplacer une chine de caractères ou traduire dates

jeanluc065
Messages postés
134
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
1 juin 2007
- 26 oct. 2006 à 16:37
jeanluc065
Messages postés
134
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
1 juin 2007
- 27 oct. 2006 à 09:47
Bonjour à Toutes et tous,

Je suis en access 2002, FRANCAIS et novice.
J'importe  des fichiers HTML   et un champ texte qui est en fait une date se présente sous la forme
06-MAY-2006, 12-DEC-2005.
Je dois ensuite ajouter ces données à une table générale mais le problème c'est que certaines dates posent problème et ne sont pas importées ( FEB, APR, MAY, AUG ) tandis que les autres fonctionnent puisque les 3 premières sont identiques en français et en anglais.

Quelqu'un aurait-il un truc pour m'aider, soit traduire les dates par un code  ou remplacer la chaîne de caractères ?
Qui peut maider ?
Merci d'avance.
JL

5 réponses

cs_FPatrick
Messages postés
122
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
8 août 2014
1
26 oct. 2006 à 18:03
Bonjour,

Tu peux utiliser la fontion replacee comme suit:

Date_Traitee = replace("01-feb-2006","feb","02")

et ainsi de suite pour tous les mois.

C'est peut-être pas la meilleur méthode mais tu peux traiter comme tu le souhaites tous les cas possibles et imaginable.
Tu as la fonction isdate qui permet de savoir si ta date est valide dans vb.

Bonne journée.
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
26 oct. 2006 à 19:32
Bonsoir,

Pourquoi ne pas s'amuser avec Switch :

Private Sub Command1_Click()
  datetoto = "06-NOV-2006"
  b = Mid(datetoto, 4, 3)  mois Switch(b "JAN", "01", b = "FEB", "02", b = "MAR", "03", b = "APR", "04", b = "MAY", _  "05", b "JUN", "06", b "JUL", "07", b = "AUG", "08", b = "SEP", "09", b = "OCT", _  "10", b "NOV", 11, b "DEC", 12)
  datetoto = Left(datetoto, 2) & "/" & mois & "/" & Right(datetoto, 4)
  MsgBox datetoto
End Sub
0
jeanluc065
Messages postés
134
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
1 juin 2007

26 oct. 2006 à 19:53
Bonsoir,

Merci à vous deux pour vos réponses que je ne tarderai pas à essayer.
Je vous tiens au courant du résultat de mes expériences pour que toute la communauté en profite, tel l'esprit de ce superbe site.
Salutations amicales.
JL
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
26 oct. 2006 à 20:54
Rebonsoir, ami...
Tu vas essayer...
Cela va marcher et tu vas dire OK ?

Mais jmf (bibi), lui, il n'est pas d'accord !
Split est du pur VB, mais faut-il toujours se contenter de VB ?
Je n'en suis en ce qui me concerne pas certain et donne toujours la préférence à une analyse, au cas par cas...
Dans le cas qui nous intéresse : nos amis les "British" utilisent systématiquement 3 lettres pour chacun des mois... Profitons-en alléghrement :

Voyons un peu :

Private Sub Command1_Click()
  lesanglaisdic = "@JAN@FEB@MAR@APR@MAY@JUN@JUL@AUG@SEP@OCT@NOV@DEC@"
  datebritish = "07-AUG-2006"
  datefrance = Left(datebritish, 2) & "/" & Format((InStr(lesanglaisdic, "@" & Mid(datebritish, 4, 3) & _
  "@") + 3) / 4, "0#") & "/" & Right(datebritish, 4)
  MsgBox datefrance
End Sub

Amitiés d'un vieux fou
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeanluc065
Messages postés
134
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
1 juin 2007

27 oct. 2006 à 09:47
Bonjour,

J'ai essayé mais çà plante car je ne sais pas comment  "renseigner" le champ2 de matable dans la syntaxe
J'écris [matable]![champ2] et j'obtiens un message d'erreur qui dit qu'il ne connaît pas le champ.
Qui peut m'aider ?
Merci d'avance
JL

Private Sub Command1_Click()
  datetoto = "06-NOV-2006"
  b = Mid(datetoto, 4, 3)  mois Switch(b "JAN", "01", b = "FEB", "02", b = "MAR", "03", b = "APR", "04", b = "MAY", _  "05", b "JUN", "06", b "JUL", "07", b = "AUG", "08", b = "SEP", "09", b = "OCT", _  "10", b "NOV", 11, b "DEC", 12)
  datetoto = Left(datetoto, 2) & "/" & mois & "/" & Right(datetoto, 4)
  MsgBox datetoto
End Sub
0