فهد الدوسري قام بنشر نوفمبر 2, 2003 قام بنشر نوفمبر 2, 2003 أحبائي .. السلام عليكم لدي مربعي نص في النموذج الأول باسم tt1 والثاني باسم tt2 ولدي زري أمر الأول ( نسخ) والثاني ( لصق) أريد عندما أضغط على الزر ( نسخ ) أن يقوم بنسخ النص الذي في المربع tt1 وعندما أضغط الزر ( لصق) يقوم بلصق الكلام المنسوخ في المربع tt2 أرجو أن يكون السؤال واضح :d وللجميع خالص تحياتي 1
أحمد الحربي قام بنشر نوفمبر 2, 2003 قام بنشر نوفمبر 2, 2003 تحياتي استاذنا فهد : هذا حل وربما لدى الإخوان حل آخر للنسخ : Me.tt1.SetFocus DoCmd.RunCommand acCmdCopy للصق : Me.tt2.SetFocus DoCmd.RunCommand acCmdPaste 1
فهد الدوسري قام بنشر نوفمبر 2, 2003 الكاتب قام بنشر نوفمبر 2, 2003 أستاذي أحمد الحربي فعلاً حل ناجح لك مني وافر الشكر والعرفان وللجميع تحياتي
محمد طاهر عرفه قام بنشر نوفمبر 2, 2003 قام بنشر نوفمبر 2, 2003 هذا مثال للتعامل مع الحافظة قام بتعريبه الاخ فيصل الحربي clipboard_faisal.rar 1
حاكم قام بنشر نوفمبر 3, 2003 قام بنشر نوفمبر 3, 2003 شكراً لك أخي أحمد ولكن ماذا لو أردنا نسخ أكثر من حقل دفعة واحدة لنفرض 10 حقول ثم نفتح نموذج آخر به 10 حقول ونلصقها . بمعنى لو لدي معلومات لشخص ما وأردت نسخها في نموذج آخر بنفس الحقول والخصائص .
حاكم قام بنشر نوفمبر 4, 2003 قام بنشر نوفمبر 4, 2003 وجدت الحل بوضع هذا الكود على زر أمر وهذا الكود يأتي مع زر المعالج عند الرغبة بتكرار سجل ولكني قمت بتجزئته حسب الحاجة فقط . كالتالي بالنسبة للنسخ DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70 وبالنسبة للصق كما يلي DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70
حاكم قام بنشر نوفمبر 4, 2003 قام بنشر نوفمبر 4, 2003 السلام عليكم ورحمة الله وبركاته قمت بإستخدام كود معرفة الرقم المكرر وإظهار بياناته ومن ثم نسخ البيانات ولصقها في نموذج الإضافة حسب رغبة المستخدم . ولكن عند لصق البيانات تظهر مرة أخرى الرسالة الخاصة بتكرار الرقم . ما أريده هو كيفية تجاهل أو عدم ظهور رسالة تكرار الرقم في حالة الرغبة بلصق البيانات على أن تبقى منشطه في حالة الإدخال الأولية . حيث أن عملية اللصق تتم عن طريق زر أمر بالكود التالي DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70
محمد طاهر عرفه قام بنشر نوفمبر 5, 2003 قام بنشر نوفمبر 5, 2003 اذا أردت نسخ سجل بالكامل فلا أفضل استخدام استدعاء أوامر القوائم و لكن يتم ذلك بال dao أو ال ado هذا مثال لنسخ السجل الموجود فى النموذج الي سجل جديد مع تغيير الترقيم باضافة 1 و هو يحتاج الي اضافة مرجع dao و يتم فيه نسخ السجل فى النموذج الحالي و اضافة سجل و فتح النموذج علي السجل الجديد Private Sub copyRec_Click() Dim MYDB As Database, MYSET1 As Recordset Set MYDB = CurrentDb() Set MYSET1 = MYDB.OpenRecordset("Query-or-Tablename") MYSET1.AddNew Dim n As Long n = DMax("inID", "Query-or-Tablename") + 1 MYSET1![ID] = n MYSET1![Field1] = Me![TextBox1] MYSET1![Field2] = Me![TextBox2] MYSET1![Field3] = Me![TextBox3] MYSET1![Field4] = Me![TextBox4] MYSET1.Update MYSET1.Close Set MYDB = Nothing DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 MsgBox " Copy Record Data Completed into record no. :" & Str(n), 64, "Alert" Dim stLinkCriteria As String stLinkCriteria = "[ID]=" & n DoCmd.OpenForm "Formname", , , stLinkCriteria End Sub 2
حاكم قام بنشر نوفمبر 5, 2003 قام بنشر نوفمبر 5, 2003 أستاذي محمد طاهر سأجرب هذا الكود الذي وضعته فلك الشكر . بقي لدي تساؤل هل يتم إستدعاء أوامر القوائم (dao) بهذا الكود ؟؟ وماذا عن تعطيل كود من خلال كود آخر ! هل يمكن عمل ذلك ؟
محمد طاهر عرفه قام بنشر نوفمبر 5, 2003 قام بنشر نوفمبر 5, 2003 انا استخدمت اومرالقوائم فقط فى حفظ السجل و بالنسبة لتعطيل الكود لم أفهم السؤال المطروح مع تحياتي
حاكم قام بنشر نوفمبر 6, 2003 قام بنشر نوفمبر 6, 2003 شكراً لك أستاذي وأعتذر عن عدم إجادتي في صياغة السؤال فسأحاول أن أوصل ما أريد لدي قاعد بيانات يتم فيها تسجيل الأشخاص بالرقم الشخصي كمفتاح أساسي لكل شخص بحيث أن هذا الرقم لا يمكن تكراره لشخصين بينما قد تتغير بيانات الشخص الواحد كرقم الهاتف أو العنوان في كل سجل وأنا أريد الإحتفاظ بالمعلومات القديمه . المهم أن حقل الرقم هذا هو أول ما يتم تعبئته من قبل المستخدم لإضافة البيانات فإذا سبق وأن تكرر هذا الرقم تظهر رسالة تفيد بذلك وتنتقل بالمستخدم لنموذج آخر به المعلومات الخاصة بصاحب الرقم وللمستخدم الخيار في إستخدام نفس البيانات وذلك بنسخها ولصقها في النموذج الأول ومن ثم تعديلها بناء على ما إستجد من معلومات كرقم الهاتف والعنوان . في عملية اللصق تتكرر الرسالة بأن هذا الرقم مسجل من قبل ويتم الإنتقال للنموذج وأنا هنا لا أريد أن تظهر هذه الرسالة عند عملية اللصق فقد سبق وأن إطلع المستخدم على بيانات الشخص عند كتابة الرقم الشخصي أول مرة . أتمنى أن يتم تعطيل كود الرسالة عند عملية اللصق فقط .
محمد طاهر عرفه قام بنشر نوفمبر 6, 2003 قام بنشر نوفمبر 6, 2003 الكود الذي ذكرت هو لل Paste Append و لانشاء الكود يكنك استخدام معالج انشاء االازرار و من مجموعة Record نختار نسخ السجلات و سبب الرسالة هو عدم امكانية حفظ السجل نتيجة لوجود قيمة مكررة أو أكثر بعد النسخ ، و مطلوب تسجيلها فى حقل غير مسموح بالتكرار فيه و لايقاف الرسالة الي حين تعديل تلك القيمة اوقف اظهار الرسائل On Error GoTo Err_Command4_Click DoCmd.SetWarnings False DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append DoCmd.SetWarnings True Exit_Command4_Click: Exit Sub Err_Command4_Click: MsgBox Err.Description Resume Exit_Command4_Click و لكن لابد من تعديل القيم الغير مسموح بتكرارها قبل الانتقال للسجل التالي أو الخروج و ما أراه هو استخدام الطريقة السابق ذكرها لنسخ السجل و ليس هذه الطريقة . حيث أن طريقة نسخ و لصق السجل تكون أكثر مناسبة فى حال عدم وجود حقول بها قيم فريدة و هذا وضع نادر
حاكم قام بنشر نوفمبر 7, 2003 قام بنشر نوفمبر 7, 2003 شكراً لك أستاذي محمد بالنسبة لقيمة حقل الرقم فأنا لا أرغب بأكثر من التنبيه فقط . اما بالنسبة للتكرار فهو بالنسبة للبرنامج متاح مع تغير القيمه في حقل آخر ( هنا لا توجد لدي مشكله ) والرسالة لا تعني أكثر من إيضاح تكرار الرقم وليس منع التكرار هذا بناء على الغرض من البرنامج . فأعتقد أن الكود الذي وضعته أخيراً يفي بالغرض وسوف أقوم يتجربته .
حاكم قام بنشر نوفمبر 7, 2003 قام بنشر نوفمبر 7, 2003 أخي محمد للأسف لم يمنع هذا الكود ظهور الرسالة عند عملية اللصق وهذا هو الكود الذي يظهر الرسالة بتكرار الرقم وهو ما أريد إيقافه عند اللصق Private Sub nkind_AfterUpdate() If (Eval("DLookUp(""[nkind]"",""[personal]"",""[nkind] =form![nkind]"") Is Not Null")) Then Beep MsgBox "هذا الرقم تم تسجيله من قبل ؟ هل تريد مشاهدة الرقم المسجل مسبقاً والإطلاع على البيانات" DoCmd.CancelEvent stDocName = "datepers" stLinkCriteria = "[nkind]=" & "'" & Me![nkind] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria 'Forms![personal_subform]![nkind] = Null End If SendKeys "{f2}", False End Sub
محمد طاهر عرفه قام بنشر نوفمبر 8, 2003 قام بنشر نوفمبر 8, 2003 لم أفهم ما دخل الكود الذي أضفته بالموضوع ؟؟
حاكم قام بنشر نوفمبر 9, 2003 قام بنشر نوفمبر 9, 2003 حسناً أخي محمد . يبدو أنني مثل من بعد طول جهد فسر الماء بالماءِ . عزيزي حقل الرقم الشخصي المبني عليه الرسالة مسموح بالتكرار فيه و لايوجد مشكله . الكود السابق يقوم بعرض رسالة تفيد بتكرار الرقم الذي أدخله المستخدم وتنتقل لفتح نموذج آخر على نفس الرقم المكرر لعرض بياناته ( هذا في حال التكرار فقط ) . أعلم أنك لم تعني الاستفسار عن عمل الكود بالضبط ولكن لماذا هو هنا !!! هذا هو الكود الذي أريد إيقاف عمله عند عملية اللصق .
محمد طاهر عرفه قام بنشر نوفمبر 9, 2003 قام بنشر نوفمبر 9, 2003 ما المشكلة فى حذف كل هذا الكود ؟؟ اما اذا اردت تنفيذ الانتقال و حذف الرسالة فقط فاحذف السطر الذي يبدأ ب Msgbox
حاكم قام بنشر نوفمبر 11, 2003 قام بنشر نوفمبر 11, 2003 أخي محمد أريد بمعنى أدق تجميد عمل الكود نهائياً عند عملية اللصق . فهذا الكود مفعل عند تحديث حقل الرقم الشخصي وهذه العملية ( أي تحديث حقل الرقم الشخصي ) تتكرر بعد عملية اللصق حيث سيتم لصق البيانات في جميع الحقول ومن ضمنها حقل الرقم الشخصي . وهنا تظهر الرسالة ويتم الإنتقال للنموذج الذي قام بفرز الرقم المدخل . عزيزي هل يوجد أو يمكن عمل كود تتم إضافته لزر الأمر (اللصق) ويتم من خلاله تجميد الكود الخاص بالرقم الشخصي عند تحديثه . فأنا لا أريد حذف كود الحقل الشخصي نهائياً بل أريده للتنبيه والإشعار فقط لا غير وذلك عند التحديث ولا أريده عند اللصق .
محمد طاهر عرفه قام بنشر نوفمبر 12, 2003 قام بنشر نوفمبر 12, 2003 ربما يكون مناسبا أن تضع مربع نص مخفي مثلا و تجعل قيمته = 1 أو ـن تعرف متغير عام فى النموذج و تجعل قيمته = 1 و تجعل كود التحديث للحقل يعمل بشرط ان مربع النص هذا = 1 و قبل اللصق تغير قيمته الي صفر و تعدلها الي 1 بعد اللصق
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.