کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

متُد Application.currentdb برای دسترسی (به) یا دستکاری ( اعمال تغییرات ) شئ در دیتابیس


برای دستکاری ساختار دیتابیس و داده هایش از Visual Basic بایستی از مدل DAO استفاده نمائید.

متُد CurrentDb راهی را برای دسترسی دیتابیس جاری از طریق Visual Basic بدون داشتن اطلاعات نام دیتابیس فراهم می سازد.بعد از تعیین و اشاره یک متغیر به دیتابیس جاری یا فعال می توان به سایر اشیاء و مجموعه ها در سلسله مراتب DAO هم دسترسی پیدا کرد و هم آنها را دستکاری نمود. ( سلسله مراتب DAO در زیر بیان شده و طریقه دسترسی به اشیاء مثل فرم و جدول و کوئری و غیره) 






Dim db As Dao.DataBase

Set db=CurrentDb


طریقه دسترسی چیست ؟؟؟؟ در بالا تعریف متغیر به Database و Set کردن آن .... فرض کنید یک کلاس ماژول نوشتید تنها راه دسترسی به آن استفاده از Set است... بعدها با مطالعه بیشتر خواهید فهمید.


فرضا می خواهید به رکوردست دسترسی پیدا کنید و جداول یا کوئری را در آن باز کرده و ویرایش کنید ، می بینید که Recordset در زیرمجموعه یا سلسله مرتبه پائینتری از DataBase قرار دارد ( تصویر بالا )  لذا باید اول به دیتابیس ارتباط بزنیم و بعد رکوردست ، So نمی توان مستقیم بدون تعریف متغیر به database و بدون این Dao که به Access اتَچ است ارتباط بگیریم 


Dim db As Dao.Database

Dim rs As Dao.Recordset

Set db=CurrentDb

Set rs=db.OpenRecordset("Select * From ZeroTbl")

Rs.Close

'Set Rs=Nothing



پس تعریف متغیر و نسبت دادن به اشیاء و Set نقش مهمی را ایفا می کنند.در بالا جدول ZeroTbl در یک شئ رکوردست که اجازه اَپند یا ویرایش یا حذف را می دهد باز شده و چون در حافظه موقت ، فضایی را  اشغال می کند حتما بعد از دستکاری داده ها باید آن فضا را خالی نمود.... از Add ، Edit و Delete و سپس Rs.Update استفاده می نمایند برای اضافه ، ویرایش و یا حذف رکورد یا ردیف مورد نظر یا ردیف ها !!! در جریان باشید اگر No Current Record برایتان Raise یا شلیک شد دوست من مُصِّر نباش قرار نیست معجزه ای صورت بگیره مشکل از شماست نه اینکه دستتون اَتَک نداره ... نه !!! بلکه شما در حال ویرایش رکوردستی هستی که اصلا رکوردی نداره جانَم   ) 


اگر برای شما مطلب مفید بود خواهشا در نظر سنجی شرکت نُمائید با تشکر و در پناه حق 







تیر ۱۴۰۱ ... فقط دلجوئی و اظهار تاسف  : 


سیدمحمد شاهچراغی استاندار و  جمعی از مسئولان استان قم با حضور در شهرک دامشهر، ضمن بررسی موضوع حمله سگ‌های ولگرد به اهالی این شهرک، با خانواده‌های دو کودک جان‌باخته بر اثر حمله این سگ‌ها در هفته اخیر دیدار و از آنان دلجویی کرد.


تیر ۱۴۰۱ : 


به گزارش فارس کمپین «برخورد با هتک حرمت امام جعفر صادق (ع) در سالن عروسی در اراک» در سامانه فارس من ثبت شد.
 مخاطبان کمپینی با عنوان «برخورد با هتک حرمت امام جعفر صادق (ع) در سالن عروسی غیرمجاز اراک» در سامانه «فارس من» ثبت کردند.
متن کمپین به شرح زیر است:
در زمین‌های کشاورزی اراک منطقه کرهرود یک تالار باغ به صورت غیرمجاز ساخته شده است که حکم تخریب آن در سال ۹۳ صادر شد، ولی به دلایل نامعلوم تاکنون اجرا نشد.
در شب شهادت امام جعفرصادق (ع ) در این مکان، مراسم عروسی با سر و صدای زیاد و پخش آهنگ‌های مبتذل برگزار شد، که باعث ناراحتی قشر مذهبی منطقه شده است.
به گزارش فارس با توجه به جریحه‌دار شدن احساسات دوستداران اهل بیت(ع)در این منطقه، امضاکنندگان این کمپین خواستار اجرای حکم تخریب این تالار باغ که مرکز فساد در این ناحیه است، هستند.


دختر جوان به نام المیرا در طرح شکایت خود گفت:«برای انجام تست بازیگری به دفتر سینمایی این کارگردان رفته بودم که مورد تعرض او قرار گرفتم و مدتی بعد متوجه شدم که باردار هستم.»

در حالی که نتیجه آزمایش دی ان ای در پزشکی قانونی نشان می داد که پدر فرزند، کارگردان مشهور است؛ این کارگردان به زودی در شعبه 12 دادگاه کیفری یک استان تهران برای دفاع از عنوان اتهامی تجاوز جنسی پای میز محاکمه خواهد رفت.


















تخصیص از موجودی انبار کل به Order های صادره برای کالا


مرداد 1401 : 


«اِنَّ رِبِّکَ لَبِالمِرصاد»

به استحضار ملّت شریف ایران می‌رساند:

شبکه‌ای از عوامل سازمان جاسوسی رژیم صهیونیستی که برای انجام عملیات تروریستی به کشور اعزام شده بودند، پیش از هر اقدام خرابکارانه‌ای توسط سربازان گمنام امام زمان(عجل‌الله تعالی فرجه‌الشریف) شناسایی و کلیّه‌ی عناصر عملیاتی بازداشت شدند.

اعضای این شبکه که از طریق یکی از کشورهای همسایه با عوامل سازمان جاسوسی - تروریستی موساد در ارتباط بوده و از اقلیم کردستان وارد کشور شده بودند، با بهره‌گیری از به‌روزترین تجهیزاتِ عملیاتی و ارتباطی و قوی‌ترین مواد انفجاری، قصد انجام اقدامات خرابکارانه و عملیات تروریستی بی‌سابقه‌ای در برخی نقاط حسّاس و اهدافِ از پیش تعیین شده را داشتند که با عنایات الهی و عملیات چند مرحله‌ای و پیش‌دستانه‌ی مجاهدان گمنام ایران اسلامی جملگیِ آنها به دام افتاده، تسلیحات، مواد انفجاری، تجهیزات فنّی و ارتباطی آنها نیز به طور کامل کشف و ضبط شد.





جدول اول و دوم زیر در سایت W3Schools با دستور Create Table ساخته و داده فیلدها هم با Insert Into اَپِند گردیده ،  تصاویر بعدی کوئری هستند در جریان باشید. فرض کردم جدول اول از موجودی انبارکل گرفته شده و جدول دوم نیز ثبت کالا و اُردِرهااست.


در جدول زیر ۴ محصول با نام فرضی Key در انبار کل به تعداد ذکر شده در ستون Inventory موجودی دارند



در جدول زیر درخواست ها ( Order ) طبق آیتم کالا و تعداد مورد نیاز جمع آوری شده ( حتما از عدد استفاده باید کرد یا ردیف !!! ما اینجا Order1 و Order2 ایجاد کردیم ) توجه : اگر شماره اُردِرها فرضا واحد خاصی درخواست کرده پشت سرهم نیست حتما از یک ستون بعنوان ردیف استفاده کنید و در هر کالا ردیف Reset شود یعنی از یک شروع شود.





در تصویر زیر با جمع زدن رویهم اعداد در خواستی برای هر کالا به توتال آن درخواست رسیدیم فرضا برای Key1 تعداد 158 درخواست شده در حالیکه موجودی در انبار کل 145 است ( تصویر اول )





در تصویر زیر اعداد رویهم ( داده ستون یا فیلد  RunningSum ) را از موجودی انبار کل کم کردیم ( داده ستون یا فیلد Remain در ردیف اول 9-145 شد عدد 136 یعنی بعد از تخصیص تعداد 9 برای کالای Key1 موجودی انبار کل تعداد 136 شده)  اگر Key1 را ببینید در یک ردیف مانده به آخری که Key1 تمام شود عدد 9 خورده یعنی تنها تعداد 9 برای Order آخر از Key1 مانده و عدد 13- مشخص می کند که موجودی انبار کل بعد از تخصیص صفر میشود چون در دیتابیس Sql در W3SCHOOLS همچین تابعی وجود نداشت و همینطور IF لذا تا همین جا پیشرفتم.






در تصویر بالا عدد منفی یعنی دیگر انبار با توجه به اختصاص به Order ها  آیتم کالای مورد نظر مثل Key1 ، موجودی ندارد البته چون از IIF نمی توان در Sql References استفاده کرد چون جزء Function های Sql نیست لذا تا همین جا اقدام شد .... در بالا اگر تابع iif بود می گفتیم اگر داده عددی ستون Remain مثبت باشد عدد ستون اول در ستون بعد از Remain ( با نام فرضی Supplied ) بخورد و اگر داده عددی منفی باشد عدد ستون اول بعلاوه عدد Remain شود ( که منفی است مثل 13- )  چرا ؟برای اینکه مشخص کنیم به اُردِری با Remain منفی چقدر انبار تخصیص داده که بعد موجودی آن کالا در انبار کل صفر شده ، فکر خوبی نیست ؟


تصاویر بالا کمک خوبی برای شما دوستان هستند که روش را ببینید و Simulate کنید.


موفق و موید باشد 


تیر ۱۴۰۱ : 


به گزارش فارس کمپین «برخورد با هتک حرمت امام جعفر صادق (ع) در سالن عروسی در اراک» در سامانه فارس من ثبت شد.
 مخاطبان کمپینی با عنوان «برخورد با هتک حرمت امام جعفر صادق (ع) در سالن عروسی غیرمجاز اراک» در سامانه «فارس من» ثبت کردند.
متن کمپین به شرح زیر است:
در زمین‌های کشاورزی اراک منطقه کرهرود یک تالار باغ به صورت غیرمجاز ساخته شده است که حکم تخریب آن در سال ۹۳ صادر شد، ولی به دلایل نامعلوم تاکنون اجرا نشد.
در شب شهادت امام جعفرصادق (ع ) در این مکان، مراسم عروسی با سر و صدای زیاد و پخش آهنگ‌های مبتذل برگزار شد، که باعث ناراحتی قشر مذهبی منطقه شده است.
به گزارش فارس با توجه به جریحه‌دار شدن احساسات دوستداران اهل بیت(ع)در این منطقه، امضاکنندگان این کمپین خواستار اجرای حکم تخریب این تالار باغ که مرکز فساد در این ناحیه است، هستند.





دختر جوان به نام المیرا در طرح شکایت خود گفت:«برای انجام تست بازیگری به دفتر سینمایی این کارگردان رفته بودم که مورد تعرض او قرار گرفتم و مدتی بعد متوجه شدم که باردار هستم.»

در حالی که نتیجه آزمایش دی ان ای در پزشکی قانونی نشان می داد که پدر فرزند، کارگردان مشهور است؛ این کارگردان به زودی در شعبه 12 دادگاه کیفری یک استان تهران برای دفاع از عنوان اتهامی تجاوز جنسی پای میز محاکمه خواهد رفت.





















کاربرد Index و Match برای جستجوی یک مقدار در هِدِر ( عنوان ) ستون ها ( سر ستون ها )حاوی محدوده ای از اعداد



لطفا برای مطالعه توابع پرکاربرد اکسل وقت بگذارید  ، چنانچه مطالب  زیر مفید بودند فاتحه ای نثار درگذشتگان و پدر مرحومم قرائت فرموده و منت گذاشته در نظرسنجی نیز شرکت فرمائید . به سایت W3Schools هم سر بزنید.







تابع Match یعنی تطابق دادن ... موقعیت مقدار را در محدوده مشخص می نماید و برگشتیش شماره ردیف مقدار مورد نظر در محدوده انتخاب شده است .


=MATCH(lookup_value,lookup_array,[match_type])


آرگومان ها طبق زیر : دو آرگومان اول در تابع بالا اجباری هستند ، اولی مقدار مورد جستجو ... دومی محدوده مورد جستجو فرضا A1:D5 ... و آخری نوع تطابق یا همسانی که انتخابی یا Optional است و سه عدد -1 و 0 و 1 می شود قرار داد.

توضیح آرگومان آخر یا Match_Type  :

 اگر صفر بگذارید دنبال مقداری در محدوده انتخاب شده در آرگومان دوم می گردد که با آرگومان اول کاملا مطابق باشد

اگر یک بگذارید دقیقا دنبال مقداری در محدوده می گردد که حالت کوچکتر مساوی را داشته باشد.

اگر منهای یک بگذارید حالت بزرگتر مساوی یا طبق توضیحات خودش مقدار دقیق یا نزدیک به بزرگترین مقدار


Arguments 
  • lookup_value - The value to match in lookup_array.
  • lookup_array - A range of cells or an array reference.
  • match_type - [optional] 1 = exact or next smallest (default), 0 = exact match, -1 = exact or next largest.

در زیر اشاره شده ، استفاده از تابع Index به تنهایی مقداری در محل برخورد ردیف و ستونی که مشخص کرده اید را باز می گرداند برای مثال مقدار ردیف 2 از ستون 3 


When used alone, the INDEX function returns a value at the intersection of a row and column you specify. For example, you can have Excel return the value at the intersection of row 2 and column 3.

نوشتاری تابع INDEX نیز در زیر آمده شامل ۳ آرگومان که دو تای اولی Required یا اجباری هستند ذکرشون و آخری نام ستون که Optional یا انتخابی است.

The syntax for the INDEX function is fairly basic: =INDEX(array, row_num, [column_num]).

در جدول زیر مقدار برگشتی در A2 برابر Nelson است، یعنی تابع ایندکس لطفا مقدار ردیف ۲ از ستون ۳ ( محل برخورد ) در محدوده انتخاب شده A4 تا G58 را نمایش بده.




این مطالب گفته شد تا شما عزیزان نحوه عمل تصویر اول را درک کنید که با استفاده از چه توابعی باید به نتیجه برسیم تصویر اول در سر ستون ها یا هِدِر بازه ای از اعداد البته پشت سرهم نه جابجا داده شده و در سمت راست قرار است با وارد کردن  تعداد محصول در ستون Qty مبلغ اتومات از جدول طبق سر ستون ها گرفته شده و در سلول فرمولمون بیافتد البته در ستون ها چون یک Dash بین اعداد قرار داده شده پس رشته داخل آنها عددی نیست و اکسل آنرا تکست خواهد گرفت می بایست از تابع IFERROR نیز در MATCH بهره برد.


MATCH(G2,A:A,0)?

IFERROR(MATCH(H2:$A1:$A4,1),0)+1?


انجام این کار در اکسس بسیار راحت است و تنها با DlookUp یا نوشتن SubQuery ، در سایت W3Schools این کار را انجام دادم . تصاویر اس کرین شات گرفته زیر را برای مطالعه و  تشریح مراحل کار قرار دادم . فقط لطفا فاتحه و نظر سنجی فراموش نشود متشکرم

1-ساخت جدول T1 با ۳ فیلد یا ستون شامل Label ، Qty ، Price


2-ورود اطلاعات به جدول T1


3-روئت داده فیلدهای جدول T1


4-ساخت جدول T2


5-روئت داده فیلدهای جدول T2


6-واکشی داده ستون Price جدول T1 ( با توجه به تطبیق دادن داده فیلد Label هر دو جدول T1وT2 و شرط Qty ) در کوئری ساخته شده.


بر اساس جدول T1 قیمت هایی بر اساس Label و تعداد خرید زده شده فرضا اگر شخصی کالایی با نام A و تعداد زیر خود ۱۱ خریداری کند مبلغ 150000 باید پرداخت کند و اگر فرضا بین 12 تا 18 بخرد مبلغ 145000.






سایت W3Schools زمانیکه به سیستم دسترسی ندارید و می خواهید جدولی بسازید و کوئری تست کنید واقعا مناسب است.پیشنهاد می کنم از این سایت که مکررا توصیه شده استفاده کنید البته تابع DlookUp موجود نبود وگرنه آموزش این تابع را قرار می دادم.



۴ تیر ۱۴۰۱ : حجت‌الاسلام سید اسماعیل خطیب با صدور پیامی به‌مناسبت بزرگداشت شهدای هفتم‌ تیر و هفته‌ی قوه قضائیه با بیان اینکه سربازان گمنام آقا امام زمان (عجل‌الله) در سنگر عظیم مبارزه و جهاد به عنوان ضابطین قضایی تمام کوشش و همراهی خود را در انجام رسالت خطیر حفظ امنیت این مرز و بوم و احقاق حقوق امّت شهید پرور به‌کار خواهند گرفت، تاکید کرد: تروریست‌های روسیاه آلبانی نشین هیچ‌گاه از آتش انتقام دوازده هزار شهید جنایات آنها در امان نخواهند بود.


۵ تیر ۱۴۰۱  : دادستان عمومی و انقلاب میناب گفت: ۴ خواننده زن در عروسی‌ها در میناب بازداشت شدند و در صورت تکرار هم خواننده و هم صاحب عروسی بازداشت خواهند شد.


۵ تیر ۱۴۰۱  باشگاه خبرنگاران نوشت : بازرس سازمان جهاد کشاورزی استان اصفهان گفت : نیروهای سازمان اطلاعات سپاه و بازرسان جهاد کشاورزی ۵۰ هزار تن گندم دولتی احتکار شده را در یکی از کارخانه‌های تولید آرد حومه اصفهان کشف و ضبط کردند..... بخوانند مطالب زیر را محتکرین و کسانیکه حق الناس ناآگاهانه به گردنشان است .


در روایتی از امام باقر نقل است که: آب فرات از بهشت دنیوی نشات میگیرد و ایشان فرمودند برای خدا در مغرب بهشتی است که آب فرات از آن نشات میگیرد و ارواح مومنان هنگام غروب از قبرهایشان خارج و به آن منطقه وارد میشوند و از نعمت های آن استفاده مینمایند.این روایت به این معناست که ارواح مومنان در ابتدای شب از قبورشان خارج شده، در جای دیگری متنعم میشود. از طرف دیگر به نقل از روایات صاحب قبر از زیارت قبر خود توسط دیگران مطلع میشود و با آن زائر انس میگیرد، و دلش نمی‌خواهد از قبرش خارج شود و بنابراین از بهره مندی از نعمت های شبانه محروم میشود؛ بنابراین شاید به این دلیل گفته اند که شب به زیارت اهل قبور نروید تا آنان بتوانند از نعمات شبانه بهره مند گردند.  نکته : مگر نه این است که می گویند ارواح به سوی خدا می روند ( ما از خدائیم و به سوی او باز می گردیم ) پس چرا از قبورشان خارج می گردند ؟!!!


مردم! تقواى الهى را پیشه کنید و بدانید به سوى او باز مى گردید... بدان نخستین چیزى که آن دو فرشته از تو سؤال مى کنند: پروردگارت را که مى پرستیدى، و از پیامبر که به سوى تو فرستاده شده، و از دینى که به آن پایبند بودى، و از کتابى که آن را مى خواندى، و از امامى که ولایتش را پذیرفته بودى، سپس از عمرت سؤال مى کنند که در کدام راه بر باد دادى، و از اموالت که از کجا آورید و در کجا مصرف کردى؟ جانب احتیاط را نگه دار و درباره خود بیندیش! و قبل از آزمایش و سؤال و امتحان، پاسخ را آماده کن، که اگر با ایمان و متقى و آگاه به دین و پیرو صادقین و موالى اولیاء الله باشى، خداوند پاسخ لازم را به تو تلقین مى کند، و زبانت را به حق مى گشاید، و جواب خواهى داد، و در این هنگام از سوى خدا بشارت جنت و رضوان و خیرات فراوان به تو داده مى شود، و فرشتگان الهى با روح و ریحان از تو استقبال مى کنند، و اگر چنین نباشد زبانت به لکنت مى افتد و دلیلت باطل مى شود و از دادن پاسخ فرو مى مانى و نابینا مى‏ شوى، و بشارت به آتش داده مى شوى، و فرشتگان عذاب به استقبال تو مى آیند...).



تبلیغ منافی عفت و جریحه دار کردن جامعه زنان مسلمان ایران : 





علیرضا گالش 




جدال ابوالفضل رجبی و هومن حاج عبداللهی





 ۱۱ تیر ۱۴۰۱ : به گزارش اقتصادنیوز به نقل از ایلنا، براساس اخبار رسیده، حجت الاسلام سید محسن اخوان در ساعات ابتدایی امروز برای اقامه نماز جماعت صبح به مسجد بقیة الله(عج) خیابان برازنده اصفهان مراجعه می کند که در هنگام بازگشت، راکب موتورسیکلتی با اسلحه به سمت او شلیک کرد که البته خوشبختانه آسیب جدی به این روحانی نرسید.



تیر ۱۴۰۱ ... فقط دلجوئی و اظهار تاسف


سیدمحمد شاهچراغی استاندار و  جمعی از مسئولان استان قم با حضور در شهرک دامشهر، ضمن بررسی موضوع حمله سگ‌های ولگرد به اهالی این شهرک، با خانواده‌های دو کودک جان‌باخته بر اثر حمله این سگ‌ها در هفته اخیر دیدار و از آنان دلجویی کرد.










VLOOKUP با چندین شرط در اکسل


برگرفته از سایت های خارجی 






تابع Match ... مشخص کردن موقعیت مقدار مورد جستجو در یک آرایه 








Filter و Requery در اکسس



SELECT *
FROM Vergabeumfang
WHERE 
(
    Vergabeumfang.VSS_LAW Like "*" & [Forms]![Vergabeumfang]![VSS_LAW_Box] & "*" Or Vergabeumfang.VSS_LAW Is Null
)
AND 
(
    Vergabeumfang.V_Commodity_Name Like "*" & [Forms]![Vergabeumfang]![Commodity_Name_Box] & "*" Or Vergabeumfang.V_Commodity_Name Is Null
)
AND 
(
    (
        Vergabeumfang.S63T2 = iif([Forms]![Vergabeumfang]![S63T2_box]=-1, True, -999)
    )
    OR
    (
        Vergabeumfang.S63T4 = iif([Forms]![Vergabeumfang]![S63T4_box]=-1, True, -999)
    )
)









Filter و Requery در اکسس


لطفا نظر سنجی فراموش نشود



نمونه ای از فیلتر در زیر که از سایت های خارجی استخراج شده سال 2008



SELECT *
FROM Vergabeumfang
WHERE 
(
    Vergabeumfang.VSS_LAW Like "*" & [Forms]![Vergabeumfang]![VSS_LAW_Box] & "*" Or Vergabeumfang.VSS_LAW Is Null
)
AND 
(
    Vergabeumfang.V_Commodity_Name Like "*" & [Forms]![Vergabeumfang]![Commodity_Name_Box] & "*" Or Vergabeumfang.V_Commodity_Name Is Null
)
AND 
(
    (
        Vergabeumfang.S63T2 = iif([Forms]![Vergabeumfang]![S63T2_box]=-1, True, -999)
    )
    OR
    (
        Vergabeumfang.S63T4 = iif([Forms]![Vergabeumfang]![S63T4_box]=-1, True, -999)
    )
)






در باتن  از متد Requery استفاده شده



فرق متد Docmd.Requery و متد Me.Requery در زیر قید شده مطالعه نمائید ... زبان برنامه نویسی زبان انگلیسی است پس سعی کنید نسبتا بفهمید


In addition, when you use the Requery action or the DoCmd.Requery method, Microsoft Access closes the query and reloads it from the database, but when you use the Requery method, Access reruns the query without closing and reloading it. Note that the ActiveX Data Object (ADO) Requery method works the same way as the Access Requery method.












.












بازیابی نام فیلد( ستون) ها در رکوردست متصل به سورس در فرم



لطفا بعد از مطالعه مطلب در نظر سنجی شرکت نُمائید




در زیر از شی DAO یا Data Access Object استفاده شده که در کتابخانه اکسس موجود است.

فرمی ساخته ایم که سورس آن یک جدول یا کوئری است ( یعنی فرم تحت جدول یا کوئری است یا Underlying ) ، سپس رکوردست باز شده ، در بین فیلدها لوپ زده شده و اسامی آن در صفحه immediate window چاپ شده ( Ctrl+G )

field-name-property-dao 

در لینک بالا حداکثر کاراکتر نام فیلد 64 عنوان شده

Dim Rs as DAO.Recordset

Dim Fld As DAO.Fields

Set rs=Me.RecordsetClone

For Each Fld in Rs.Fields

Debug.Print Fld.Name,Fld.Value

Next


database-object-dao



طبق توضیحات ذیل Data Access Object یا DAO شما را قادر می سازد برای دستکاری ساختار دیتابیس و داده.بسیاری از اشیاء DAO به اشیائی مرتبط است که در دیتابیس اکسس مشاهده می کنید - برای مثال یک شی Tabledef به یک جدول مایکروسافت اکسس مرتبط می شود . یک شئ Field مربوط به یک فیلد در یک جدول است.


Data Access Objects (DAO) enable you to manipulate the structure of your database and the data it contains from Visual Basic. Many DAO objects correspond to objects that you see in your database—for example, a TableDef object corresponds to a Microsoft Access table. A Field object corresponds to a field in a table.


















تعداد فیلد ( ستون ها ) و رکوردهای یک جدول در اکسس


لطفا بعد از مطالعه مطالب در نظر سنجی شرکت نُمائید



Ctrl+G را بزنید به صفحه ای منتقل خواهید شد در آن کد زیر را با علامت سوال برنید و نام جدول خود را جایگزین tblFoo  نُمائید در کد اول تعداد ستون ها که ZeroBased هستند و کد دوم تعداد ردیف های جدولتون را بازیابی می کند




? CurrentDb.TableDefs("tblFoo").Fields.Count
 13
? CurrentDb.TableDefs("tblFoo").RecordCount
 11 
? DCount("*", "tblFoo")
 11 







لوکاپ مقدار در کالمن ها در اکسل با XLOOKUP



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




XLOOKUP در اکسل 2016 و 2019 موجود نیست 



جایگزینی برای HLOOKUP است


در جدول زیر از دو XLOOKUP استفاده شده که با توجه به عنوان ستونی که می خواهید مقدار در ردیف های ستون Income بازگردانده شود 




The XLOOKUP function searches a range or an array, and then returns the item corresponding to the first match it finds. If no match exists, then XLOOKUP can return the closest (approximate) match. *If omitted, XLOOKUP returns blank cells it finds in lookup_array.



این تابع یک محدوده یا یک آرایه جستجو کرده و سپس آیتمی مطابق با اولین چیزی که پیدا می کند را باز می گرداند.اگر تطابق نداشت این تابع می تواند نزدیکترین ( تقریبی ) را پیدا کند اگر از آن صرفنظر شود ( آرگومان مورد نظر از تابع خالی رها شود ) این تابع سلول های خالی در آرایه مورد جستجو را باز می گرداند.