PDA

View Full Version : سوال: نام گذاري اشياء در فرمها



Rasool-GH
سه شنبه 18 بهمن 1390, 08:15 صبح
سلام
دوستان لطف كنند نظراتشون رو در مورد مزايا و معايب نامگزاري اشياء داخل فرمها كه با جدول باند هستن اعلام كنن
1. در صورتي كه نام باكس و نام فيلد داخل جدول يكي باشه
2. در صورتي كه نام باكس و نام فيلد داخل جدول يكي نباشه

wolfstander
سه شنبه 18 بهمن 1390, 10:16 صبح
به نظر من بهتره که یکی نباشه
به این دلیل که با گذاشتن پیشوند برای فیلد، دقیقا ً متوجه میشید که منظورتون فیلده یا منظورتون اون باکسه
بعنوان مثال در تابع تاریخ آقای آزادی شما از Validdate استفاده میکنید
باید این تابع رو روی فیلد بذارید نه روی باکس
برای همین بهتره که تکست باکس با txt شروع بشه
تا اگه خواستید محاسباتی انجام بدید یا چیزی رو از جای دیگه بیارید، سهوا ً اشتباهی رو مرتکب نشید که بعدا ً بخواید بگردید دنبال رفع اشکال
این نظر بنده است البته با توجه به تجربه شخصی گفته شده
ممکنه 100% غلط باشه
ولی من چون ادم تنبلی هستم :لبخند: تلاش میکنم که از همون اول تکلیفم رو با اشیا و فیلدها یکسره کنم
حوصله گشتن دنبال ارور ها رو ندارم
:لبخندساده:

Rasool-GH
سه شنبه 18 بهمن 1390, 11:07 صبح
ممنون .
من هم همین رویه رو دارم پیش میرم . نام فیلد و نام باکس رو با T , CB و امثال اینها جدا میکنم
بیشتر میخواستم ببینم دوستانی که تجربه دارن کدوم روش رو بی دردسرتر میدونن . تا جایی که خودم متوجه شدم جدا کردن این دو مورد بهتر از همنام بودن انهاست

Abbas Amiri
سه شنبه 18 بهمن 1390, 17:44 عصر
Leszynski naming را جستجو کنید


Hierarchy Objects

Tables
tblXxxxXxxx
Queries
qryXxxxXxxx
Forms
frmXxxxXxxx
Reports
rptXxxxXxxx
Macros
mcrXxxxXxxx
Modules
basXxxxXxxx


Control Objects
Labels
lblXxxxXxxx
Text Boxes
txtXxxxXxxx
Option Groups
opgXxxxXxxx
Toggle Buttons
tgbXxxxXxxx
Option Buttons
opbXxxxXxxx
Combo Boxes
cboXxxxXxxx
List Boxes
lstXxxxXxxx
Command Buttons
cmdXxxxXxxx
Images
imgXxxxXxxx
Unbound Object Frame
uofXxxxXxxx
Bound Object Frame
bofXxxxXxxx
Page Break
pgbXxxxXxxx
Tab Controls
tabXxxxXxxx
Sub Forms
sbfXxxxXxxx
Sub Reports
sbrXxxxXxxx
Lines
linXxxxXxxx
Rectangles
rctXxxxXxxx

Rasool-GH
یک شنبه 23 بهمن 1390, 18:53 عصر
سلام
اگه ما در یک برنامه بخوایم اسم یک باکس یا هر ابجکت دیگه ای رو عوض کنیم با توجه به اینکه از نام اون ابجکت در کدها و کوئری ها استفاده شده همه اونها هم باید تغییر داده بشه . اینطور که من متوجه شدم باید همه تغییرات دستی اعمال بشه و خود اکسس این اصلاحات رو اعمال نمیکنه

ایا راهی هست که این تغییرات اتومات اعمال بشه

Abbas Amiri
یک شنبه 23 بهمن 1390, 20:22 عصر
اگر درAccess Oprtions گزینه Name Auto Correct Options تنظیم شده باشد ، پس از تغییر نام فیلد درجدول بقیه اشیا اکسس مثل کوئریها و فرمها اتوماتیک آپدیت می شوند و برای کدها هم ازFind & Replace در کل پروژه استفاده کنید
البته با لحاظ احتیاط (Find whole word و Match case فعال باشد) و پشتیبان گیری کنید

RESMAILY
یک شنبه 23 بهمن 1390, 21:01 عصر
به نام خدا
با سلام. اگر نام گذاري فيلدهاي جدول خوانا (از نظر برنامه نويسي) انتخاب شوند. به نظر من همنام باشند (فيلد فرم و فيلد جدول) بهتر است. مشكلي هم ايجاد نمي كند.

Rasool-GH
یک شنبه 23 بهمن 1390, 21:18 عصر
اقای امیری ممنون از راهنمایی شما
بیشترین مشکل من در موردی هست که مثلا اسم یاکس بوده Text234 و حالا بعد از کلی کار و کد نویسی به هر دلیل نیاز به تغییر نام اون هست
اینجاست که کاملا همه چی به هم میخوره یا بدتر از اون اینکه اسم فرم یا جدول یا کوئری تغییر کنه
چه راهی وجود داره ؟

Abbas Amiri
دوشنبه 24 بهمن 1390, 17:31 عصر
در بدنه ماژولها با Replace میتوان ولی در کوئریهایی که از نام اشیا فرمها استفاده شده می توان یک حلقه از کوئریهای موجود دردیتابیس ایجاد کرد ودر خصوصیت SQL آنها مقدار نام کنترلها را در صورت وجود تغییر داد . تاآنجا که می دانم تمام کوئریها اعم از آنچه که در لیست کوئریها در پنجره دیتابیس بیس دیده میشود و Row source کمبوها ولیست باکسها در مجموعه Currentdb.QueryDefs وجوددارد.

Rasool-GH
دوشنبه 24 بهمن 1390, 18:12 عصر
ممنون اقاي اميري
به مجموعه Currentdb.QueryDefs چطور دسترسي پيدا كنم ؟

Abbas Amiri
دوشنبه 24 بهمن 1390, 18:58 عصر
کد زیر را امتحان کنید


Dim qdf As QueryDef
Dim sSQL As String
For Each qdf In CurrentDb.QueryDefs
sSQL = qdf.SQL
Replace sSQL, "OldName", "NewName"
qdf.SQL = sSQL
Next

Rasool-GH
چهارشنبه 03 اسفند 1390, 09:36 صبح
سلام اقاي اميري . ايا راهي براي مشاهده ايتمهاي مخفي يك ديتابيس در محيط اكسس وجود داره
مثلا كد يا تنظيمي كه بشه ايتمهاي مخفي رو هم ببينيم

Abbas Amiri
چهارشنبه 03 اسفند 1390, 18:16 عصر
با دستور زیر می توانید انواع اشیا اکسس را مخفی یا نمودار کنید:
Application.SetHiddenAttribute acTable,"Customers", True
Application.SetHiddenAttribute acQuery,"Query1", false