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

مشكلة بعد التحويل من أكسس الى اس كيو ال

مغلق
بدأه Ashraf_k_s في 16 فبراير 2006 · 6 رد · 667 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة أعضاء المنتدى

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

أقوم بتحويل قاعدة بيانات اكسس الى اس كيو ال

وكنت أستخدم جملة الإستعلام التالية مع أكسس

SQL = "SELECT IIf(InStr([membership_no],'/')>0, Val(Right([membership_no], Len([membership_no])-InStr([membership_no],'/'))), Val([membership_no])) AS m_sort from movement"

ولكنها لا تعمل مع اس كيو ال

أرجو تصحيح الخطأ

وشكرا جزيلا

أخوكم

أشرف الشباسي

تم تعديل هذه المشاركة بواسطة walcom في 17 فبراير 2006 في 11:14

#2

InStr و Val و Right و Len من تعليمات الـ Sql أم من تعليمات الفيجوال بيسك .!!!!! :blink:

أخوك عماد ..

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#3

السلام عليكم :

بصراحة أنا أريد أن أنصحك بأمر و هو أن تستخدم الدالة التالية التي توفرها SqlServer وهي :

OPENROWSET ( 'provider_name' 
    , { 'datasource'; 'user_id'; 'password' 
        | 'provider_string' } 
    , { [ catalog. ] [ schema. ] object 
        | 'query' } 
    )

وفي Transact Help سوف تجد كلام كثير عنها و هذا أول الخيط ..

هذه الدالة بصراحة عظيمة فإذا كان عندك مثلاً جدولين أحدهما في قاعدة الأكسس والأخرى في الـ SqlServer يمتلكان نفس التصميم فيمكنك أن تقدم لهذه الدالة المزود (محرك قاعدة البيانات أكسس) و اسم الجدول لتحصل على سجلات الجدول

فتكتب للحصول على السجلات جدول الأكسس , طبعاً ضمن خاصية الـ CommandText للـ SqlCommand :

SqlCommad.commandText = 

"SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
   'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd'   ,  [Table]) "

ولنقل البيانات من جدول الأكسس إلى جدول قاعدة البيانات SqlServer يكفي أن تستخدم العبارة : Insert على النحو التالي :

SqlCommad.commandText = 

"Insert Into SqlDataBase..Table SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
   'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd'   ,  [Table]) "

طبعاً يشترط أن يكون الجدولين لهما نفس التصميم ...

عماد .. B) B)

تم تعديل هذه المشاركة بواسطة imadouzoun في 17 فبراير 2006 في 04:01

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#4

الأخ الكريم عماد

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

شكرا على اهتمامك بالموضوع وسوف أقوم بتوضيح ما أريد بالضبط

الموضوع عبارة عن برنامج يعمل بفيجوال بيسك6 مع قاعدة بيانات أكسيس

طلب مني تطويره ليعمل على اس كيو ال نظرا لأن حجم الجداول كبير

فهي تتعامل مع 160 الف موظف بالإضافة الى أن كل موظف له تسديدات شهرية

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

والذي يتم كتابة الرقم بالشكل التالي 123/1256 مثلا

فجملة الإستعلام هذه تبحث عن العلامة / فإن وجدتها تقوم بأخذ الرقم الذي يليها

في مثالنا هذا 1256

أما ان كان الرقم 456 مثلا بدون / فتقوم بوضع الرقم 456

أما فائدة جملة الإستعلام هي وضع الناتج في فلكس جريد فقط وليس في جدول

إذن فما فائدة أن يكون هناك قاعدة بيانات اكسيس طالما أنني قمت بتحويها الى اس كيو ال

أرجو أن تقوم بعمل قاعدة بيانات أكسس وتعمل جدول movement

وبه الحقل membership_no وتضع قيم كما أوضحت

وتختبر جملة الأستعلام فستجد أنها تعمل

والسؤال كيف يمكنني تعديل جملة الإستعلام هذه لتعمل مع قاعدة بيانات اس كيو ال

وشكرا مرة أخرى على أهتمامك

وأرجو أن يشترك الأخ walcom في هذا الموضوع لأنني استفدت منه كثيرا في السابق

وكذلك الأخ الكريم طارق ابراهيم

أشرف الشباسي

#6

شكرا جزيلا للإخوة الذين شاركوا لإزالة الغموض عن جملة الإستعلام

وقد قمت بالإستفادة من الموضوع الذى أرشدني اليه الأخ WALCOM

وهذه هي جملة الإستعلام بعد التعديل

select (case
when patindex('%/%', [membership_no]) > 0 
then substring([membership_no],
patindex('%/%', [membership_no]) + 1,
len([membership_no]))
when patindex('%/%', [membership_no]) = 0 
then [membership_no] end)
m_sort from person

وأرجو أن يتكرم الأخ WALCOM بإدراج

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

في جمل الإستعلام sql

تم تعديل هذه المشاركة بواسطة walcom في 20 فبراير 2006 في 13:53

#7

حمدلله على السلامة يا اشرف :)

بالنسبة للكتاب، راجع الموضوع المثبت مصادر تعليمية للSQL Server

فكر بطريقة أخرى

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

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

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

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

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

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