الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لمن يستخدمون مكتبة DAO للوصول الى قاعدة البيانات

مغلق
بدأه MesoOo في 22 مارس 2005 · 10 رد · 992 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اخواني الكرام

لدي برنامج استعنت فيه بمكتبة Microsoft DAO 3.15 Project Library

لانشاء قاعدة بيانات بواسطة برنامج الآكسس

لكن ظهر لي خطا عندما اضغط على زر التعديل Edit في الفورم2 OpenDB

حيث لا يقبل السطر التالي :

RS.Update

وباقي البرنامج تمام ولا في اي مشاكل

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

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

vb_DAO.rar

#2

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته ..

الخطأ يكمن في السطرين قبل السطر الذي ظهر فيه الخطأ .

لأنه لا يسمح بإضافة قيمة فارغة إلى الحقلين itemPRICE1 و itemPRICE2

وهناك عدة حلول ، ومنها إضافة جملة الشرط IF للتأكد من أنه قد تم إدخال قيمة أما إذا لم يجد قيمة فإنه يترك الحقل دون أي تعديل .

والكود قبل التعديل :

    rs("itemPRICE1") = Form2.Text2
    rs("itemPRICE2") = Form2.Text3

والكود بعد التعديل :

    If Not Form2.Text2.Text = vbNullString Then rs("itemPRICE1") = Form2.Text2
    If Not Form2.Text3.Text = vbNullString Then rs("itemPRICE2") = Form2.Text3

ملاحظة : يوجد في البرنامج بعض الأخطاء الأخرى مثل تكرار القيم في الحقل الرئيسي .

سبحان الله وبحمده ... سبحان الله العظيم

#3

المبرمج احمد الموقـــر

طبقت ماذكرت الا انه لا تزال المشكلة قائمة

حيث ظهر لي المسج المرفق

كما اتمنى ان تخبرني عن باقي الاخطاء التي واجهتها

وجزاك الله كل الخير

post-42060-1111531486_thumb.jpg

#4

السلام عليكم ورحمة الله وبركاتة

أرجوا ان يكون هذا ماتريده

vb_DAO.zip

{يَا أَيُّهَا النَّاسُ اتَّقُوا رَبَّكُمْ إِنَّ زَلْزَلَةَ السَّاعَةِ شَيْءٌ عَظِيمٌ }الحج1

#5

بارك الله فيك استاذي الكريم / shearer

لكن صار كل مااضغط اكر التعديل Edit يقولي يجب كتاب الخانة الاولى

مدري اي خانة تقصد ؟

وحتى لما اكتب الــ item_code ما يطلع السجل كامل مثل ماابي

مايسوي شي يعني كل الحقول فاضية

شكلي تعبتك بس فعلا البرنامج يجنن العاقل !!

تم تعديل هذه المشاركة بواسطة MesoOo في 24 مارس 2005 في 19:26

#6

اخ MesoOo

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

db1 على أنها ترمز لقاعدة البيانات و

rs على أنها ترمز لسجلات

وانت في الاصل لم تقم بتعريفها كما يلي

Dim db1 As Database
Dim rs As Recordset

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

لم تحدد طريقة لأستدعائها كما يلي

:blink:

طريقة الاتصال بالقاعدة

Set ws1 = DBEngine.Workspaces(0)
Set db1 = ws1.OpenDatabase(path

فتح الجدول

Set rs = db1.OpenRecordset("items", dbOpenTable)

لاستدعاء البيانات عليك أستخدام ازرار التنقل بين السجلات أو جمل الاستعلام كما يلي

هنا سيتم استدعاء البيانات بواسطة جملة استعلام وعن طريق الحقل itemCODE

Dim x As String
x = InputBox("please enter the itemCODE of the record you want to edit")
If x = "" Then Exit Sub
'جملة الاستعلام التي ستجلب البيانات من القاعدة
Set rs = db1.OpenRecordset("select * from items where itemCODE = '" & x & "'") ' الانتقال لسجل برقم الكود
If rs.RecordCount > 0 Then
Text1 = rs.Fields(0)
Text2 = rs.Fields(1)
Text3 = rs.Fields(2)
Command5.Visible = True
Command3.Visible = False
Else
MsgBox "لا توجد سجلات بهذا لرقم"
Command3.Visible = True
Command5.Visible = False
Exit Sub
End If

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

rs.Edit
rs.Fields(0) = Trim(Text1)
rs.Fields(1) = Trim(Text2)
rs.Fields(2) = Trim(Text3)
rs.Update

تحياتي :rolleyes:

vb_DAO.rar

تم تعديل هذه المشاركة بواسطة HnHn في 25 مارس 2005 في 05:42

سجل ايميلك هنا

googlejb5.gif ليصلك كل ما هو مفيد في عالم البرمجة
#7

السلام عليكم ورحمة الله وبركاتة

أخى الفاضل يجب قبل التعديل كتابة Itemcode على الأقل إذا كنت تريد ان تكون كل الخانات مليئة يمكنك السير على نفس خطوات Itemcode ثم بعد ذلك ثم تحدد ماال item code الذى ستجرى التعديل علية

فالخلاصة انت تكتب البيانات اولا ثم تحدد المكان الذى سوف يتم تعديل بياناته مع البيانات المكتوبة هذا مافهم من مطلبك

{يَا أَيُّهَا النَّاسُ اتَّقُوا رَبَّكُمْ إِنَّ زَلْزَلَةَ السَّاعَةِ شَيْءٌ عَظِيمٌ }الحج1

#8

اشكرك استاذي HnHn على شرحك الوافي

ممكن اعرف ماهي وظيفة الدالة

Trim () ??

ايضا مامعنى الاسطر التالية :

a = App.path
If Right$(a, 1) <> "\" Then a = a & "\"
a = a + path + ".mdb"
If Dir$(a) = "" Then
MsgBox "ÇáãáÝ ÇáãÍÏÏ ÛíÑ ãæÌæÏ", vbCritical + vbMsgBoxRtlReading, "ÎØÃ"
Exit Sub
End If

وجزاكم الله كل الخير

#9

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته ...

أخي العزيز :: MesoOo ::

وظيفة الدالة Trim هي حذف المسافات الزائدة من بداية ونهاية النص .

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

سبحان الله وبحمده ... سبحان الله العظيم

#10

اشكر المبرمج أحمد على هذا التوضيح

تقبلوا تحياتي

سجل ايميلك هنا

googlejb5.gif ليصلك كل ما هو مفيد في عالم البرمجة
#11

الله يجزيكم كل الخير يارب لا عدمناكم

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…