2010-06-24 1 views
3

J'ai un certain VB qui utilise DAO pour saisir des données, un champ étant un champ de date (comme en date d'une transaction). Ce n'est pas une date/heure, il suffit de dater comme jj/mm/aaaa.MS Access 2003/2007 VBA - Comment puis-je prendre un champ de date à partir d'un jeu d'enregistrements et chaîne le format jj-MMM-aaaa?

donc sur un formulaire d'accès je sais comment faire cela, mais maintenant je travaille sur une certaine automatisation Excel/PPT. J'utilise quelque chose comme cet exemple simple DAO sql string, openrecordset pour obtenir les données.

Alors disons que les données en question sont simplement rs! Date.

Je passe à powerpoint comme ceci:

Set oShape = oSlide.Shapes("S1_Date") 
Set oTextRange = oShape.textFrame.TextRange 

    oTextRange.Text = rs!Date 

maintenant je repars toutes sortes de choses, mais cela est la partie qui transfère cette date que je l'ai déjà dans le recordset, sur le ppt pres très bien, seulement dans ce format

dd/mm/yyyy 

et je voudrais vraiment juste savoir comment obtenir simplement ce

"dd-MMM-yyyy" 

comme chaîne de sortie désirée.

grâce justin

Répondre

3

Peut-être:

oTextRange.Text = Format(rs![Date], "dd-MMM-yyyy") 

Je le nom de enfermé champ entre crochets parce que la date est un mot réservé. Mais je ne pense pas que cela devrait faire la moindre différence dans ce cas. Néanmoins, essayez d'éviter les mots réservés pour votre champ, table et autres noms d'objets.

+0

exactement .... merci Hans! – Justin

1

Ok c'est donc la première fois que je réponds à ma propre question, donc si je ne suis pas supposé faire ça ... excuses.

je me dis que je montrerais ce que je faisais Incase quelqu'un d'autre veut savoir

Set oShape = oSlide.Shapes("S1_Date") 
Set oTextRange = oShape.TextFrame.TextRange 

    oTextRange.Text = Format(rs!Date, "dd-MMM-yyyy") 

et qui était elle. c'était assez facile pour moi de me comprendre.

EDIT: Oops .... désolé n'a pas eu d'autres réponses quand j'ai posté ceci!

+1

AFAIK, il est parfaitement légal de répondre à votre propre question. Les gens pourraient se plaindre si vous posiez des questions avec l'intention apparente de leur répondre immédiatement pour gonfler votre total de points. Clairement, ce n'était pas le cas. – HansUp

Questions connexes