MS Access 2003/2007 VBA-كيف يمكنني أخذ حقل تاريخ من مجموعة سجلات وسلسلة تنسيق DD-MMM-YYYY؟

StackOverflow https://stackoverflow.com/questions/3112290

سؤال

لدي بعض VB الذي يستخدم DAO للاستيلاء على بعض البيانات ، وهو حقل واحد هو حقل تاريخ (كما هو الحال في تاريخ المعاملة). ليس التاريخ/الوقت ، فقط مجرد تاريخ مثل DD/MM/YYYY.

لذلك في نموذج وصول ، أعرف كيفية القيام بذلك ، لكن الآن أعمل على بعض أتمتة Excel/PPT. أستخدم شيئًا مثل هذا المثال البسيط سلسلة Dao SQL ، OpenRecordSet للحصول على البيانات.

لذلك دعنا نقول أن البيانات المعنية هي مجرد Rs! Date.

أنقلها إلى PowerPoint مثل ذلك:

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

     oTextRange.Text = rs!Date

الآن سأترك جميع أنواع الأشياء ، ولكن هذا هو الجزء الذي ينقل هذا التاريخ الذي لدي بالفعل في مجموعة السجلات ، إلى PPT على ما يرام ، فقط في هذا التنسيق

dd/mm/yyyy

وأحب حقًا معرفة كيفية الحصول على هذا ببساطة

"dd-MMM-yyyy"

كسلسلة الإخراج المطلوبة الخاصة بي.

شكرا جاستن

هل كانت مفيدة؟

المحلول

يمكن:

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

أرفق اسم الحقل بين قوسين مربع لأن التاريخ هو كلمة محجوزة. لكنني لا أعتقد أنه يجب أن يحدث أي فرق في هذه الحالة. ومع ذلك ، حاول تجنب الكلمات المحجوزة لحقلك وجدولك وأسماء الكائنات الأخرى.

نصائح أخرى

استخدم ال Format وظيفة.

جرب هذا في نافذة التصحيح Msgbox Format (Now(), "dd-MMM'YYYY").

http://office.microsoft.com/en-ca/access-help/format-function-ha001228839.aspx

حسنًا ، هذه هي المرة الأولى التي أجيب فيها على سؤالي ، لذلك إذا لم يكن من المفترض أن أفعل هذا .... الاعتذار.

أعتقد أنني سأوضح ما فعلته في حالة ما يريده أي شخص آخر

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

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

وأنه كان عليه. كان من السهل بما يكفي بالنسبة لي لمعرفة نفسي.

تحرير: عفوًا .... آسف لم يكن لدي إجابات أخرى عندما نشرت هذا!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top