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

مشكلة في دالة DLookup

بدأه hassaan100 في 22 مارس 2011 · 16 رد · 1,479 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الأفاضل .. أعاني مشكلة كبيرة أثناء استدعاء دالة DLookup حيث أن الدالة لا تعمل أبدا والسبب في ذلك هو أرتباط الجداول بقاعدة بيانات SQL SERVER ، هل من طريقة لتحويل الدالة أو أي صيغة أخرى تعمل عمل الدالة DLookup ؟

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

#2

أخى الفاضل

المشكلة ليست فى الجداول المرتبطة

فالجدول المرتبط يعامل كالجدول العادى

المشكلة لديك فى صيغة الدالة

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#3

أخي العزيز أبو يوسف

ما تفضلت به كان صحيحا ، أنظر إلى الكود التالي :

Private Sub cmdMoveUp_Click()

Dim strsql, strsql2 As String
Dim ItemID, ItemID2 As String
Dim CP, CP2 As Integer

If Me.MainMenuItems <> "" Then

    ItemID = Me.MainMenuItems
    CP = Me.MainMenuItems.Column(2)

    If CP > 1 Then '

        CP2 = CP - 1
        ItemID2 = DLookup("ID", "TB1", "SortNo = " & CP2)


        strsql = "UPDATE TB1 SET TB1.SortNo = " & CP2 & " WHERE [TB1].[ID] = '" & ItemID & "'"



        strsql2 = "UPDATE TB1 SET TB1.SortNo = " & CP & " WHERE [TB1].[ID] = '" & ItemID2 & "'"


            CurrentDb.Execute strsql
            CurrentDb.Execute strsql2

            Me.MainMenuItems.Requery

    Else

        MsgBox "Cannot move up - already top of list!"
    End If

Else
    MsgBox "Select an Item to Move"
End If

Exit_cmdMoveUp:
Exit Sub

ErrHandler:
MsgBox Error$
Resume Exit_cmdMoveUp
End Sub

أعتقد أن المشكلة في أستدعاء قاعدة البيانات حيث الأمر CurrentDb.Execute strsql يخص قاعدة بيانات أكسس ، هل هناك طريقة لاستدعاء أو للأتصال بقاعدة بيانات sql server

مرفق المثال المطلوب وهو يعمل بشكل ممتاز في حالة إذا كانت القاعدة أكسس ، وعند القيام بتحويل القاعدة إلى sql لا يعمل ...

DB2.rar

وهذا الموضوع من بدايته هنـــــــا

بارك الله فيك

#4

الكود لا يوجد به اى مشاكل

ما الخطأ الذى يظهر لديك

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#5

يظهر الخطأ عند الكود التالي

 ItemID2 = DLookup("ID", "TB1", "SortNo = " & CP2)

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

#6

ماهى رسالة الخطأ

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#7

جرب التعديل البسيط للكود التالي

ItemID2 = DLookup("[iD]", "TB1", "SortNo=" & CP2)اضفت القوسين ( [] ) حول ID

حذفت المسافات في الشرط

إن شاء الله تمشي معك

#8

أخي أبو يوسف الرسالة تظهر على النحو التالي :

post-15170-013611900 1300896109_thumb.jp

post-15170-089025100 1300896349_thumb.jp

أخي عبيدالله ، جربت ما تفضلت به .. ولكن المشكلة لا تزال موجودة ..

حفظكم الله ....

المرفقات
TEST.JPGTEST2.JPG

تم تعديل هذه المشاركة بواسطة hassaan100 في 23 مارس 2011 في 19:06

#9

آسف جدا نسيت ان اضيف قوسين على اسم الحقل في الشرط.. جرب الكود بعد التعديل

 ItemID2 = DLookup("[ID]", "TB1", "[SortNo]=" & CP2)

لأني اعرف أن اسماء الحقول دائما تكون داخل قوسين من هذا النوع: []

#10

أخي العزيز .. نفس المشكلة .. أشكرك على تفاعلك ...

أعتقد أن الدالة Dlookup لا تستدعي قيم الجدول إطلاقا ...

#11

قد يكون الخطأ في أنواع الحقول

قد يكون الحقل SortNo (رقم) و cp2 (نص) مثلا وعند ذلك سيظهر خطأ

جرب واحذف الشرط وشوف النتيجة

#12

أخي الكريم

ان ItemID2 كما هو واضح من الكود هو نص

ام المراد البحث عنه بالدالة dlookup هو رقم

واعتقد ان هذا هو الخطأ

#13

الأخوة الأفاضل ،، أشكركم جزيل الشكر على تفاعلكم حفظكم الله ...

حاليا .. رسالة الخطأ لا تظهر ، ولكن المشكلة لاتزال مكانها ... ، لو تلاحظوا المثال المرفق السابق في المشاركة رقم 3 ستجدوا أن المثال يعمل 100% .. ولكن عند القيام بتغيير الجدول إلى جدول معمول بـ SQL SERVER فإن أي تحديثات تطرأ على النموذج فإنها لا تطرأ فعليا على الجدول المربوط ، مع العلم بأنها تطرأ مباشرة إذا كان الجدول أكسس وليس SQL SERVER ، وأعتقد أن الدالة التالية هي المسئولة عن ذلك :

CurrentDb.Execute strsql
            CurrentDb.Execute strsql2

لا أعرف إذا كان هناك ما يقابل هذه الدالة في حين لو كانت قاعدة البيانات هي SQL SERVER وليست أكسس ...

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

تم تعديل هذه المشاركة بواسطة hassaan100 في 27 مارس 2011 في 08:58

#14

UP

#15

للرفع للأهمية القصوى

#16

أخى الكريم

لا اعرف ما المشكلة لديك

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

و يعمل بشكل عادى و بدون مشاكل

اعتقد ان المشكلة فى الربط بقاعدة البيانات

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#17

أخي الفاضل أبو يوسف ، أعتقد أن مشكلتي هي نفس المشكلة في المشاركة التالية والتي لا أعرف هل وصل الأخ at_aziz إلى حل أم لا !

كود الحفظ لايعمل بعد تحويل الجداول الى SQL

على العموم جاري تجربة ما تفضلتم به في المشاركة السابقة ..

تم تعديل هذه المشاركة بواسطة hassaan100 في 3 أبريل 2011 في 08:52

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