lyla قام بنشر أبريل 14, 2004 قام بنشر أبريل 14, 2004 هل أستطيع أن أمنع أدخال الأسم مرتين لنفس تاريخ اليوم فقط. قرأت عن هذا الموضوع: http://www.officena.net/ib/index.php?showtopic=1724 وطبقت المثال لكن يوجد به بعض النواقص . فالذي أريده أن يعطي مدخلة البيانات في خاصية أن هذا الأسم متكرر في نفس تاريخ اليوم ولا يمكن الأحتفاظ بهذا السجل . مثال على المطلوب: http://www.geocities.com/art_rtu/db10.zip
امير عاطف قام بنشر أبريل 14, 2004 قام بنشر أبريل 14, 2004 حل مبسط اولاً: يتم عمل حقلي الاسم والتاريخ مفتاح اساسي Primary Key اي مفتاح مركب وطريقة عمله تجديها بالرابط التالي: http://www.officena.net/ib/index.php?showt...=261&hl=primary ثانياً: يتم وضع الكود التالي داخل النموذج الذي تريدي ان تظهر به الرسالة: بوضع الكود التالي عن حدث الخطأ On Error للنموذج Private Sub Form_Error(DataErr As Integer, Response As Integer) Dim DATAERRCONTINUE Select Case DataErr Case Is = 3022 MsgBox "تم تكرار التاريخ والاسم" Response = DATAERRCONTINUE End Select End Sub
lyla قام بنشر أبريل 15, 2004 الكاتب قام بنشر أبريل 15, 2004 ألف شكر أخ أمير طبقت ماقلت وكل شي تمام يعطيك العافية
فتى الوادي قام بنشر أبريل 17, 2004 قام بنشر أبريل 17, 2004 السلام عليكم فيه كود آخر لكن غير مبسط :pp: If (Eval("DLookUp(""[txtnum]"",""[t_data]"",""[txtnum] =form![txtnum]and [txtdate] =form![txtdate]"") Is Not Null")) Then Dim txt2 As Variant Dim txt3 As Variant Dim txt4 As Variant txt2 = DLookup("[txtnum]", "t_data", "[txtnum]=[forms]![f_data]![txtnum]and [txtdate] =form![txtdate]") txt3 = DLookup("[txtdate]", "t_data", "[txtdate]=[forms]![f_data]![txtdate]and [txtdate] =form![txtdate]") txt4 = DFirst("[recnum]", "t_data", "[txtnum]=[forms]![f_data]![txtnum]and [txtdate] =form![txtdate]") Beep MsgBox "سبق لك أن أدخلت التعميم رقم: " & txt2 _ & " في تاريخ: " _ & Format(txt3, "dd/mmmm/yyyy") _ & " وقد سجل برقم: " & txt4 _ & vbCrLf & " ... لا يمكن تسجيل هذا التعميم" _ , vbExclamation, "مدقق التعاميم" Me.Undo DoCmd.GoToControl "txtcin" txttxt = 0 Else End If مع ملاحظة تغيير اسماء النموذج والجدول والحقول حتى يتناسب مع مطلوبك ..
lyla قام بنشر أبريل 18, 2004 الكاتب قام بنشر أبريل 18, 2004 شكرا فتى الوادي الله يخليك صار عندي طريقتين الحمداللة من أمير ومنك
WinMaster قام بنشر أبريل 18, 2004 قام بنشر أبريل 18, 2004 السلام عليكم اذا لم تريدي عمل مفتاح مركب اذا الكود المعمول بالقاعدة يعمل اللازم مجرد طرح افكار لا اكثر تحياتي Dim Cnn As New ADODB.Connection Dim RstCheck As New ADODB.Recordset Dim x As Integer Set Cnn = CurrentProject.Connection RstCheck.Open "Select * FROM Table1 Where Date = #" & txtDate.Value & "#;", Cnn, adOpenStatic For x = 0 To RstCheck.RecordCount - 1 If RstCheck.Fields("Name") = cmbName.Value Then MsgBox "ÊÖÇÑÈ ÇáÇÓã ãÚ ÇáÊÇÑíÎ ", vbExclamation, "Error" cmbName.SetFocus Me.Undo End If If Not RstCheck.EOF = True Or Not RstCheck.BOF = True Then RstCheck.MoveNext End If Next __________.rar
lyla قام بنشر أبريل 19, 2004 الكاتب قام بنشر أبريل 19, 2004 حركة حلوة : معنى كذه من الممكن جعل 4 حقول مركبة . أنت عارف من خصائص الحقول في تصميم قاعدة البيانات أنه فقط يعطي حقلين فقط لعمل مفتاح مركب . وعن طريق الكود هذا ممكن التحكم في حقلين آخرين . بجرب وشوف (y)
WinMaster قام بنشر أبريل 19, 2004 قام بنشر أبريل 19, 2004 لم افهم قصدك بالحقول المركبة وعمل الكود بس لي كلمة في هذا الموضوع تعتبر المفاتيح المركبة سمه ضعيفة في قواعد البيانات الا للضرورة مثلا في مثالك لا تستطيع اضافة نفس الاسم مع نفس التاريخ مرتين ماشي الحال لكن تصور ان يكون المفتاح من ثلاث حقول مركبة؟ هنا تبدا كل انواع المشاكل بالنسبة لفحص ادخال البيانات اي ان لو اختلاف بسيط في احد الحقول ممكن يقبل على انه مفتاح . عموما انا دائما اعمل المفتاح من حقل واحد او اثنين على الاكثر وباقي الفحوصات اقوم بعملها بالكود لتفادي الاخطاء. مجرد راي لا اكثر تحياتي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.