اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

نسخ سجل من جدول الى اخر مع امكانية التعديل على حقل معين


الردود الموصى بها

السلام عليكم 

ارفق قاعدة بيانات تم كتابة الكود الخاص بها من قبل الاستاذ المبدع ابو ياسين المشولي المحترم

حيث تقوم فكرة القاعدة عند كتابة رقم سجل في مربع (Text0) وعند الضغط على زر (نقل) يقوم بنسخ السجل من جدول (Students) الى جدول (Team) مع ابقاء السجل الاصلي .

ما احتاجه هو عند نقل السجل يضهر مربع ادخال من خلاله استطيع تغيير حقل واحد محدد كان يكون حقل (tel) ثم نسخه الى جدول (Team) مع ابقاء السجل الاصلي في جدول (Students) بدون تغيير .

وشكرا

 

test25.rar

رابط هذا التعليق
شارك

شكرا اخي على هذا الاطراء

حسب فهمي لسوال اتفضل طلبك

هذا هو الكود

DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Team ( ID, Fullname, tel, Degree, class ) " & vbCrLf & _
"SELECT Students.ID, Students.Fullname, [ادخل رقم التلفون] AS Expr1, Students.Degree, Students.class " & vbCrLf & _
"FROM Students " & vbCrLf & _
"WHERE (((Students.ID)=[Forms]![Form]![Text0]));"
DoCmd.SetWarnings True
Me.Text0 = ""

 

test25.rar

تم تعديل بواسطه ابو ياسين المشولي
  • Thanks 1
رابط هذا التعليق
شارك

السلام عليكم استاذ ابو ياسين المشولي المحترم

وهو المطلوب جعلها الله في ميزان حسناتك ورفعك درجة فوق درجتك .

لكن هل يمكن جعل التعديل اجباري لان في الحالة اعلاه يمكنك الضغط على زر (ok) وبدون كتابة رقم الهاتف الجديد فيقوم بعملية نسخ القيد وترك حقل الهاتف فارغ .

اريد ان اجعله لزاما عملية الادخال .

وشكرا

رابط هذا التعليق
شارك

اتفضل اخي النهر العطشان

DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Team ( ID, Fullname, tel, Degree, class ) " & vbCrLf & _
"SELECT Students.ID, Students.Fullname, [ادخل رقم التلفون] AS Expr1, Students.Degree, Students.class " & vbCrLf & _
"FROM Students " & vbCrLf & _
"WHERE (((Students.ID)=[Forms]![Form]![Text0]) AND (([ادخل رقم التلفون]) Is Not Null));"
DoCmd.SetWarnings True
Me.Text0 = ""

 

  • Thanks 1
رابط هذا التعليق
شارك

هل هذا يصلح معك

احذف الكود الاول

والصق هذا

On Error GoTo MyErr
If Me.Text0 = "" Then
MsgBox "  يجب ادخال رقم  ", vbInformation, " رسـالـه  "
Else
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Team ( ID, Fullname, tel, Degree, class ) " & vbCrLf & _
"SELECT Students.ID, Students.Fullname, [ادخل رقم التلفون] AS Expr1, Students.Degree, Students.class " & vbCrLf & _
"FROM Students " & vbCrLf & _
"WHERE (((Students.ID)=[Forms]![Form]![Text0]) AND (([اعاده رقم التلفون ])=[ادخل رقم التلفون]));"
MsgBox "  تـم الـنـسـخ بـنـجـاح ", 48, " رساله :  "
Exit Sub
MyErr:
MsgBox "  لم يتم النسخ يجب ادخال رقم التلفون ", vbInformation, " رسـالـه  "
DoCmd.SetWarnings True
Me.Text0 = ""
End If

 

رابط هذا التعليق
شارك

استاذي الفاضل ابو ياسين المشولي المحترم

تم تجربة الكود وعند كتابة رقم الهاتف يتكرر طلب ادخال رقم الهاتف .

ما احتاجه انه عند ادخال رقم الهاتف اول مرة يتم نقل السجل فقط وتنتهي عملية النسخ بدون تكرار طلب ادخال رقم الهاتف .

اما اذا تم ترك الحق فارغ وتم الضغط على زر (ok) فتبقى تتكرر رسالة ادخال رقم الهاتف الى يتم كتابة رقم الهاتف او الضغط على زر (cancel).

لك كل الاحترام وشكرا

test30.rar

تم تعديل بواسطه النهر العطشان
ارفاق ملف
رابط هذا التعليق
شارك

12 ساعات مضت, النهر العطشان said:

استاذي الفاضل ابو ياسين المشولي المحترم

تم تجربة الكود وعند كتابة رقم الهاتف يتكرر طلب ادخال رقم الهاتف .

ما احتاجه انه عند ادخال رقم الهاتف اول مرة يتم نقل السجل فقط وتنتهي عملية النسخ بدون تكرار طلب ادخال رقم الهاتف .

اما اذا تم ترك الحق فارغ وتم الضغط على زر (ok) فتبقى تتكرر رسالة ادخال رقم الهاتف الى يتم كتابة رقم الهاتف او الضغط على زر (cancel).

لك كل الاحترام وشكرا

test30.rar

اخي الكريم اعتذر عن تنفيذ طلبك

ليس لدي فكرة في تكرار الرساله في حال عدم الادخال

 

رابط هذا التعليق
شارك

السلام عليكم

هل ممكن فضلا تغيير لغة الادخال لمربع تغيير الحقل الى لغة عربية بدون اللجوء الى الكيبورد وتغيير اعلى الرسالة الى تنبيه وكما بالصوره .

وشكرا

 

7777.JPG

test35.rar

رابط هذا التعليق
شارك

21 ساعات مضت, النهر العطشان said:

للرفع

اتفضل هذا طلبك الاول اعاده طلب ادخال الرقم

وطلبك الاخير

الاثنين معا

دعوه صالحه تكفي

 

abo yaseen.accdb

  • Thanks 2
رابط هذا التعليق
شارك

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

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

استاذي الفاضل بقت لغة الادخال لمربع تغيير الحقل الى لغة عربية بدون اللجوء الى الكيبورد .

وشكرا

8888.jpg

test36.accdb

  • Like 1
رابط هذا التعليق
شارك

8 ساعات مضت, النهر العطشان said:

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

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

استاذي الفاضل بقت لغة الادخال لمربع تغيير الحقل الى لغة عربية بدون اللجوء الى الكيبورد .

وشكرا

8888.jpg

test36.accdb

اتفضل وهذا عربي

تم استخدام هذا الكود

Option Compare Database
'Option Explicit
Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
Private Sub Command2_Click()
On Error Resume Next
DoCmd.SetWarnings False
LoadKeyboardLayout "00000401", 1
retry:
TempVars.Add "xv", InputBox(Space(5) & " ادخـل رقـم الـتـلـفـون ", Space(5) & " تنبيه")
If TempVars!xv = "" Then
If MsgBox("  يـجـب ادخـال رقـم الـتـلـفـون  ", vbInformation + vbRetryCancel, "تنبيه") & Space(50) = vbRetry Then GoTo retry
Exit Sub
Else
 MsgBox "تـم الـنـسـخ بـنـجـاح ", vbInformation + vbOKOnly, Space(10) & "تنبيه" & Space(10)
 End If
DoCmd.RunSQL "INSERT INTO Team ( ID, Fullname, tel, Degree, class ) " & vbCrLf & _
"SELECT Students.ID, Students.Fullname, [TempVars]![xv] AS Expr1, Students.Degree, Students.class " & vbCrLf & _
"FROM Students " & vbCrLf & _
"WHERE (((Students.ID)=[Forms]![Form]![Text0]) AND (([TempVars]![xv])IS NOT NULL));"
DoCmd.SetWarnings True
Me.Text0 = ""
End Sub

 

test36 (1).accdb

تم تعديل بواسطه ابو ياسين المشولي
  • Thanks 3
رابط هذا التعليق
شارك

الان, النهر العطشان said:

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

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

وهو المطلوب

بالتوفيق اخي بارك الله فيك

الحمد لله انه طلع المطلوب

  • Thanks 1
رابط هذا التعليق
شارك

السلام عليكم استاذنا ابو ياسين المشولي المحترم

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

ويضهر لنا مربع الادخال واحد بعد الاخر .

رابط هذا التعليق
شارك

2 ساعات مضت, النهر العطشان said:

السلام عليكم استاذنا ابو ياسين المشولي المحترم

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

ويضهر لنا مربع الادخال واحد بعد الاخر .

اتفضل

On Error Resume Next
DoCmd.SetWarnings False
LoadKeyboardLayout "00000401", 1
retry:
TempVars.Add "xv", InputBox(Space(5) & " ادخـل رقـم الـتـلـفـون ", Space(5) & " تنبيه")
If TempVars!xv = "" Then
If MsgBox("  يـجـب ادخـال رقـم الـتـلـفـون  ", vbInformation + vbRetryCancel, "تنبيه") & Space(50) = vbRetry Then GoTo retry
Exit Sub
Else
TempVars.Add "mv", InputBox(Space(5) & " ادخـل الـمـعـدل ", Space(5) & " تنبيه")
If TempVars!mv = "" Then
If MsgBox("  يـجـب ادخـال الـمـعـدل  ", vbInformation + vbRetryCancel, "تنبيه") & Space(50) = vbRetry Then GoTo retry
Exit Sub
Else
 MsgBox "تـم الـنـسـخ بـنـجـاح ", vbInformation + vbOKOnly, Space(10) & "تنبيه" & Space(10)
 End If
 End If
DoCmd.RunSQL "INSERT INTO Team ( ID, Fullname, tel, class,Degree ) " & vbCrLf & _
"SELECT Students.ID, Students.Fullname, [TempVars]![xv] AS Expr1, Students.class, [TempVars]![mv] AS Expr2 " & vbCrLf & _
"FROM Students " & vbCrLf & _
"WHERE (((Students.ID)=[Forms]![Form]![Text0]) AND (([TempVars]![xv])IS NOT NULL));"
DoCmd.SetWarnings True
Me.Text0 = ""
End Sub

 

  • Thanks 1
رابط هذا التعليق
شارك

19 دقائق مضت, النهر العطشان said:

شكر وتقدير وكل الاحترام الى الاستاذ ابو ياسين المشولي 

كود في قمة الروعه جعلها الله في ميزان حسناته ورفعه الله درجه فوق درجته .

وهو المطلوب .

بارك الله فيك اخي

رابط هذا التعليق
شارك

استاذي الفاضل هل تكرمت علينا بعلمك فتعاونك معنا جعلنا نطمع ان نستفيد منك اكثر.

هل يمكن ان يكون مربع الادخال الثاني عباره عن اختيارات للجدول (classroom) .

ولك جزيل الشكر والتقدير

1.jpg

2.JPG

رابط هذا التعليق
شارك

38 دقائق مضت, النهر العطشان said:

استاذي الفاضل هل تكرمت علينا بعلمك فتعاونك معنا جعلنا نطمع ان نستفيد منك اكثر.

هل يمكن ان يكون مربع الادخال الثاني عباره عن اختيارات للجدول (classroom) .

ولك جزيل الشكر والتقدير

1.jpg

2.JPG

 ليس لدي خبرة ان الحق من جدولين

لعل احد الاخوة الخبراء من سوف يقوم بذلك

تم تعديل بواسطه ابو ياسين المشولي
  • Like 1
رابط هذا التعليق
شارك

مع الشكر  للاستاذ ابو ياسين ، خبرة في التفصيل ، فهو  اعطى حلول رائعة حسب طلب السائل

الفكرة من البداية غير صحيحة ، ودائما اعقب على مثل هذه المشاركات

ولا اعلم  كيف تنتقل هذه الافكار  للتطبيق على قواعد البيانات

قاعدة : 

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

كيف يتم التعامل معها  ؟ 

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

مثل 1- حقل  نعم/ لا  لاظهار السجل من عدمه

      2- حقل لادراج السنة ( من اجل التصفية مستقبلا )

      3- حقل  كذا  من اجل كذا ........ وهكذا

هذه الطريقة اقوى واشمل وتجعل جميع الاحداث ضمن دائرة واحدة  ومن خصائصها اختصار الكائنات داخل المشروع

اتمنى ان يكون الشرح واضح ومفهوم

اي شخص  يتعامل مع فكرة القص والنسخ والترحيل ، سيذكر كلامي هذا عندما يعمل على قواعد كبيرة كــ sql مثلا

في حالاات ضيقة يمكن اللجوء الى ترحيل النتائج النهائية في جداول جديدة منفصلة عن المشروع وتطبيقاته وهي لا تبعد كثيرا عن التصدير الى ملفات اكسل ، وتختلف الحاجة الى هذه العمليات من مشروع الى آخر

 

احبتي انا اكتب للفائدة العامة ولمن يمر من هنا

فلربما صاحب السؤال قد شارف على نهاية مشروعه

 

  • Thanks 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information