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 7666 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 7666 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
Rejoignez-nous