الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[تنبيه - عنوان غير مناسب : ]برنامج سيفقدني عمل

بدأه يوسف دايت في 19 مارس 2008 · 5 رد · 645 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الإخوة الإعزاء هذه المشكلة الغريبة التي تحدث معي ولا اجد لها أي تفسير

البرنامج بسيط وهو يقوم بتسجيل بيانات المريض

في نافذة سجلات المرضي يمكن تحرير وحذف وعمل سجل جديد

وحتي هنا لا يوجد مشكلة والبرنامج كان تمام وبدون اي مشاكل

علما بأن كود المريض هو رقم فريد غير قابل للتكرار

ويتم تسجيل المريض الجديد بكود جديد بطريقة آلية ليس للمستخدم أي دخل فيها

وما حدث معي هو أنني حاولت إدخال بيانات سجل جديد وحدثت الكارثة آخر سجل كان رقمه 13

والبرنامج يعطي المريض الجديد الرقم 13 وتكرار الكود ممنوع وعليه يحدث خطأ ويتوقف البرنامج

أرجو ممن يحاول المساعدة ان يفتح النافذة الام للبرنامج ويختار منها سجلات المرضي المنومين

ثم يحاول إدخال سجل جديد بالضغط علي مفتاح سجل جديد وسيري ما يحدث

وشكرا للأخ Ala2 VB والإخ MMA_EG_CAIROعلي محاولتهم مساعدتي ولكني لم أتمكن من إرفاق المثال

وقد أرسلت المثال بعد حذف معظم النمادج لتوفير المساحة

ولكم جزيل الشكر

________.zip

#2

اسلم طريقه في حالتك هذي واسلوبك هذا التالي :

if rs.RecordCount = 0 Then
   Text1.Text = 1
else
  sql = "Select MAX(ptcode) From patient"
  If rs.State = adStateOpen Then rs.Close
  rs.Open sql, db, adOpenDynamic, adLockOptimistic
 Text1.Text = rs(0) + 1
End If

  sql = "Select * From patient"
  If rs.State = adStateOpen Then rs.Close
  rs.Open sql, db, adOpenDynamic, adLockOptimistic

rs.AddNew
	rs![ptcode] = Text1
	rs![Name] = Text2
	rs![Add] = Text3
	rs![datein] = Date
	rs![phon] = Text5
	rs![gender] = Text6
	rs![MStatus] = Text7
	rs![age] = Text8
	rs![GREMARKS] = Text9
	rs![category] = Text10
	rs![CLASSIFICATION] = Text11
rs.Update

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#3

الأخ الغالي ( يوسف دايت ) ، كيف حالك اليوم ، يارب دايماً تكون بخير ،

الأخ الكريم ، أنا نظرت الي الكود وجدت شيء لم أتوقعة وهو

أولاً ، أنت تذهب الي السجل الأخير rs.MoveLast ومن ثم جلب آخر رقم كودي كما يلي :

Rs.MoveLast
Text1.Text = rs("ptcode") + 1

لو تتبعت الكود خطوة خطوة ووقفت علي

rs("ptcode")

ستعلم أنه يرتجع رقم 12 وليس 13 والسبب في ذلك هو أنك أرسلت جملة إستعلام مباشرتاً كما يلي :

Select * From patient

ولكن أخي الصحيح أنك تجلب البيانات مع الترتيب بجمل SQL كما يلي :

Select * From patient Order By ptCode

بحيث أن يكون آخر سجل هو آخر رقم !!!

علي العموم أنا عدلت لك جزء المشكلة ( في النموذج addinpatient في حدث Form_Load ) ، لكنني أري هذا الخطأ في أكثر من جزء ( معزرتاً ) فحاول تعدل هذه الأجزاء

لكن أخي هناك طريقة أفضل من ذلك وهي أن تنفذ عملية الترقيم التلقائي بجملة SQL كما يلي :

SELECT IIF(Max(patient.ptcode) Is Null,0,Max(patient.ptcode)) + 1
FROM patient;

أو كما يلي :

Rs.Open "Select Max(patient.ptcode) From patient",Cn
If(Rs.RecordCount = 0)Then
	Text1.Text = 1
Else
	Text1.Text = Rs(0) + 1
End If

شكراً أخي ، وبالتوفيق

Project.rar

تم تعديل هذه المشاركة بواسطة MMA_EG_Cairo في 20 مارس 2008 في 12:48

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#4

أخي الكريم مصطفي جزاك الله كل خير وليس بمستغرب ان تكون سباقا في المساعدة كعادتك ألف شكر وأدامك الله دوما في رقي

#5

العنوان غير مناسب

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

سجل ايميلك هنا

googlejb5.gif ليصلك كل ما هو مفيد في عالم البرمجة
#6

ممكن طريقة اسهل وهي ان تجعل نوع الحقل في قاعدة البيانات AutoNumber وسيقوم باضافة رقم تلقائياً

مع كل عملية اضافة

و السلام عليكم ورحمه الله وبركاته

مع تحيات : عبدالرحمن نورالله
بيلار الدولية للتكنولوجيا لتصميم وأستضافة مواقع الأنترنت ، شركة مسجلة في المملكة الاردنية الهاشمية

أستضافة مواقع (Website Hosting) ابتداء من 35دينار اردني (50$) سنوي 962799247524+ أضغط هنا

logo.png

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…