العبيدي رعد قام بنشر فبراير 20 قام بنشر فبراير 20 السلام عليكم عملت تكست بوكس بإسم ts تظهر اخر رصيد في حركة الصندوق ولدي تكست بوكس مبلغ القرض tmaden ووضعت كود في زر الترحيل اذا كان مبلغ القرض اكبر من الرصيد لايمكن ترحيل ... ولكن يظهر لي خطأ عند x=me.ts
Foksh قام بنشر فبراير 20 قام بنشر فبراير 20 من خلال الكود الواضح انه سيقوم بالترحيل في كل الحالات ، لانك في الجملة الشرطية جعلت الشرط فقط التراجع وبعدها تم انهاء الجملة الشرطية ، واستكمل الكود وظيفته بجملة التحديث . جرب بعد Undo اكتب Else وانقل السطر End If لما بعد استعلام التحديث . بحيث اذا كان مبلغ القرض اكبر من الرصيد لايمكن ترحيل .. وإلا (Else) قم بترحيل البيانات .
العبيدي رعد قام بنشر فبراير 20 الكاتب قام بنشر فبراير 20 في 2/12/2023 at 14:12, عمر ضاحى said: انا شايف ان الكود يعمل عندك عادي ممكن توضح ايه الخطأ ؟ 13 دقائق مضت, Foksh said: من خلال الكود الواضح انه سيقوم بالترحيل في كل الحالات ، لانك في الجملة الشرطية جعلت الشرط فقط التراجع وبعدها تم انهاء الجملة الشرطية ، واستكمل الكود وظيفته بجملة التحديث . جرب بعد Undo اكتب Else وانقل السطر End If لما بعد استعلام التحديث . بحيث اذا كان مبلغ القرض اكبر من الرصيد لايمكن ترحيل .. وإلا (Else) قم بترحيل البيانات . شكرا جزيلا استاذ عملت المطلوب وبقي الامر نفسه
Foksh قام بنشر فبراير 20 قام بنشر فبراير 20 (معدل) اعتذر منك أخي الخطأ في المتغير الذي حجزته Private Sub Command14_Click() Dim i As Integer Dim x As Integer i = Me.Tmaden x = Me.ts If i < x Then MsgBox "لا يمكنك الحفظ !! فرصيد الصندوق غير كاف", vbExclamation Me.Undo Else Dim mySQL As String mySQL = "SELECT * FROM karz" Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset(mySQL) rst.AddNew rst!no = tid rst!nam = Comn rst!datee = tdate rst!maden = Tmaden rst!gehat = comg rst!harkt = th rst!kfl = Tkl rst!fonl = Tfl rst!worl = Comkl rst!kf2 = Tk2 rst!fon2 = Tf2 rst!wor2 = Comk2 rst!notesm = notm rst!noteskl = notkl rst!notesk2 = notk2 rst.Update rst.Close Set rst = Nothing End If End Sub تم تعديل فبراير 20 بواسطه Foksh
Foksh قام بنشر فبراير 20 قام بنشر فبراير 20 وجب تحديد نوع المتغير بنوعه لكل متغير منفصل Dim i As Integer, x As Integer
العبيدي رعد قام بنشر فبراير 20 الكاتب قام بنشر فبراير 20 (معدل) ماهو الحل إذن ؟ ارفق لكم البرنامج المعمول ب اكسس 2010 والمطلوب في فورم sarf قروض التجربة الحالية.rar تم تعديل فبراير 20 بواسطه العبيدي رعد
Foksh قام بنشر فبراير 20 قام بنشر فبراير 20 7 دقائق مضت, العبيدي رعد said: ماهو الحل إذن ؟ وضعت لك الحل أخي الكريم ، في المشاركة القبل الأخيرة لي
العبيدي رعد قام بنشر فبراير 20 الكاتب قام بنشر فبراير 20 5 دقائق مضت, Foksh said: وضعت لك الحل أخي الكريم ، في المشاركة القبل الأخيرة لي غيرت استاذي الفاضل ولم تنجح لهذا ارفقت البرنامج والف شكر لكم
Foksh قام بنشر فبراير 20 قام بنشر فبراير 20 (معدل) من الواضح أنه لا يعتمد القيمة الفارغة للحقل TS و الحقل Tmaden ، جرب هذا التعديل Private Sub Command14_Click() Dim i As Variant Dim x As Variant If IsNull(Me.Tmaden) Then MsgBox "قيمة فارغة!", vbExclamation Exit Sub End If If IsNull(Me.ts) Then MsgBox "قيمة فارغة!", vbExclamation Exit Sub End If i = Me.Tmaden x = Me.ts If i < x Then MsgBox "لا يمكنك الحفظ !! فرصيد الصندوق غير كاف", vbExclamation Me.Undo Else Dim mySQL As String mySQL = "SELECT * FROM karz" Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset(mySQL) rst.AddNew rst!no = tid rst!nam = Comn rst!datee = tdate rst!maden = Tmaden rst!gehat = comg rst!harkt = th rst!kfl = Tkl rst!fonl = Tfl rst!worl = Comkl rst!kf2 = Tk2 rst!fon2 = Tf2 rst!wor2 = Comk2 rst!notesm = notm rst!noteskl = notkl rst!notesk2 = notk2 rst.Update rst.Close Set rst = Nothing End If End Sub تم تعديل فبراير 20 بواسطه Foksh
العبيدي رعد قام بنشر فبراير 20 الكاتب قام بنشر فبراير 20 12 دقائق مضت, Foksh said: Dim i As Variant Dim x As Variant If IsNull(Me.Tmaden) Then MsgBox "قيمة فارغة!", vbExclamation Exit Sub End If If IsNull(Me.ts) Then MsgBox "قيمة فارغة!", vbExclamation Exit Sub End If i = Me.Tmaden x = Me.ts If i < x Then MsgBox "لا يمكنك الحفظ !! فرصيد الصندوق غير كاف", vbExclamation Me.Undo Else Dim mySQL As String mySQL = "SELECT * FROM karz" Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset(mySQL) rst.AddNew rst!no = tid rst!nam = Comn rst!datee = tdate rst!maden = Tmaden rst!gehat = comg rst!harkt = th rst!kfl = Tkl rst!fonl = Tfl rst!worl = Comkl rst!kf2 = Tk2 rst!fon2 = Tf2 rst!wor2 = Comk2 rst!notesm = notm rst!noteskl = notkl rst!notesk2 = notk2 rst.Update rst.Close Set rst = Nothing End If شكرا جزيلا استاذي الفاضل تعبتك معي هذا اولا وثانيا في حال ادخال اي قيمة حتى اذا كانت اقل تظهر رسالة لايمكنك الحفظ كما في الصورة المرفقة انا جربت as long
Foksh قام بنشر فبراير 20 قام بنشر فبراير 20 يبدو أن المشكلة كانت في تنسيق الحقول التي ترغب في اجراء المقارنة عليها ، قمت ببعض التغييرات ، وتفضل الكود Private Sub Command14_Click() Dim i As Double Dim x As Double If IsNull(Me.Tmaden) Then MsgBox "قيمة Me.Tmaden فارغة!", vbExclamation Exit Sub End If If IsNull(Me.ts) Then MsgBox "قيمة Me.ts فارغة!", vbExclamation Exit Sub End If i = CDbl(Replace(Me.Tmaden, ",", "")) x = CDbl(Replace(Me.ts, ",", "")) If i < x Then MsgBox "لا يمكنك الحفظ !! فرصيد الصندوق غير كاف", vbExclamation Me.Undo Else Dim mySQL As String mySQL = "SELECT * FROM karz" Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset(mySQL) rst.AddNew rst!no = tid rst!nam = Comn rst!datee = tdate rst!maden = Tmaden rst!gehat = comg rst!harkt = th rst!kfl = Tkl rst!fonl = Tfl rst!worl = Comkl rst!kf2 = Tk2 rst!fon2 = Tf2 rst!wor2 = Comk2 rst!notesm = notm rst!noteskl = notkl rst!notesk2 = notk2 rst.Update rst.Close Set rst = Nothing End If End Sub الملف المرفق قروض التجربة الحالية.accdb
العبيدي رعد قام بنشر فبراير 21 الكاتب قام بنشر فبراير 21 19 ساعات مضت, Foksh said: Dim i As Double Dim x As Double If IsNull(Me.Tmaden) Then MsgBox "قيمة Me.Tmaden فارغة!", vbExclamation Exit Sub End If If IsNull(Me.ts) Then MsgBox "قيمة Me.ts فارغة!", vbExclamation Exit Sub End If i = CDbl(Replace(Me.Tmaden, ",", "")) x = CDbl(Replace(Me.ts, ",", "")) If i < x Then MsgBox "لا يمكنك الحفظ !! فرصيد الصندوق غير كاف", vbExclamation Me.Undo Else Dim mySQL As String mySQL = "SELECT * FROM karz" Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset(mySQL) rst.AddNew rst!no = tid rst!nam = Comn rst!datee = tdate rst!maden = Tmaden rst!gehat = comg rst!harkt = th rst!kfl = Tkl rst!fonl = Tfl rst!worl = Comkl rst!kf2 = Tk2 rst!fon2 = Tf2 rst!wor2 = Comk2 rst!notesm = notm rst!noteskl = notkl rst!notesk2 = notk2 rst.Update rst.Close Set rst = Nothing End If شكرا جزيلا لكن لايقبل الترحيل لما مؤشر عليه والذي بعده كذلك عندما اعطي مبلغ اقل يقول لايوجد رصيد مع انه الرصيد اعلى من مبلغ القرض
Foksh قام بنشر فبراير 21 قام بنشر فبراير 21 اخي الكريم اسعدك الله ،، في مثالك كتبت الرقم 400 وهو فعلاً أصغر من الرقم 4920000 التنسيق الرقمي للخانة هو مشكلتك 😊 جرب تكون قيمة القرض 4920001 😅
ابوخليل قام بنشر فبراير 21 قام بنشر فبراير 21 السلام عليكم مشاركة معكم احبتي الأخطاء طفيفة فقط بحاجة الى تأني كالتالي : 1- اعلن عن المتغيرات integr والواجب تكون Dbl 2- في المقارنة اخطأ ووضع اصغر من بدلا من اكبر من ... وهذه هي مشكلته الأساسية ايضا داخل الكود تسميات الحقول تنتهي بحرف L والصح تنتهي برقم واحد ... وطبعا صعب التفريق بينها عند المشاهدة Ab.rar 1
Foksh قام بنشر فبراير 21 قام بنشر فبراير 21 52 دقائق مضت, ابوخليل said: 1- اعلن عن المتغيرات integr والواجب تكون Dbl جزاك الله خيراً أستاذنا ومعلمنا @ابوخليل ، هو فعلاً تم التعديل للمتغير Dbl . 53 دقائق مضت, ابوخليل said: 2- في المقارنة اخطأ ووضع اصغر من بدلا من اكبر من ... وهذه هي مشكلته الأساسية وأيضاً هذه النقطة أخذت في الحسبان . 54 دقائق مضت, ابوخليل said: ايضا داخل الكود تسميات الحقول تنتهي بحرف L والصح تنتهي برقم واحد ... وطبعا صعب التفريق بينها عند المشاهدة هذه النقطة الصحيح انها فاتتني ولم انتبه لها 1
ابوخليل قام بنشر فبراير 21 قام بنشر فبراير 21 احيانا تحدث معي .. اقف حائرا امام مسألة ويكاد ينفجر رأسي من التفكير والمحاولات ... فالخطأ الذي يظهر امامي غير منطقي لأني استوفيت كل المتطلبات وطبقت بصورة صحيحة وبعد بذل الكثير من الجهد والوقت اتوقف ( استراحة محارب ) .. ثم اعيد المسألة من الصفر.. فأعثر على السبب ودوما يكون سبب الخلل تافه جدا .. لا يخطر على البال 1 1
العبيدي رعد قام بنشر فبراير 22 الكاتب قام بنشر فبراير 22 20 ساعات مضت, ابوخليل said: احيانا تحدث معي .. اقف حائرا امام مسألة ويكاد ينفجر رأسي من التفكير والمحاولات ... فالخطأ الذي يظهر امامي غير منطقي لأني استوفيت كل المتطلبات وطبقت بصورة صحيحة وبعد بذل الكثير من الجهد والوقت اتوقف ( استراحة محارب ) .. ثم اعيد المسألة من الصفر.. فأعثر على السبب ودوما يكون سبب الخلل تافه جدا .. لا يخطر على البال الشكر الجزيل لكما اخوتي الكرام .... الاساتذة الافاضل عملت هذا الكود ونجح ايضا معي لكن اريد بيان صحته وهل يكون بالترحيل مع بيانات كثيرة يأخذ مساحة اكبر ويثقل قاعدة البيانات Dim i As Long, x As Long i = Me.Tmaden x = Me.ts If i > x Then MsgBox "لا يمكنك الحفظ !! فرصيد الصندوق غير كاف", vbExclamation Me.Undo Else DoCmd.SetWarnings False DoCmd.RunSQL "insert into karz (no,nam,datee,maden,gehat,harkt,kf1,fon1,wor1,kf2,fon2,wor2,notesm,notesk1,notesk2) values (tid,comn,tdate,tmaden,comg,th,tk1,tf1,comk1,tk2,tf2,comk2,notm,notk1,notk2)" DoCmd.SetWarnings True MsgBox ("تم ترحيل البيانات بنجاح") tid = "" tdate = "" Tname = "" Tmaden = "" comg = "" Comr = "" tid.SetFocus End If 21 ساعات مضت, ابوخليل said: اعلن عن المتغيرات integr والواجب تكون Db ماذا تقصد ممكن التوضيح اكثر dbi ماهو ؟
ابوخليل قام بنشر فبراير 22 قام بنشر فبراير 22 2 ساعات مضت, العبيدي رعد said: Dim i As Long, x As Long المقصود في المتغيرات : السطر اعلاه في اول مثال لك كان Dim i As Integer, x As Integer والصحيح ان يكون : Dim i As Double, x As Double 2 ساعات مضت, العبيدي رعد said: ماذا تقصد ممكن التوضيح اكثر dbi ماهو ؟ Dbl وليست Dbi اختصار لـــ Double 1
Foksh قام بنشر فبراير 23 قام بنشر فبراير 23 ومشاركة في توضيح الفرق بين نوعي المتغيرات المتغير من نوع Integer لتخزن الأرقام الصحيحة ( بدون أعشار ) ، بينما المتغير من نوع Double يستخدم لتخزين الأرقام العشرية ( بما في ذلك الأعشار ) . 2
Foksh قام بنشر فبراير 25 قام بنشر فبراير 25 أخي @العبيدي رعد ، نود تذكيرك بإغلاق الموضوع ، اذا انتهت مشكلتك في هذا الموضوع ، فقط اختر الإجابة كأفضل إجابة 1
العبيدي رعد قام بنشر فبراير 25 الكاتب قام بنشر فبراير 25 تمت الاجابة وشكرا جزيلا لللاستاذ @Foksh والاستاذ @ابو خليل
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.