منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الرجاء المساعدة( تحديد نوع الادخال بقاعدة البيانات)
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ,,,

عندي مشكلة عند حفظ مدخل في قاعدة البيانات
حيث انني عملت قاعدة بيانات عبارة عن
الاسم - الرقم - تاريخ الميلاد
لكن عند الضغط على حفظ
يضع اشارة على الكود

Adodc1.Recordset.Fields("Emp_Bdate") = txtBdate.Text

Emp_Bdate : اسم الحقل
txtBdate: مربع نص
اي ان نوع الاخال غير صحيح بالنسبة للتاريخ
هل يوجد اضافة لهذا الكود ليقبل الحفظ
مع العلم انه التاريخ في قاعدة البيانات اكسس من نوع date/time

اساس المشكلة انه عندما ابقي مربع التاريخ فارغاً  او اكتب شيئ غير تاريخ او وقت يظهر عندي مشكلة بالحفظ


وشكراُ لمساعدتكم
السلام عليكم
اخي هاني ارفق لنا مثال بسيط لنتمكن من حل المشكلة
السلام عليكم ورحمة الله وبركاته
اخي الكريم حقل التاريخ لا يقبل غير التاريخ والوقت فقط  يجب اجبار المستخدم على ادخال تاريخ
الحفظ يكون بتنسيق افضل جرب ان تدخل تاريخ في التكست وعدل كود الحفظ هكذا


PHP كود :
Adodc1.Recordset.Fields("Emp_Bdate") = Format(txtBdate.Text"dd/mm/yyyy"

بالتوفيق
السلام عليكم...

بما أن الحقل في قاعدة البيانات من النوع Date/Time فيجب تحويل قيمة مربع النص إلى تاريخ عند إسنادها إلى الحقل:

كود :
Adodc1.Recordset("Emp_Bdate") = CDate(txtBdate.Text)    ' abc
الجزء ' abc فقط لمنع ظهور الكود بشكل مقلوب!!!

فد يقع الخطأ في هذا السطر أيضاً إذا كان المكتوب في مربع النص لا يمكن تفسيره كتاريخ صحيح، مثل 35/13/2016
و لضمان إدخال تاريخ صحيح استخدم المكون DateTimePicker الخاص بالتاريخ و الوقت:
كود :
Adodc1.Recordset("Emp_Bdate") = DateTimePicker1.Value


نرجو الاستفادة و السلام.
بارك الله فيك اخي ناجى وزادك من علمه
أهلا بك أخي العزيز ناجي إبراهيم ألف شكراً جزيلا ً لك على ردك الرائع والوافي الذي عودتنا عليه , بالنسبه لضبط تنسيق الكود الذي تود وضعه في أي رد تستطيع إستخدام تاق البي إتش بي بدل من تاق الكود مع تاق الـ align , يعطيك العافيه .
(26-02-16, 06:40 AM)Ahmed_Mansoor كتب : [ -> ]أهلا بك أخي العزيز ناجي إبراهيم ألف شكراً جزيلا ً لك على ردك الرائع والوافي الذي عودتنا عليه , بالنسبه لضبط تنسيق الكود الذي تود وضعه في أي رد تستطيع إستخدام تاق البي إتش بي بدل من تاق الكود  مع تاق الـ align , يعطيك العافيه .

شكراً لكم جميعاً
على اهمامكم بالموضوع
لقد استفدت منكم جميعاً على هذه المعلومات لقد قمت بتغيير الكود كما ارسلتوه
لكن عندي مشكلة انه في حال انني لاارغب بوضع باضاقة او املك التاريخ يعني يجب انه ادعه فارغ
كيف يمكن ان اعمل حفظ
لانني عند ضغط حفظ يظهر خطأ عند كود التاريخ

وشكرا لكم جميعً
واتمنا لكم النجاح والتوفيق
ارفع مثالك
(29-02-16, 05:41 PM)ahmedabdelaliem كتب : [ -> ]ارفع مثالك

سيد احمد هذا المثال صنعته بسرعة

ارجو منك ان  تدلني على طريقة حتى لو تركت مربع التاريخ فارغ لايظر اي رسالة خطأ

مثلا اريد ادخال الاسم فقط ولا املك التواريخ حالياً

وشكراً  لك
اخي حقل التاريخ لا يقبل ان يكون خالي يجب اسناد قيمة له ولكن اذا ضروري يمكنك تعديل الكود هكذا

PHP كود :
Private Sub Command1_Click()
On Error Resume Next
Dim Response 
As String
Dim uname 
As String


uname 
Text1.Text

Response 
MsgBox("Update this record?"vbYesNo vbQuestion"Confirmation")

If 
Response vbNo Then
Adodc1
.Refresh
Adodc1
.Recordset.CancelUpdate
Adodc1
.Refresh

MsgBox 
"Save Cancelled!"

ElseIf Text1.Text "" Then
MsgBox 
"Please fill the Employee ID !"vbCriticalTime
ElseIf Response vbYes Then

 Adodc1
.Recordset.Fields("name") = IIf(IsNull(Text1.Text), ""Text1.Text)
 
Adodc1.Recordset.Fields("pass") = IIf(IsNull(Text2.Text), ""CDate(Text2.Text))
 
Adodc1.Recordset.Fields("eqama") = IIf(IsNull(Text4.Text), ""CDate(Text4.Text))
 
Adodc1.Recordset.Fields("startdate") = IIf(IsNull(Text4.Text), ""CDate(Text4.Text))
 
Adodc1.Recordset.Update
MsgBox 
"Record Saved!"vbInformationTime
End 
If
End Sub 


بالتوفيق
الصفحات : 1 2