MS Access 2003/2007 VBA-كيف يمكنني أخذ حقل تاريخ من مجموعة سجلات وسلسلة تنسيق DD-MMM-YYYY؟
-
29-09-2019 - |
سؤال
لدي بعض 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")
وأنه كان عليه. كان من السهل بما يكفي بالنسبة لي لمعرفة نفسي.
تحرير: عفوًا .... آسف لم يكن لدي إجابات أخرى عندما نشرت هذا!