PDA

View Full Version : کپشن برای جداول



hamid-nice
شنبه 12 بهمن 1392, 11:16 صبح
با سلام
آیا برای جداول هم می توان از caption استفاده کرد مثل فیلد ها که caption دارند و هرجایی بخواهیم به جای اسم اصلی فیلدها از caption آنها استفاده می کنیم
اگر نه راهی جایگزین یا تابعی که بشه از آن استفاده کرد می شناسید ؟
مثلا می خواهیم برای row source یک کمبو باکس که نام جداول را در خود می آورد استفاده کنیم در صورتی که بخواهیم از چیزی مثل caption به جای نام جداول در آن آورده شود ( به نوعی نام مستعار ، Alias ) ؟
با تشکر

alirezabahrami
شنبه 12 بهمن 1392, 11:47 صبح
با سلام
آیا برای جداول هم می توان از caption استفاده کرد مثل فیلد ها که caption دارند و هرجایی بخواهیم به جای اسم اصلی فیلدها از caption آنها استفاده می کنیم
اگر نه راهی جایگزین یا تابعی که بشه از آن استفاده کرد می شناسید ؟
مثلا می خواهیم برای row source یک کمبو باکس که نام جداول را در خود می آورد استفاده کنیم در صورتی که بخواهیم از چیزی مثل caption به جای نام جداول در آن آورده شود ( به نوعی نام مستعار ، Alias ) ؟
با تشکر
سلام
ظاهراً به نمونه هاي تاپيك امكانات انتخابي كه توسط بنده ارائه شده عنايت نداشته اي ! چون جواب سوالتان در نمونه هاي تاپيك فوق وجود دارد .
براي نامگذاري جداول از Description آنها بجاي Caption استفاده ميشود .
يا علي

hamid-nice
شنبه 12 بهمن 1392, 12:34 عصر
با سلام دوست گرامی
اتفاقا بسیار زیاد از اونها استفاده کرده ام و از description آنها هم استفاده کردم و خیلی هم از این بابت ممنون
ولی مسائلی فرا گیر تر هست که با description حل نشده است مثلا در حین برنامه گاهی نیاز هست که جداول حذف و دوباره ایجاد شوند( با کد نویسی و خودکار ) در اینصورت Description تعریف شده در جداول هم حذف می شود و در جا های دیگر که از آن استفاده شده دچار مشکل می شویم در صورتی که اگه بشه این caption جداول را مانند فیلدها که در فرها بوسیله textbox ها این مساله میسر می شه یا در کوئری ها این امکان وجود دارد ، طوری ایجاد کرد که به وجود آن در داخل جدول وابسته نباشد در اینصورت مشکل حل می شود.
آیا امکان پذیز هست ؟
با تشکر

alirezabahrami
شنبه 12 بهمن 1392, 13:34 عصر
با سلام دوست گرامی
اتفاقا بسیار زیاد از اونها استفاده کرده ام و از description آنها هم استفاده کردم و خیلی هم از این بابت ممنون
ولی مسائلی فرا گیر تر هست که با description حل نشده است مثلا در حین برنامه گاهی نیاز هست که جداول حذف و دوباره ایجاد شوند( با کد نویسی و خودکار ) در اینصورت Description تعریف شده در جداول هم حذف می شود و در جا های دیگر که از آن استفاده شده دچار مشکل می شویم در صورتی که اگه بشه این caption جداول را مانند فیلدها که در فرها بوسیله textbox ها این مساله میسر می شه یا در کوئری ها این امکان وجود دارد ، طوری ایجاد کرد که به وجود آن در داخل جدول وابسته نباشد در اینصورت مشکل حل می شود.
آیا امکان پذیز هست ؟
با تشکر
سلام مجدد
كاري نداره ، اگر با كد نويسي ميتوانيد يك جدول را ايجاد كنيد با كد نويسي هم ميتوانيد براي آن يك عنوان وارد كنيد .
به كد زير عنايت بفرما:
با كد زير ميتوانيد براي جدول ايجاد شده tblArea نام يا عنوان MyTable وارد نمائيد .


Dim db As DAO.Database
Dim tdf As TableDef

Set db = CurrentDb
Set tdf = db.TableDefs("tblArea")

On Error Resume Next
tdf.Properties("Description") = "MyTable"

If Err.Number = 3270 Then
Set prp = tdf.CreateProperty("Description", _
dbText, "MyTable")
tdf.Properties.Append prp
End If

يا علي

hamid-nice
شنبه 12 بهمن 1392, 14:04 عصر
درسته اما مساله اينجاست كه وقتي ما بيش از 100 تا جدول داريم ديگه نمي شه براي هر كدوم اينكار را كرد
در تاپيكي كه فرموديد در كد ها از tbl.name استفاده كرده ايد و بعدسش هم از Description منظور من اين است كه اگر بشه به جاي كلمه Description يا در امتداد Name در اين دستورات عنوان دلخواه را براي عنوان مورد نظر براي ظاهرشدن به جاي نام اصلي بكار ببريم مشكل اساسي حل مي شود مثلا تابعي كه وقتي به صورت tbl.caption يا ( "...." )tbl.Name.caption در يك ما‍ژول عمومي تعريف كنيم و در هرجا استفاده كنيم caption را به جاي نام اصلي جدول ظاهر كند.
با تشكر

alirezabahrami
شنبه 12 بهمن 1392, 15:23 عصر
درسته اما مساله اينجاست كه وقتي ما بيش از 100 تا جدول داريم ديگه نمي شه براي هر كدوم اينكار را كرد
در تاپيكي كه فرموديد در كد ها از tbl.name استفاده كرده ايد و بعدسش هم از Description منظور من اين است كه اگر بشه به جاي كلمه Description يا در امتداد Name در اين دستورات عنوان دلخواه را براي عنوان مورد نظر براي ظاهرشدن به جاي نام اصلي بكار ببريم مشكل اساسي حل مي شود مثلا تابعي كه وقتي به صورت tbl.caption يا ( "...." )tbl.Name.caption در يك ما‍ژول عمومي تعريف كنيم و در هرجا استفاده كنيم caption را به جاي نام اصلي جدول ظاهر كند.
با تشكر
سلام
با ايجاد يك حلقه براي هر تعداد جدول مي تواني نام يا كپشن آنها را استخراج نمائيد . من از همين روش براي استخراج عنوان فارسي فرم ها و گزارشاتم در هنگام تعريف سطح دسترسي كاربر جديد استفاده مي كنم . به عبارتي وقتي يك كاربر جديد را ايجاد مي نمايم همزمان نام كليه فرم ها و گزارشاتي كه كه از نظر سطح دسترسي لازم است را براي كاربر فوق ايجاد مي نمايم .
تصوير ضميمه را ملاحظه بفرما!
يا علي

hamid-nice
شنبه 12 بهمن 1392, 16:10 عصر
درست است مي شه استخراج كرد ولي وقتي كلي از جداول حذف شوند و دوباره ايجاد شوند آن هم در فرم هاي مختلف براي جداول مختلف باز براي ايجاد Description و نوشتن دستورات پيشنهادي قبلي كه براي يك جدول بود ، كار مشكل مي شود
البته اين هم يك راهي دارد كه ما يك جدول با دو ستون درست كنيم و در يك ستون ، نام اصلي جداول و در ستون دوم آنچه مي خواهيم به عنوان Description آن باشد بنويسيم و از آن فراخواني و ايجاد كنيم
ولي همچنان براي جداول زياد كار زمانگير خواهد بود و البته كار وقتي بيشتر زمانگير مي شود كه لازم باشد از يك جدول با Description هاي دلخواه ولي متفاوت به عنوان اسامي ظاهري براي يك جدول در جاهاي مختلف برنامه استفاده كنيم
بنابراين مي بينيم كه به جاي چنين كاري اگه بشه عنوان را غير وابسته به جدول همانطور كه در پست قبل عرض كردم به وسيله تابعي مهيا كرد خيلي از مشكلات حل مي شود
البته اين مهم نيازمند دستان توانمند اساتيدي چون شماست .
آيا به نظر شما چنين تابعي امكان پذير هست ؟
با تشكر

hamid-nice
دوشنبه 14 بهمن 1392, 01:04 صبح
به نظر شما چنين تابعي امكان پذير هست ؟ از اساتيد گرامي كسي مي تونه ارايه كنه ؟
با تشكر

abdoreza57
دوشنبه 14 بهمن 1392, 12:18 عصر
سلام

تو همون نمونه آقای بهرامی شما اگه حالت نمایش لیست را Value List انتخاب کنید و Row source را برابر نامهای مستعار دلخواه قرار بدید مگه جواب نمیده ؟
مثلا:

"tbla";"جدول مشتري ";"tblb";"جدول فروش";"tblc";"جدول خرید"
column count برابر 2 برای column width مقدار 0cm;4cm قرار بدید و Bound column هم 1 باشه . و تمام..
تو این حالت اسم جداول همونی هست که شما میخوایید و نمیخواد دیسکراپشن را عوض کنید تو فرمهای دیگه هم میشه اسمش را عوض کرد ...

جا داره از جناب بهرمی و آقای امیری بابت این آموزش که ازشون یاد گرفتم تشکر کنم.

یه نکته هم به نظرم رسید و اونم اینکه دلیلی نداره شما به کرات جداول را حذف و ایجاد کنید !
معمول این هست که فرمها و گزارشات و امکانات برنامه دستخوش تغییر بشه مگه اینکه تو اصل طراحی جدول شما اشتباه کرده باشید که قطعا برای نوشتن کپشن و ... هم بعید میدونم مشکل باشه .

خدا نگهدار

hamid-nice
دوشنبه 14 بهمن 1392, 14:02 عصر
با سلام
آقای abdoreza57 (http://barnamenevis.org/member.php?158854-abdoreza57)
درست می گی من امتحان کردم ولی متوجه این مساله نشده بودم چون روشهای دیگری را امتحان می کردم که دیگه ذهنم متوجه این مطلب نشده بود
به هر حال راهکارتان خیلی خوب بود ولی بهتر است که در همون تاپیک هم به عنوان مشارکت یک نمونه اصلاح شده بر این اساس قرار دهید که باعث ترغیب اساتید که این همه گفتند دیگران چرا مشارکت نمی کنند ، هم بشود
البته اگر هم تمایل به این کار ندارید بگید تا من خودم یک نمونه به این ترتیب در اونجا قرار بدم

سلام
یه نکته هم به نظرم رسید و اونم اینکه دلیلی نداره شما به کرات جداول را حذف و ایجاد کنید !
معمول این هست که فرمها و گزارشات و امکانات برنامه دستخوش تغییر بشه مگه اینکه تو اصل طراحی جدول شما اشتباه کرده باشید که قطعا برای نوشتن کپشن و ... هم بعید میدونم مشکل باشه .

خدا نگهدار
در این مورد با توجه به فرایندها و نیاز های برنامه ام قطعا به حذف جداول و ایجاد آنها نیاز هست و البته چون خارج از بحث این تاپیک است بیشتر به این موضوع و مطالب توضیحی آن نمی پردازم
در آخر باز از ارایه راهکار خوبتان سپاسگزارم