منتديات جريت بلينز العربية Great Plains For Arab

منتديات جريت بلينز العربية Great Plains For Arab (http://www.gp4arab.com/forum/index.php)
-   أدوات التقارير التي لا تنتمي لبرنامج جريت بلينز (http://www.gp4arab.com/forum/forumdisplay.php?f=25)
-   -   معرفة الجداول التي تحتوي على اسم حقل معين في قاعدة البيانات (http://www.gp4arab.com/forum/showthread.php?t=1126)

Monzer Osama 24-Apr-2012 01:40 PM

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

مثلا:
حقل رقم المستند SOP Number(كرقم الفاتورة أو المرتجع ... الخ) والمسمى SOPNUMBE في قواعد البيانات
- كيف يمكنك أن معرفة هذا الحقل بأي الجداول موجود في قاعدة بيانات جريت بلينز؟
الكود التالي يوضح لك النتيجة مباشرة:


كود:

select distinct rtrim(objs.name)
from syscolumns cols
inner join sysobjects objs on (cols.id = objs.id)
inner join sysindexes indx on (cols.id = indx.id)
where (cols.name = 'SOPNUMBE')
 and (objs.xtype = 'U') and (indx.rowcnt <> 0)






النتيجة:
الحقل موجود في الجداول التالية
كود:

-----------------------------
SVC05015
SOP30201
SVC00603
SOP10104
SVC00605
SOP10103
SOP10102
SOP10201
SVC05000
SOP10100
SOP40300
SOP10200
SOP30300
SOP10105
SOP10106
SOP10112
SOP40200
SVC05200
SOP30200
SOP10101

(20 row(s) affected)

- هذا السكريبت يقرأ البيانات دون التعديل على أي من المحتوى
- شغل هذا السكريبت في قاعدة البيانات التي تريد استخراج التقارير منها
- للبحث عن أي قيمة فقط قم باستبدال كلمة 'SOPNUMBE' في المتغير cols.name

أي اسئلة أو مناقشة تطرح هنا...

aser_ezz 02-Jun-2012 03:57 PM

[align=center]هايل يا أستاذ اسامة
شكرا
معنى ذلك ان هذا الجدول
syscolumns
به كل الحقول و مكانها فى أى جدول
شكرا
[/align]

Monzer Osama 02-Jun-2012 08:53 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة aser_ezz (المشاركة 7008)
[align=center]هايل يا أستاذ اسامة
شكرا
معنى ذلك ان هذا الجدول
syscolumns
به كل الحقول و مكانها فى أى جدول
شكرا
[/align]

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

شكرا على مرورك , وبانتظار مشاركتك معنا

ahai 03-Jun-2012 08:44 AM

السلام عليكم,

أستاذ منذر حضرتكم حطيتو الشرط التالي في الكود:

(objs.xtype = 'U')

القيمة 'U' , ماذا تمثل ؟

aser_ezz 03-Jun-2012 12:26 PM

تقصد حضرتك ان الجدول ده اللى عمله الادمين اللى عمل قاعدة البيانات
بس لو انا عملت جدول جديد فاكيد مش هيظهر فى هذا الجدول صح؟

Monzer Osama 03-Jun-2012 04:26 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة ahai (المشاركة 7017)
السلام عليكم,

أستاذ منذر حضرتكم حطيتو الشرط التالي في الكود:

(objs.xtype = 'U')

القيمة 'U' , ماذا تمثل ؟

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

U تدل على أن يجلب النتائج للـ User Table حيث أنه - كما تعلم - يوجد في الـ SQL جداول لقاعدة البيانات نفسها وهي الـ User table ويوجد System Table ويرمز لها بـ "S" وهي من أسمها تدل على معنى استخدامها

أرجو أن أكون قد وُفقت لنقل الفكرة ... وفقك الله

Monzer Osama 03-Jun-2012 04:33 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة aser_ezz (المشاركة 7021)
تقصد حضرتك ان الجدول ده اللى عمله الادمين اللى عمل قاعدة البيانات
بس لو انا عملت جدول جديد فاكيد مش هيظهر فى هذا الجدول صح؟

قطعا سيظهر .....
جرب أن تنشء حقل في في أي جدول وسميه toused

وبعد ذلك شغل الكود التالي:

كود:

select distinct rtrim(objs.name)
from syscolumns cols
inner join sysobjects objs on (cols.id = objs.id)
inner join sysindexes indx on (cols.id = indx.id)
where (cols.name = 'toused')
 and (objs.xtype = 'U') and (indx.rowcnt <> 0)

ستجد أنه يظهر لك اسم الجدول الذي يحتوي على الحقل toused

aser_ezz 04-Jun-2012 11:59 AM

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

aser_ezz 04-Jun-2012 04:06 PM

استفسار
 
برجاء الافادة
عاوز اضيف فيلد الديسكربشن بجانب فيلد الكود فى شاشة المبيعات
transaction
sales
sales transaction entry
و دخلت على
modify this window
بس لقيت الجزء الخاص بالاصناف block و كانه object
ازاى ممكن اعدل هذا الجزء
و شكرا


جميع الأوقات بتوقيت GMT +3. الساعة الآن 05:47 AM.

Powered by vBulletin® Version 3.8.3

الموقع والمنتدى من تطوير » شركة المنذر للاستضافة والتصميم


الموقع لا يمثل أي جهة رسمية بل هو جهد شخصي يرمي الى تجميع القدرات في برنامج جريت بلينز