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

عدم تكرار البيانات عند الحفظ

بدأه مصطفى_ظيمة في 10 أكتوبر 2009 · 9 رد · 889 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخوانى الأعزاء القائمين على هذا المنتدى .... السلام عليكم ورحمة الله وبركاته

بداية ... اود ان اقدم لكم صادق اعتزازى وتقدير لهذا المنتدى القيم والقائمين عليه

سؤالى يتلخص فى الآتى

فى المثال المرفق تجدون قاعدة بيانات متصلة بفورم عن طريق ado

كل ما اود تعديله فى المثال المرفق

انه عند الضغط على مفتاح الحفظ يحدث الآتى

يتم الاستعلام عن رقم القرار المدخل هل هو موجود أم لا وإذا كان موجود تظهر رسالة تخبرنى بذلك

ثم تظهر رسالة أخرى تخبرنى هل أود الحفظ أم لا وبها ثلاث خيارات

( yes - no - cancel (

فإذا ضغت على لا يتم الحفظ no أو cancel )

وإذا ضغت على yes يتم الحفظ

وإذا ضغطت على مفتاح التعديل على بيانات محفوظة مسبقا .. تحدث نفس الخطوات التى تمت فى عملية الحفظ

ولكم خالص شكرى وتقديرى

أرجو الاهتمام بطلبى وجزاكم الله خيرا

ملحوظة كلمة مرور قاعدة البيانات 517281276

_____________2.rar

#2

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

سبحان الله وبحمده .... سبحان الله العظيم

سبحان الله والحمد لله ولا اله الا الله والله أكبر

NoDublicate.rar

ما زال الرجل عالما طالما يتحري العلم ، فان قال علمت .... فقد جهل

#3

أخى العزيز انا شاكر لك ردك علي ومحاولتك فى معاونتى بس المثال اللى حضرتك أرسلته مش واضح أو أنا مش فاهمه

ارجو معاونتى فى التعديل على المثال المرفق فى بداية طلبى

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

#4

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

أخي الكريم حاسهلهالك خالص كل اللي حاتعمله انك حاتعمل دالة Function

بتختبر بيها الحقل والقيمة اللي حاتدخل فيه هلي هي موجودة من قبل ام لا

Function: Code_Isnot_SavedBefore وهي من نوع BOOLEAN

'Code_Isnot_SavedBefore:

'=========================

'الدالة حاتاخد 3 معاملات

'1- اسم الجدول

'2- اسم الحقل

'3- اسم أداة التكست بوكس التي سيتم ادخال الكود فيها

Public Function FLD_Isnot_SavedBefore(Tbl As String, Fld As String, TXTBox As TextBox) As Boolean

Dim RS As New ADODB.Recordset

If RS.State = 1 Then RS.Close

RS.CursorLocation = adUseClient

RS.Open "SELECT * FROM " & Tbl, CN, adOpenDynamic, adLockOptimistic

RS.Requery

With RS

'عدد السجلات =0

If .RecordCount = 0 Then

FLD_Isnot_SavedBefore = True

If .State = 1 Then .Close

Set RS = Nothing

Exit Function

End If

'áæ ÚÏÏ ÇáÓÌáÇÊ áÇ íÓÇæí 0 - íæÌÏ ÓÌáÇÊ

.MoveFirst

.Find Fld & "=" & Val(Trim(TXTBox.Text))

'Ýí ÍÇáÉ ÚÏã ÊØÇÈÞ ÞíãÉ ÇáÍÞá ãÚ ÞíãÉ ÇáÊßÓÊ ÈæßÓ

If .EOF Then

FLD_Isnot_SavedBefore = True

If .State = 1 Then .Close

Set RS = Nothing

Exit Function

Else

'Ýí ÍÇáÉ ÊØÇÈÞ ÞíãÉ ÇáÍÞá ãÚ ÞíãÉ ÇáÊßÓÊ ÈæßÓ

TXTBox.SelStart = 0

TXTBox.SelLength = Len(TXTBox.Text)

TXTBox.SetFocus

FLD_Isnot_SavedBefore = False

If .State = 1 Then .Close

Set RS = Nothing

Exit Function

End If

End With

End Function

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

أخي الكريم حاسهلهالك خالص كل اللي حاتعمله انك حاتعمل دالة Function

بتختبر بيها الحقل والقيمة اللي حاتدخل فيه هلي هي موجودة من قبل ام لا

Function: Code_Isnot_SavedBefore وهي من نوع BOOLEAN اي

'Code_Isnot_SavedBefore:

'=========================

'الدالة حاتاخد 3 معاملات

'1- اسم الجدول

'2- اسم الحقل

'3- اسم أداة التكست بوكس التي سيتم ادخال الكود فيها

Public Function FLD_Isnot_SavedBefore(Tbl As String, Fld As String, TXTBox As TextBox) As Boolean

Dim RS As New ADODB.Recordset

If RS.State = 1 Then RS.Close

RS.CursorLocation = adUseClient

RS.Open "SELECT * FROM " & Tbl, CN, adOpenDynamic, adLockOptimistic

RS.Requery

With RS

'عدد السجلات =0

If .RecordCount = 0 Then

FLD_Isnot_SavedBefore = True

If .State = 1 Then .Close

Set RS = Nothing

Exit Function

End If

'áæ ÚÏÏ ÇáÓÌáÇÊ áÇ íÓÇæí 0 - íæÌÏ ÓÌáÇÊ

.MoveFirst

.Find Fld & "=" & Val(Trim(TXTBox.Text))

'Ýí ÍÇáÉ ÚÏã ÊØÇÈÞ ÞíãÉ ÇáÍÞá ãÚ ÞíãÉ ÇáÊßÓÊ ÈæßÓ

If .EOF Then

FLD_Isnot_SavedBefore = True

If .State = 1 Then .Close

Set RS = Nothing

Exit Function

Else

'Ýí ÍÇáÉ ÊØÇÈÞ ÞíãÉ ÇáÍÞá ãÚ ÞíãÉ ÇáÊßÓÊ ÈæßÓ

TXTBox.SelStart = 0

TXTBox.SelLength = Len(TXTBox.Text)

TXTBox.SetFocus

FLD_Isnot_SavedBefore = False

If .State = 1 Then .Close

Set RS = Nothing

Exit Function

End If

End With

End Function

ما زال الرجل عالما طالما يتحري العلم ، فان قال علمت .... فقد جهل

#5

أخى الكريم أنا شاكر لك مجهودك ولكن عند تطبيق ما قلت يظهر خطأ عند التنفيذ

ياريت تعدلى المثال اللى أرفقته

ولك الشكر

#6

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

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

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

_____________2.rar

ما زال الرجل عالما طالما يتحري العلم ، فان قال علمت .... فقد جهل

#7

اخى العزيز لم يتم التعديل كما طلبت فى بداية سؤالى

حيث أنه عند الغط على زر الحفظ أو التعديل تظهر الرسالة التى بها خيارات ( نعم - لا - إلغاء ) وعند الضغط على ( لا أو إلغاء ) يستمر الحفظ

ما أريده هو عند الضغط على ( لا أو إلغاء ) لا يتم الحفظ

وجزاك الله خيرا

#8

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

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

ما زال الرجل عالما طالما يتحري العلم ، فان قال علمت .... فقد جهل

#9

لالا مش هوا دا اللى بيحصل

اللى بيحصل انه لما اضغط على زر الحفظ بعد التعديل بيشيك على الرقم وتطلع الرسالة التى بها خيارات ( نعم - لا - إلغاء ) وعند الضغط على ( لا أو إلغاء ) بيحفظ برده حتى فى حالة الضغط على زر إلغاء الحفظ أو زر لا

#10

الحقيقة يا عزيزى انا مش عارف اشكرك إزاى

الحمد لله بعد بعض التعديلات الطفيفة اصبح الكود تمام التمام

انا عاجز عن شكرك

ولا اجد ما اشكرك به سوى قول

جزاك الله خيرا

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

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

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

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

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