![]() |
|
[ تم الحل ] تعديل على تنسيق التاريخ بالتاكست بكس - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [ تم الحل ] تعديل على تنسيق التاريخ بالتاكست بكس (/showthread.php?tid=29326) |
[ تم الحل ] تعديل على تنسيق التاريخ بالتاكست بكس - محمد خيري - 10-04-19 السلام عليكم.اخواني التاريخ بقاعدة بيانات اكسس ينحفظ من الشمال الى اليمين هكذا (dd/MM/yyyy) اريد لما اضغط على الداتاجريد لعرض البيانات ينعرض بالتاكست رقم 3 من اليمين للشمال هكذا (yyyy/MM/dd) جربت اكتب هكذا لكن ما ضبطت مع العلم احفظ التاريخ بصيغة نص و ليس تاريخ هذا الكود الذي استعمله لضغط الداتاكريد و شكرا بارك الله فيكم كود : Private Sub DataGridView1_Click(sender As Object, e As EventArgs) Handles DataGridView1.ClickRE: تعديل على تنسيق التاريخ بالتاكست بكس - بدري - 10-04-19 اذا كان النوع تاريخ فلا علاقه لما تعرضه قاعده البيانات بالفيجوال التاريخ تنسيقه افتراضيا حسب الاعدادات الاقليميه للنظام التشغيل اذا اردت عرض تنسيق معين في الداتاجريد لعمود محدد استخدم الحدث celformatteing مثل If e.ColumnIndex = 2 Then e.Value = CDate(e.Value).ToString("dd / MM / yyyy") End If RE: تعديل على تنسيق التاريخ بالتاكست بكس - محمد خيري - 10-04-19 اخي بدري كلامك صحيح و مضبوط بارك الله فيك.تم تخطي هذي المشكلة الحمد لله.بقيت لي لو سمحت نقطة اخيرة حيرتني و الله التاريخ الىن ينحفظ بقاعدة بينانات اكسس هكذا dd-MM-yyyy لما ابحث بالتاكست بكس بهذا الكود و هو يعمل جيدا كود : Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChangedواذا عن خطأ كتبت / رايح يطلعلي خطأ كيف اسوي كي اقدر ابحث بالعلامتين أو يتم تجاهل هذي / بارك الله فيك RE: تعديل على تنسيق التاريخ بالتاكست بكس - بدري - 10-04-19 استخدام الحدث TextChanged مع تحويل النص الى تاريخ اكيد بيحصل خطا الى ان يكتمل كتابه التاريخ بشكل مقبول فلابد من التاكد من النص اصبح مقبول تحويله الى تاريخ استخدم البارامتر لتسهل على نفسك ارسال التاريخ الى الاستعلام مثل يكون الكود بعد التعديل Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged if not isdate(TextBox1.Text) then exit sub Dim SqlStr As String = "select * from Table1 where Birth like @bd " DT.Clear() Dim Da As New OleDbDataAdapter(SqlStr, Conne) Da.selectcommand.parameters.addwithvalue("@bd",cdate(TextBox1.Text)) Da.Fill(DT) DataGridView1.DataSource = DT End Sub RE: تعديل على تنسيق التاريخ بالتاكست بكس - محمد خيري - 10-04-19 اخي بدري الحقل بالجدول حولته الى تاريخ كي يشتغل مضبوط بسؤالي الأول بقي لي فقط لما اكتب هكذا مثلا 10/04/2019 ما يبحث و لما أكتب هكذا 2019-04-10 يبحث عادي جدا.حتى بالكود الذي ارسلته لم يشتغل معي اخي ما يبحث اطلاقا بارك الله فيك و اسمحلي اتعبتك معي. حقل التاريخ بالجدول من نوع تاريخ و التاريخ بالجدول بقاعدة البيانات محفوظ هكذا 2019-04-10 RE: تعديل على تنسيق التاريخ بالتاكست بكس - بدري - 10-04-19 اذا كنت ادخل التاريخ سابقا كان نصا ثم قمت بتحويله الى تاريخ وفيه بيانات سابقه فقد تكون البيانات السابقه اثناء تحويل نوع العمود قام باعتمادها على شكل MM/dd/yyyy اي يبدا بالشهر قم بالتبديل بين اليوم والشهر في البيانات القديمه واعد التجربه احرص على استخدام النوع تاريخ منذ البدايه فمن المتاعب التي يواجهها المبرمج هي عندما يستخدم النص ثم يغير رايه ويحول النع الى تاريخ فتحصل المتاعب مع البيانات المسجله قديما اذا كانت البيانات غير مهمه قم بحذف البيانات من الجدول والبدا بوضع بيانات جديده بعد اعتماد نوع العمود (تاريخ) RE: تعديل على تنسيق التاريخ بالتاكست بكس - محمد خيري - 11-04-19 صدقت اخي بدري و منك نستفيد و هذه المعلومة المهمة هي التي حيرتني و توهتني.صحيح كان عندي ملف حفظت التاريخ من البداية كتاريخ و ابحث بالعلامتين / - و ما لقيت مشكل. و الان فعلا البيانات كانت تاريخ نوع نص و حولتها و لذلك واجهت صعوبة .البيانات غير مهمة ساقوم بحذفها و اعادتها الله يبارك فيك و يزيدك من علمه الف شكر RE: [ تم الحل ] تعديل على تنسيق التاريخ بالتاكست بكس - elgokr - 11-04-19 وعليكم السلام ورحمة الله بركاته
اضافة لما قدمه اخى بدري
فى هذا الجزؤ من كود الاستعلامكود : where Birth like '%" & TextBox1.Text & "%'"يجب ان يكون بهذا الشكل كود : where Birth like #%" & TextBox1.Text & "%#"اى ان يكون # بدلاً من '
# تعنى التاريخ
' تعنى نص
بدون تعنى رقم
وبهذه الطريقة لو كتبت التاريخ بهذا الشكل كود : 11 4 2019بدون مسافة او بدون علامة او بمسافة او ما شبه سيتم التعامل معه تلقائي كونه تاريخ
ولضمان ان الامر تكون بصورة صحيحة اجعل هذا الجزء بهذا الشكل كود : where Birth Like '%" & CDate(TextBox1.Text) & "%'"طبعاً جملة Like هنا يمكنك استخدامها اذا كان التاريخ يحتوى على تاريخ و وقت
بحيث يتم جلب جميع البيانات تحت التاريخ المحدد لجميع الوقت مثل الورديات
ولكن اذا كان لا يوجد وقت وانه تاريخ فقط فيفضل ان تستخدم = بدلاً من Like
او يمكنك استخدام between
تحياتى لك
وتمنياتى لك التوفيق
RE: [ تم الحل ] تعديل على تنسيق التاريخ بالتاكست بكس - محمد خيري - 11-04-19 بارك الله فيك اخي elgokr على الشرح و التوضيح ربنا يبارك فيك يا رب RE: [ تم الحل ] تعديل على تنسيق التاريخ بالتاكست بكس - elgokr - 11-04-19 لى ولك وللجميع بامر الله
تحياتى لك
وتمنياتى لك التوفيق
|