PDA

View Full Version : استفاده از دیتا گرید



parisa_vb
جمعه 27 اردیبهشت 1387, 12:26 عصر
سلام می خواستم بپرسم چطور می تونم از دیتا گرید در اکسس استفاده کنم..کسی می تونه آموزش استفاده از دیتا گرید رو در اکسس بذاره....من فقط می خواستم نتایج حاصل از جستجو رو در گرید قرار بدم...ممنون

payman_xxp
جمعه 27 اردیبهشت 1387, 12:55 عصر
دستور جستجوی خودتون ( select) رو به RecordSource فرم انتقال بدین.
فرم هم باید فیلدهای مورد نظرتون و داشته باشه.

parisa_vb
جمعه 27 اردیبهشت 1387, 21:59 عصر
چطور باید نتایج رو در دیتا گرید نشون بدم....من طریقه ارتباط دادن با دیتاگرید رو نمی دونم

payman_xxp
شنبه 28 اردیبهشت 1387, 00:58 صبح
با ایجاد فرم جدید از table ی که میخواهید، هر فیلدی که مد نظر دارید از field table روی فرم drag کنید.
تا اینجا فرم شما تمام فیلدهای جدول مورد نظر شما رو در حالت form View توی dataGrid نشون میده، درسته!؟
حالا اگه دقت کنید recordSource فرم شما در حالت formDesign نام جدول مورد نظرتون و داره، درسته!؟
حالا وقتشه دستور select خودتونو چه بصورت دستی و یا کدنویسی به recordSource فرم انتقال بدین
بهمین راحتی...
فرم شما دیگه نیازی به conection و dataSet و dataTable و .... نداره و نتایج جستجو بطور کامل نمایش داده میشه.

shaghaghi
شنبه 28 اردیبهشت 1387, 06:48 صبح
سلام
به دلیل مشکلات و محدودیت های خاص دیتا گرید پیشنهاد می کنم از همان اول کار، سراغ کامپوننت لینک زیر بروید. کار با آن بسیار ساده است و امکانات آن هم وسیع تر می باشد
مثالی از برنامه ی اکسس هم در پوشه ی نصب برنامه وجود دارد که طریقه ی اتصال را آموزش می دهد
http://barnamenevis.org/forum/showpost.php?p=501349&postcount=187

hamed2661
شنبه 28 اردیبهشت 1387, 09:47 صبح
دوست عزيز ممنون از لينكي كه دادين و زحمتي كه كشيدين. امكانش هست يه توضيح زير سيكل هم واسه استفاده از اين كنترلهايي كه محبت كردين بدين؟

mohammadsaleh
شنبه 28 اردیبهشت 1387, 14:26 عصر
آيا از حروف فارسي پشتيباني مي كنه يا خير ؟ امكان right to left داره يا نه ؟

parisa_vb
یک شنبه 29 اردیبهشت 1387, 09:23 صبح
میشه خواهش کنم یه نمونه واسم بذارین که توش از دیتاگرید استفاده شده باشه....

hamed2661
یک شنبه 29 اردیبهشت 1387, 12:34 عصر
میشه خواهش کنم یه نمونه واسم بذارین که توش از دیتاگرید استفاده شده باشه....

دوست عزيز اصرار شما چيه كه حتما از ديتا گريد استفاده كنين؟ مگه كارتون با ساب فرم راه نميوفته؟

shaghaghi
یک شنبه 29 اردیبهشت 1387, 13:25 عصر
دوست عزيز ممنون از لينكي كه دادين و زحمتي كه كشيدين. امكانش هست يه توضيح زير سيكل هم واسه استفاده از اين كنترلهايي كه محبت كردين بدين؟
سلام
کار با این ابزار بسیار راحته. پیشنهاد می کنم اون رو دانلود کنید. با دیدن مثالهاش روش کار روشن میشه
از آنجایی که کاربری و امکانات این ابزار وسیعه برای افراد مبتدی طریقه ساخت نمونه ی ساده ای رو با حداقل امکانات توضیح می دهم.
باقی امکانات در مثالهای برنامه قابل یادگیری است
ابتدا این ابزار را بر روی فرم مربوطه قرار می دهید . در پنجره ی Properties این ابزار وارد بخش Columns می شوید عنوان و نام فیلدهایتان را تعریف می کنید (اگر فونت عنوان های فارسی مبهم نمایش داده می شود توجه نکنید زمان اجرا اصلاح می شود) حال در رخداد Form_Load فرمتان، مجموعه رکورد دلخواهتان را مشخص کنید


Dim grobject As GridEX
Dim Rs As Recordset
Me.GridEXControl.Font="tahoma"
Set grobject = Me.GridEXControl.Object
Set Rs = CurrentDb.OpenRecordset("select * from Products Where ... ")
'setting the recordset from this db
grobject.HoldFields
Set grobject.Recordset = Rs




آيا از حروف فارسي پشتيباني مي كنه يا خير ؟ امكان right to left داره يا نه ؟

از حروف فارسی پشتیبانی میکند اما Right to Left ندارد

mohammadsaleh
یک شنبه 29 اردیبهشت 1387, 15:11 عصر
http://www.barnamenevis.org/forum/images/icons/icon5.gif
اولا از مبحثي كه مطرح كرديد صميمانه تشكر مي كنم و اميدوارم دوستان با ورود به اين مبحث اونو تكميل كنند.
از وقتي بحث ديتا گريد تو اين تايپيك مطرح شد تا نوشتن اين مطلب ساعتها وقتم رو صرف استفاده از اون كردم . حقيقتش اينه كه من از اون خيلي خوشم اومد. و اميدوارم سئوال هاي كه مي كنم بتونم جوابشو پيدا كنم.

1- فرض كنيم بانك اطلاعاتي ما يك انديكاتور ثبت نامه است و ما مي خواهيم نامه هاي مربوط به يك اسم رو پيدا كنيم . براي اينكار يك فرم درست مي كنيم با يك تكست باكس و يك پرسش كه تو قسمت معيار اون به تكس باكس فرم اشاره شده و حالا مي خواهيم با نوشتن اسم و فشار يك دكمه فرمي كه حاوي ديتاگريد هست و منبع اش پرسشي است كه اشاره كردم را باز كنيم . من اين كار رو كردم متاسفانه جواب نداد . too many parameter... پيغام اون بود .

سئوال اينجاست كه اولا چطوري يك پرسش رو به فرم وصل كنم كه پارامترهاي پرسش رو خودم تعيين كرده باشم . مثل تعيين اسم در بالا ؟

2- حالا فرض مي كنيم به مقصود فوق رسيديم . يعني تونستيم اطلاعات رو فيلتر كنيم
حالا چطور ميشه با كليك برروي هر رديف تصوير نامه مربوط به اسم شخص رو مشاهده كرد.
البته من مشكلم با نمايش تصوير نيست فقط كدي كه با كليك بر روي هر رديف با توجه به شماره نامه عكس اونرو نشون بده .

3- آيا ميشه در خود فرم عمل فيلتر رو انجام داد . يعني باكس هاي پارامتر مثل محدوده تاريخ و شماره و اسم رو نوشت و ديتا گريد همونجا فيلتر بشه .



اميدوارم كه خسته تون نكرده باشم .

مطمئنم دوستان ديگه علاقمند به دونستن جوابهاي سئوالات فوق هستند.


من علمني حرفا فقد صيرني عبدا. علي عليه السلام

shaghaghi
دوشنبه 30 اردیبهشت 1387, 12:36 عصر
http://www.barnamenevis.org/forum/images/icons/icon5.gif
... من اين كار رو كردم متاسفانه جواب نداد . too many parameter... پيغام اون بود...
سلام
من که عرض کردم کار کردن با دیتاگرید مشکلات و پیچیدگی های خاص خودش را دارد
اکنون موضوع این تاپیک را در دو مسیر می توانیم دنبال کنیم
1- اصرار بر استفاده از دیتاگرید خود مایکروسافت با علم به ضعف های آن 2- استفاده از ابزار جایگزین دیگر؟
اگر مایل هستید، می توانم جواب سوالتان را با ابزار Janus GridEX که معرفی کردم، بدهم.
(ضمنا بفرمایید عکس نامه هایتان را داخل بانک نگه می دارید یا اینکه مسیر عکس آنها را در بانک ذخیره می کنید)
در ضمن خدمت دوستان عرض می کنم که سابفرم اکسس علی رغم نقاط قوت زیادش، نقاط ضعفی دارد که مجبورتان می کند در مواردی از گریدها استفاده کنید.

mohammadsaleh
دوشنبه 30 اردیبهشت 1387, 14:00 عصر
باتشكر از ابراز محبت و اينكه دانسته هاي خود را بدون چشم داشتي در اختيار ديگران مي گذاريد . اميدوارم روز به روز بر دانايي تان افزوده شود.
حقيقت امر اين است كه جواب سئوال اول رو با تلاش بدست آورد. و منتظر جواب سئوال دوم و سوم هستم.

البته اينرو هم اضافه كنم كه مي خوام با كليك به روي رديف در ديتا گريد فرمي باز بشه و اطلاعات اون رديف يا اگه بشه رديف هايي كه انتخاب كردم را مشاهده و اگه خواستم اصلاح كنم. دوست عزيز در حقيقت فكر مي كنم مشكل من نحوه اشاره به اطلاعات ديتا گريد و ارتباط دادن اون با فرم باشه .

اين رو هم اضافه كنم كه تصوير نامه ها رو در يك پوشه ديگر ذخيره مي كنم

من علمني حرفا فقد صيرني عبدا. امام علي عليه السلام

shaghaghi
شنبه 04 خرداد 1387, 07:40 صبح
http://www.barnamenevis.org/forum/images/icons/icon5.gif
...1- فرض كنيم بانك اطلاعاتي ما يك انديكاتور ثبت نامه است و ما مي خواهيم نامه هاي مربوط به يك اسم رو پيدا كنيم . براي اينكار يك فرم درست مي كنيم با يك تكست باكس و يك پرسش كه تو قسمت معيار اون به تكس باكس فرم اشاره شده و حالا مي خواهيم با نوشتن اسم و فشار يك دكمه فرمي كه حاوي ديتاگريد هست و منبع اش پرسشي است كه اشاره كردم را باز كنيم . من اين كار رو كردم متاسفانه جواب نداد . too many parameter... پيغام اون بود سئوال اينجاست كه اولا چطوري يك پرسش رو به فرم وصل كنم كه پارامترهاي پرسش رو خودم تعيين كرده باشم . مثل تعيين اسم در بالا ؟ .
سلام
این نمونه کد:


Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("select * from Products where productid='" & Me.TextBox1 & "'")
Me.GridEXControl.HoldFields
Set Me.GridEXControl.Recordset = rs





2- حالا فرض مي كنيم به مقصود فوق رسيديم . يعني تونستيم اطلاعات رو فيلتر كنيم
حالا چطور ميشه با كليك برروي هر رديف تصوير نامه مربوط به اسم شخص رو مشاهده كرد.
البته من مشكلم با نمايش تصوير نيست فقط كدي كه با كليك بر روي هر رديف با توجه به شماره نامه عكس اونرو نشون بده .




Private Sub GridEXControl_Click()
Dim varBookmark As Variant, RowIndex As Long, rst As Recordset
With Me.GridEXControl
RowIndex = .RowIndex(.Row)
If RowIndex = 0 Then Exit Sub
varBookmark = .RowBookmark(RowIndex)
Set rst = .Recordset
rst.Bookmark = varBookmark
If rst.EOF Then Exit Sub
txtLinkId= rst!productid
End With

End Sub


حال با بدست آوردن شماره ردیف (txtLinkId) امکان دسترسی و فیلتر کردن اطلاعات ردیف کلیک شده را خواهید داشت


3- آيا ميشه در خود فرم عمل فيلتر رو انجام داد . يعني باكس هاي پارامتر مثل محدوده تاريخ و شماره و اسم رو نوشت و ديتا گريد همونجا فيلتر بشه .

بله مثل جواب سوال اول تعداد شرط ها را افزایش دهید

mohammadsaleh
شنبه 04 خرداد 1387, 14:08 عصر
دوست عزيز صميمانه از شما تشكر مي كنم . چون جواب سئوال اول و دوم را به سر انجام رساندم . ولي در عمل نتوانستم فيلتر بر روي خود فرمي كه ديتا گريد در ان قرار دارد را انجام دهم. اگه ممكنه نمونه كوچكي برام قرار بديد . متشكرم

ضمنا اگه بخواهيم همه كلمات جستجو شده هاي لايت و با رنگ مشخص بشوند چه كار بايد كرد

ali_bagheri34
سه شنبه 14 خرداد 1387, 11:24 صبح
سلام
آیا می توان در این گرید Janus GridEX 2000b خود کاربر یک ستون را فیلتر نماید
و آیا می توان در انتهای ستون جمع یا Count یا Average گرفت

scmorfi
چهارشنبه 15 خرداد 1387, 07:18 صبح
كمك فوري
من دارم برنامه ويدئو كلوپ مي نويسم مي خواهم وقتي رو يك سطر از ديتا گريد كليك ميكنم اطلاعات اون سطرو تو texbox نشون داده بشه لطفا سريعا جوابمو بدين چون اور‍‍ژانسيه