تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
افراغ كامل
#1
السلام عليكم

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

حيث الكود rs.delete

مع حلقة التكرار لم ينجح
الرد }}}}
تم الشكر بواسطة:
#2
السلام عليكم...

asto كتب :مطلوب كود افراغ قاعدة بيانات بدون معرفة عدد السجلات

حيث الكود rs.delete

مع حلقة التكرار لم ينجح

و أيضاً غير عملي مع عدد كبير من السجلات و قد يؤدي إلى توقف البرنامج عن العمل.

الطريقة الصحيحة هي استعمال جملة DELETE مع ADO Command لحذف كافة السجلات:
كود :
Dim ADOCmd As ADODB.Command
'
    Set ADOCmd = New ADODB.Command
    ADOCmd.CommandType = adCmdText
    ADOCmd.ActiveConnection = AConnection
    ADOCmd.CommandText = "DELETE FROM table_name"
    ADOCmd.Execute

حيث table_name هو اسم الجدول الذي تريد إفراغه.

و AConnection في السطر ADOCmd.ActiveConnection = AConnection هو إما كائن ADODB.Connection معرف و مفتوح سابقاً، أو ConnectionString.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة:
#3
ناجي إبراهيم كتب :السلام عليكم...



و أيضاً غير عملي مع عدد كبير من السجلات و قد يؤدي إلى توقف البرنامج عن العمل.

الطريقة الصحيحة هي استعمال جملة DELETE مع ADO Command لحذف كافة السجلات:
كود :
Dim ADOCmd As ADODB.Command
'
    Set ADOCmd = New ADODB.Command
    ADOCmd.CommandType = adCmdText
    ADOCmd.ActiveConnection = AConnection
    ADOCmd.CommandText = "DELETE FROM table_name"
    ADOCmd.Execute

حيث table_name هو اسم الجدول الذي تريد إفراغه.

و AConnection في السطر ADOCmd.ActiveConnection = AConnection هو إما كائن ADODB.Connection معرف و مفتوح سابقاً، أو ConnectionString.

نرجو الاستفادة و السلام.

مشكور بس معليش اطلب شرح اكثر مرة واحدة لافهم اكثر

اذا انا انشأت زر كوماند

وضعت فيه :
كود :
Set Db = DBEngine.OpenDatabase(App.Path & "\db2.mdb")
Set Rs = Db.OpenRecordset("table", 1)
فما هي التغييرات التي يجب عملها في هذا الكود
:
كود :
Dim ADOCmd As ADODB.Command
'
    Set ADOCmd = New ADODB.Command
    ADOCmd.CommandType = adCmdText
    ADOCmd.ActiveConnection = AConnection
    ADOCmd.CommandText = "DELETE FROM table_name"
    ADOCmd.Execute
الرد }}}}
تم الشكر بواسطة:
#4
السلام عليكم...

كنت أعتقد أنك تستعمل مكونات ADODB.

بما أنك تستعمل مكونات DAO فإن الكود يكون كالتالي:
كود :
Set DB = DBEngine.OpenDatabase(App.Path & "\db2.mdb")
    DB.Execute "DELETE FROM table"

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة:
#5
ناجي إبراهيم كتب :السلام عليكم...

كنت أعتقد أنك تستعمل مكونات ADODB.

بما أنك تستعمل مكونات DAO فإن الكود يكون كالتالي:
كود :
Set DB = DBEngine.OpenDatabase(App.Path & "\db2.mdb")
    DB.Execute "DELETE FROM table"

نرجو الاستفادة و السلام.

مشكور اخ ناجي
شـــايـفـــك

الرد }}}}
تم الشكر بواسطة:
#6
ناجي إبراهيم كتب :السلام عليكم...

كنت أعتقد أنك تستعمل مكونات ADODB.

بما أنك تستعمل مكونات DAO فإن الكود يكون كالتالي:
كود :
Set DB = DBEngine.OpenDatabase(App.Path & "\db2.mdb")
    DB.Execute "DELETE FROM table"

نرجو الاستفادة و السلام.

عم يقول البرنامج :خطأ في بناء الجملة في جزء من from
الرد }}}}
تم الشكر بواسطة:
#7
asto كتب :عم يقول البرنامج :خطأ في بناء الجملة في جزء من from

مشي الحال

الحل هو بكتابة اسم الجدول ضمن []
الرد }}}}
تم الشكر بواسطة:
#8
افضل شئ رفع المشروع اخي لان الكود بتاع الاخ ناجي صحيح 100%

بالتوفيق
الرد }}}}
تم الشكر بواسطة:
#9
السلام عليكم...

السبب هو أن كلمة TABLE محجوزة في لغة SQL كما في جمل مثل CREATE TABLE و DROP TABLE. و الحل - غير الأمثل - هو بوضع مثل هذه التسميات - عندما نسمي بها كائناً - هو وضعها بين أقواس مربعة [ ... ] أما الحل الأمثل - و الذي أتبعه و أنصح به دائماً - فهو عدم استخدام كلمات مثل هذه في تسمية الجداول و الحقول و الفهارس (مثلاً Table أو Nmae أو Date أو ما يشبهها من الكلمات التي قد يكون لها معنى خاص عند محرك قواعد البيانات). حاول دائماً تسمية الجداول و الحقول بأسماء تدل على محتواها، مثلاً Customers لجدول الزبائن، أو Suppliers لجدول الموردين، أو Students لجدول الطلبة... إلخ.

الشكر للصديقين القديمين "الليث" و "أحمد عبد العليم". أرجو من الله أن تكون أخباركما جيدة.

بالتوفيق و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة:


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم