اذهب الي المحتوي
أوفيسنا

كود حذف اكثر من حقل


عفرنس
إذهب إلى أفضل إجابة Solved by jjafferr,

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

أنشأت استعلام الحذف وعملت كود تشغيل الاستعلام وحددت الحقول التي اريد حذفها . 

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

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

في استعلام الحذف ضع كلمة true  في المعيار اسغل الحقل الذي يحدد السجلات المراذ حذفها عندك 

Capture.PNG

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

30 دقائق مضت, jjafferr said:

وعليكم السلام 🙂 

 

اسمح لي بتعديل في هذا المفهوم :

  • يمكن حذف سجل ، وليس حقل ،
  • ويمكن تحديث حقل / حقول.

 

جعفر

احسنت .. 

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

46 دقائق مضت, jjafferr said:

اسمح لي بتعديل في هذا المفهوم :

  • يمكن حذف سجل ، وليس حقل ،
  • ويمكن تحديث حقل / حقول.

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

اما لحذف حقل من الجدول ولايمكن التراجع فيكون عن طريق

Dim strDrop As String
    strDrop = "ALTER TABLE  tbl1  DROP COLUMN test "
    CurrentDb.Execute strDrop, dbFailOnError

وللعادة الحقل يكون عن طريق الدخول على تصميم الجدول واعادة تعريفة او عن طريق الكود وفي جميع الاحول وداعا للبيانات المحذوفة

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

8 دقائق مضت, kha9009lid said:

اما لحذف حقل من الجدول ولايمكن التراجع فيكون عن طريق

كود لحذف حقل من الجدول 

لا حول ولا قوة الا باللة  

وحوش الاكواد 

:Rules:

وحدة وحدة يا معلم

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

24 دقائق مضت, ازهر عبد العزيز said:

ا حول ولا قوة الا باللة  

ياهلا ابا عبد العزيز

لاعادة الحقل عن طريق الكود

CurrentDb.Execute "ALTER TABLE tbl1 ADD COLUMN test text(100)", dbFailOnError

لاحظ حددنا نوعة نصي وحجمة 100 حرف ويمكن تحديد اي نوع من انواع الحقول

مثلا حقل رقمي حجمة ونوع تنسيقة الخ او تاريخ ووقت والتنسيق وهكذا

اخي فايز اعتذر عن التطفل على موضوعك ولكن تحمست بزيادة

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

23 دقائق مضت, kha9009lid said:

ياهلا ابا عبد العزيز

لاعادة الحقل عن طريق الكود


CurrentDb.Execute "ALTER TABLE tbl1 ADD COLUMN test text(100)", dbFailOnError

لاحظ حددنا نوعة نصي وحجمة 100 حرف ويمكن تحديد اي نوع من انواع الحقول

مثلا حقل رقمي حجمة ونوع تنسيقة الخ او تاريخ ووقت والتنسيق وهكذا

اخي فايز اعتذر عن التطفل على موضوعك ولكن تحمست بزيادة

بالعكس نستفيد منكم ومن درركم .. 

ولعلك تتحفنا في مطلبنا 

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

@kha9009lid @jjafferr 

اذا كان الجدول يحتوي على 10 حقول .. وأردت حذف بيانات 8 حقول فقط فهل هذا ممكن ؟؟ 

طبعا الجدول يحتوي على 200 سجل تقريبا 

فأنا أريد بزر أمر حذف البيانات الموجودة في الحقول من 1الى8 فقط 

احاول ايصال ما أقصده في أصل الموضوع بطريقة أخرى ..

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

بالاضافة الى ما تفضل به الاخوة ولهم الشكر

7 ساعات مضت, فايز.. said:

اذا كان الجدول يحتوي على 10 حقول .. وأردت حذف بيانات 8 حقول فقط فهل هذا ممكن ؟؟ 

هل تقصد

اذا كان السجل  يحتوي على 10 حقول واردت تحديث بيانات 8 حقول فقط فهل هذا ممكن ؟؟

ضع 2 مربع نص في النموذج لتحديد من / الى txtFrom ، txtTo

ثم استخدم الكود التالي لتفريغ قيمة الحقول المحددة

    Dim mySQL As String
    Dim rst As Recordset
    Dim i As Double
    
    If IsNull([txtFrom]) Or IsNull([txtTo]) Then
        MsgBox "اختر من / الى اولا", vbCritical, "اوفيسنا"
		DoCmd.GoToControl "txtFrom"
    Else
   
        mySQL = "Select * From tbl1"
        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst

            For i = Me.txtFrom To Me.txtTo
                rst.Edit
                rst(i) = Null
                rst.Update
            Next

        Me.Requery
    End If

 

تحياتي

DbTest.rar

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

 

8 ساعات مضت, فايز.. said:

احاول ايصال ما أقصده في أصل الموضوع بطريقة أخرى ..

 

ضع مثال واحد ، ويوضح كل شيء !!

 

 

8 ساعات مضت, فايز.. said:

اذا كان الجدول يحتوي على 10 حقول .. وأردت حذف بيانات 8 حقول فقط فهل هذا ممكن ؟؟ 

طبعا الجدول يحتوي على 200 سجل تقريبا 

فأنا أريد بزر أمر حذف البيانات الموجودة في الحقول من 1الى8 فقط

  1. ابسط طريقة هي عمل استعلام تحديث ،
  2. في سطر "تحديث الى" ، اكتب Null ، يعني ستقوم بتحديث بيانات الحقل الى Null (ومع ان القيمة Null لا يُنصح بإستعمالها لتحديث الحقول بوجه عام ، ولكن القيمة Null هي القيمة الوحيدة التي يمكن استخدامها في جميع انواع الحقول ، من نص او رقم او تاريخ او ... ، وخصوصا لبرنامجك) ،
  3. اكتب كلمة التحديث لكل حقل تريد (يعني اكتب Null لكل حقل تريد تحديثه) ،
  4. اكتب معيار تحديث البيانات ، ففي الصورة المرفقة انا سأقوم بتحديث بيانات جميع سجلات الحقول ادناه من الجدول Table ، الى Null ، ماعدا الحقلين phone و email ، والحقل City لجميعها يحتوي على المعلومة "مسقط" ،
  5. بهذه الطريقة يمكنك تحديث تقريبا بيانات جميع الحقول ، غير انه بعض الحقول لا يمكن تحديث بياناتها ، مثل حقل الترقيم التلقائي .

 

image.png.ad2566efe88f06b2240f0e756315c8d0.png

 

جعفر

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

الان, فايز.. said:

@jjafferr تفضل .. 

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

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

2 ساعات مضت, محمد أبوعبدالله said:

بالاضافة الى ما تفضل به الاخوة ولهم الشكر

هل تقصد

اذا كان السجل  يحتوي على 10 حقول واردت تحديث بيانات 8 حقول فقط فهل هذا ممكن ؟؟

ضع 2 مربع نص في النموذج لتحديد من / الى txtFrom ، txtTo

ثم استخدم الكود التالي لتفريغ قيمة الحقول المحددة


    Dim mySQL As String
    Dim rst As Recordset
    Dim i As Double
    
    If IsNull([txtFrom]) Or IsNull([txtTo]) Then
        MsgBox "اختر من / الى اولا", vbCritical, "اوفيسنا"
		DoCmd.GoToControl "txtFrom"
    Else
   
        mySQL = "Select * From tbl1"
        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst

            For i = Me.txtFrom To Me.txtTo
                rst.Edit
                rst(i) = Null
                rst.Update
            Next

        Me.Requery
    End If

 

تحياتي

DbTest.rar 26.34 kB · 1 download

أخي @محمد أبوعبدالله 

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

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

11 دقائق مضت, jjafferr said:

استاذ فايز ، ليش تعاقبنا وما تخبرنا اي تفاصيل!!

 

اعتذر ان كان هناك شيء غير موضح .. 

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

للأسف أخ @jjafferr لا استطيع اضافة الرد عن طريق الكمبيوتر .. فأنا اكتب الرد من خلال الجوال .. 

لا أعلم ما الذي حصل بعد تحديث المنتدى .. ولا ادري هل المشكلة في المتصفح عندي ( كروم ) ام في جهازي ام في عقلي 😣😣 

الذي متاح لي من خلال الكمبيوتر اضافة المرفق فقط .. 

لذلك اضفت المرفق من الكمبيوتر وكتبت الردود من الجوال .. 

عموما :  ارجو ان اكون اوصلت لكم فكرتي ومطلبي .. 

ان تيسرت وإلا ( ما على المحسنين من سبيل ) شكر الله سعيكم جميعا .. 

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

36 دقائق مضت, فايز.. said:

للأسف أخ @jjafferr لا استطيع اضافة الرد عن طريق الكمبيوتر .. فأنا اكتب الرد من خلال الجوال .. 

لا أعلم ما الذي حصل بعد تحديث المنتدى .. ولا ادري هل المشكلة في المتصفح عندي ( كروم ) ام في جهازي ام في عقلي 😣😣 

الذي متاح لي من خلال الكمبيوتر اضافة المرفق فقط .. 

لذلك اضفت المرفق من الكمبيوتر وكتبت الردود من الجوال ..

 

تم ارسال مشكلة المشاركة الى 

.

 

37 دقائق مضت, فايز.. said:

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

اي جدول ؟

الجدول الوحيد اللي فيه مسار الصور هو st_sch ، فالظاهر ان كلامك عنه ، صح ؟

والحقلين اللي تريد ان تُبقي بياناتهم هي: ImageID و ImagePassport ، صح ؟

وبعدين لما تستورد بيانات جديدة ، يجب ان تعمل استعلام "تحديث" لهذا الجدول ، ولما تعمل تحديث ، يجب ان نعرف هذه الصور لأي طالب ؟؟ ، لذا بالاضافة الى حقلي الصور ، يجب ان نُبقي حقل "رقم هوية الطالب" حتى يكون الربط به !!!

الموضوع بهذه الطريقة يكون متشعب ، وبرمجته تكون غير مباشرة وووو 😞

 

الطريقة الصحيحة هي ان تعمل جدول خاص لـ"بيانات الطالب" التي لا تتغير ، مثل رقم الهوية ، والصور ، وووو ،

وتُبقي بقية الجداول مثل ما هي عليه ، متغيره بإستمرار حسب استيراد البيانات ،

وفي الاستعلام تعمل علاقة بين جدول بيانات الطالب وبين جدول الاستيراد ، وتربط الجدولين عن طريق "رقم الهوية" ، وتضيف بقية البيانات في الاستعلام 🙂

 

جعفر

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

34 دقائق مضت, jjafferr said:

الجدول الوحيد اللي فيه مسار الصور هو st_sch ، فالظاهر ان كلامك عنه ، صح

صح .. 

35 دقائق مضت, jjafferr said:

والحقلين اللي تريد ان تُبقي بياناتهم هي: ImageID و ImagePassport ، صح ؟

صحيح 

 

36 دقائق مضت, jjafferr said:

الطريقة الصحيحة هي ان تعمل جدول خاص لـ"بيانات الطالب" التي لا تتغير ، مثل رقم الهوية ، والصور ، وووو

سأطبق هذه الطريقة .. وأرى النتيجة ومن ثم اوافيك بالنتيجة بإذن الله تعالى.. 

ابو عبدالرحمن.. 

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

ffff.rar

الان, فايز.. said:

إليك يا مولانا @jjafferr 🌹🌹

حاولت اطبق ما قلت لي .. ولكني حصلت على شهادة الرسوب بامتياز . 😣😣😣

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

  • أفضل إجابة

تفضل يا سيدي 🙂

 

عملت لك جدول tbl_Student_info ،

بينما استعلام qry_Student_info يجمع الجدول السابق مع جدول الجدول الجديد :

image.png.dfd13d83a22482458f9ec98573d9822a.png

.

ولما تريد تستعمل النماذج او التقارير ، استعمل الاستعلام qry_Student_info كمصدر بيانات لها ،

بس رجاء الانتباه ، تأكد ان اسماء الطلبة موجودة ف الجدول tbl_Student_info ، والا فإنها لن تظهر في الاستعلام 🙂

 

جعفر

‏‏StuData.zip

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

30 دقائق مضت, jjafferr said:

تفضل يا سيدي 🙂

 

عملت لك جدول tbl_Student_info ،

بينما استعلام qry_Student_info يجمع الجدول السابق مع جدول الجدول الجديد :

image.png.dfd13d83a22482458f9ec98573d9822a.png

.

ولما تريد تستعمل النماذج او التقارير ، استعمل الاستعلام qry_Student_info كمصدر بيانات لها ،

بس رجاء الانتباه ، تأكد ان اسماء الطلبة موجودة ف الجدول tbl_Student_info ، والا فإنها لن تظهر في الاستعلام 🙂

 

جعفر

‏‏StuData.zip 621.79 kB · 1 download

شكر الله لك .. 

تم استيراد بيانات 194 طالبا 

لكن في الجدول الذي اضفته انت لا يوجد طلاب  . ولما اردت اضافة صورة للطالب من خلال نموذج frmdata تظهر هذه الرسالة 

لا يمكنك تخصيص قيمة لهذا الكائن 

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

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