-
بلنک رکورد یا لاین خالی در گزارش ( حقه )
چهارشنبه 15 خرداد 1398 16:39
برامون پیش اومده که وقتی فاکتور صادر می کنیم میخواهیم یه چیزی شبیه فاکتور باشه یا مثل اکسل ردیف ها را تا آخر در پرینت ببینیم ... فرض کنید شما تو فاکتورتون ۳ آیتم داریم ولی خط و خطوط باید تا پائین صفحه ی گزارش رسم بشه اگر نخواهید کنترل ها را بصورت Grow استفاده کنید ( منظور اگر شرح بیشتر شد از عرض کنترل اون کنترل تعریض...
-
پراپرتی نمایش بلنک رکورد در گزارش
چهارشنبه 15 خرداد 1398 16:03
Report.NextRecord Property Property NextRecord مشخص می کند که آیا سکشن مربوطه باید به رکورد بعدی پیش برود یا خیر که بصورت Boolean هست و در رویداد OnFormat قرار داده می شود . پراپرتی مهم و کم کاربرد است فرض کنید هر ۱۰ خط یا Line را در گزارش ( پرینت پرویو ) می خواهید جدا کنید ( توضیح واضح تر بعد از هر رکورد یک جای خالی...
-
ایجاد کوئری در اکسس QueryDef
چهارشنبه 15 خرداد 1398 15:18
شی QueryDef یک تعریف ذخیره شده ای از کوئری در موتور دیتابیس اکسس هست که ازآن برای ساخت کوئری استفاده خواهد کرد . ( و حتی مقداردهی پارامتر ) Dim Qry As QueryDef Set Qry=CurrentDb.CreateQueryDefs("Select * From ("Table1 Where Id>=14 استفاده از پارامتر Dim qdf As QueryDef ("Set qdf = dbs.QueryDefs(...
-
کامندهای اجرائی در اکسس RunCommand
چهارشنبه 15 خرداد 1398 15:08
.... Docmd.Runcommand acCmd acCmdZoom100 acCmdUndo acCmdSelectRecord acCmdSelectAll acCmdSaveRecord acCmdRowHeight acCmdRemoveAllFilters acCmdRefresh acCmdRedo برای سابفرم نه رکوردست از این فرامین استفاده می کنیم acCmdRecordsGoToFirst acCmdRecordsGoToLast acCmdRecordsGoToNew acCmdRecordsGoToNext acCmdQueryTotals...
-
ساخت شورتکات منو در اکسس ۲۰۱۶
چهارشنبه 15 خرداد 1398 13:59
شورتکات : سه تا کامند باتن در کامندباربصورت MsoPopup برای پرینت ، رفرش و بستن فرم ContactList اسم ماکروی بالا mcrAddShortcutMenu را در قسمت پراپرتی ShortCutMenu تایپ می شود با AddMenu در Add-In ریبون قابل مشاهده هست. کامند باتن در CommandBar و ساب منو بهمراه کامند ها بصورت زیر نمایان خواهد شد. برای ایجاد ساب منو در...
-
سطح دسترسی User Level
چهارشنبه 15 خرداد 1398 12:55
نمونه ای از سطح دسترسی ()Private Sub Form_Load Dim sPermit As String Dim iAccess As Integer Dim Ctl As Access.Control ("Me.txtUser = Environ("username If IsNothing(Me.txtUser) The "sPermit = "ReadOnly Else "sPermit = "ReadOnly Select Case sPermit (sPermit = GetPermission(Me.txtUser End If...
-
جستجو ( DlookUp )در جدول یا کوئری
چهارشنبه 15 خرداد 1398 11:29
مثال زیر از متغیر intSearch برای گرفتن مقدار ( عددی ) استفاده می کند که بعنوان integer یعنی حدود ۵ رقم نهایتا تعریف میشود اگر عدد بزرگتر باشد از Long استفاده کنید نکته : در پنجره ی immediate window وقتی میخواهید عددی را در عدد دیگری ضرب کنید چون پیش فرض integer می گیرد پیغام Overflow را نمایش می دهد که باید آنرا به...
-
انتخاب آبجکت
چهارشنبه 15 خرداد 1398 11:27
مثال زیر فرم را انتخاب می کند DoCmd.SelectObject acForm, "Customers" , True
-
تغییر نام آبجکت ( فرم ، جدول ، کوئری )
چهارشنبه 15 خرداد 1398 11:25
Docmd.Rename NewName,ObjectType,OldName ا ز متد Rename برای تغییر نام شئ دیتابیس مشخص شده مثل جدول یا کوئری بهره ببرید Use the Rename method to rename a specified database object. اگر ObjectType و آرگومان OldName خالی بمانند ( پس با توجه به این گفته هر دو Optional یا انتخابی هستند و می توانند خالی رها شوند - پیش فرض...
-
گرفتن مقادیر انتخاب شده در سل ها ی دیتاشیت
سهشنبه 14 خرداد 1398 22:08
با SelTop میشود مشخص کرد که کدام Row در بالاترین مستطیل انتخابی در جدول ، کوئری ، دیتاشیت یا کانتینوس ف رم وجود دارد ( منظور اگر چند سل را انتخاب کرده باشید شماره ی مستطیل اول را بیان میکند بصورت Long ) اگر کالمن انتخاب شود پراپرتی مربوطه را نمی توانید تغییر دهید. درتصویر پائین رکوردها انتخاب شده میتوان با...
-
برگشت تعداد رکوردهای متاثر از اکشن کوئری ها
سهشنبه 14 خرداد 1398 20:44
مثل Delete یا Add استفاده از متد Execute نه RunSql و بعد پراپرتی RecordsAffected از CurrentDb لیست چندی از پراپرتی های اکسس ، پراپرتی CurrentDb.Properties Name Connect Version RecordsAffected شمارش رکوردهای تحت تاثیر اکشن کوئری ها فرضا دیلیت یا اپند Connection AccessVersion StartUpForm در قسمت آپشن و این خصوصیت می...
-
کار با رکوردست
سهشنبه 14 خرداد 1398 19:36
لینک https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/recordset-object-dao از شی رکوردست برای دستکاری داده در دیتابیس در سطح رکورد استفاده میشود ( جدول یا کوئری ) چند تا تیپ داره یکیش SnapShot هست که ReadOnly است و قابل Edit نیست و بعدی Dynaset که Read و Write را دارد برای باز...
-
عملکرد کمبوی مالتیپل فیلد و تیک زدن آیتم ها
سهشنبه 14 خرداد 1398 14:55
در فرم اگر کمبوی مالتیپل داشته باشید طبق معمول برای تیک زدن یا برداشتن تیک به این روش عمل می کنید ۱-فوکس کردن روی کمبو ۲-انجام عمل دارپ داون با کلیک کردن روی فلش پائین سمت چپ کمبو که با بازشدن لیست باکس همراه هست و تیک زدن با لفت ماوس فرضا که اگر انتخاب شده باشد برداشه و اگر نشده باشد دوباره انتخاب می شود روش کد نویسی...
-
اضافه کردن ثانیه به ساعت
سهشنبه 14 خرداد 1398 13:47
چون اکسس در بعضی سیستم ها ساعت را بصورت AmPm و نه حالت ۲۴ ساعته نشان می دهد بنابراین برای حل مشکل باید ماژولی نوشت که اگر Format اون Time جاری AM شد عدد ۱۲ به آن اضافه بنماید البته برای ساعات خیلی بالاتر باید ارور را رفع کرد بعد تبدیل ساعت و دقیقه به ثانیه و جمع کردن با خود ثانیه فرضا اضافه کردن 520 ثانیه ( 8 دقیقه و...
-
گرفتن ولیوهای مالتیپل فیلد یا کمبوهای چک باکس دار
سهشنبه 14 خرداد 1398 13:29
برای گرفتن ولیوهای داخل MultipleFieldValue باید از رکوردست ۲ استفاده کرد و پل زدن به آن فیلد و پراپرتی Value آن فرضا فیلد Rooz داریم و چند آیتم در آن وارد شده ۱-باز کردن رکوردست ۱ ( جدول ) ۲-تنظیم رکوردست ۲ به فیلد رکوردست ۱ ( Rooz ) و پراپرتی ولیو (Value) البته برای لیست شدن کلیه ی تیک خورده ها باید Loop زده شود و...
-
پرینت داکیومنت یا پیج ها در اکسس
سهشنبه 14 خرداد 1398 13:19
برای پرینت گرفتن ورد پی دی اف یا هر چیزی که قابلیت پرینت داشته باشد از طریق اکسس ارتباط با شل یا سا ختن آن (Shell.Application) است و استفاده از کامند ShellExecute که پارامتر اول آن نام و مسیر فایل است و پارامتر چهارم عبارت پرینت و آخری هم ویو است که فرضا VbHide یا VbNormalFocus و غیره است یا شماره ی آن که میشود در...
-
ساخت پراپرتی در اکسس
سهشنبه 14 خرداد 1398 12:54
(Database.CreateProperty method (DAO پراپرتی هائی که در اکسس ایجاد نشده را میتوان از کالکشن DAO انتخاب و اضافه کرد جز کانکشن و ارورها مثل پراپرتی زیر برای بستن یا باز کردن شیفت True/False ، تا ایجاد نشن عمل نخواهند کرد و ارور هم داده خواهد شد پراپرتی نات فاوند اگر هم ایجاد بشه ارور قبلا ایجادشده را خواهد داد. تایپ هم...
-
تبدیل میلادی به قمری
سهشنبه 7 خرداد 1398 21:39
گاهی محاسبات بهم میریزد مثل ۷ خرداد ۱۳۹۸ که باید ۲۳ رمضان باشد ولی ۲۲ رمضان میشود چون ماه قبلی ۳۰ روزه شده .... آیتم اول را اگر به ترتیب از اولین ماه قمری که 30 هست و یک درمیان 29 میشود کم کنیم تا مانده از تعداد روزهای ماه کوچکتر شود عدد 23 حاصل میشود 2 5 9 − 3 0 − 2 9 − 3 0 − 2 9 − 3 0 − 2 9 − 3 0 − 2 9=23 در این...
-
تبدیل میلادی به قمری
دوشنبه 6 خرداد 1398 16:14
19 جولای سال 622 شروع تاریخ قمری است و مصادف با 27 تیر سال یک شمسی Dim D(12) As Long D(1)=30 : D(2)=59 : D(3)=89 : D(4)=118 : D(5)=148 D(6)=177 : D(7)=207 : D(8)=236 : D(9)=266 : D(10)=295 : D(11)=325 : D(12)=354 یک در میان ماه ها ی قمری را بصورت قراردادی 29 مشخص کرده اند یعنی ماه اول که محرم است 30 روز و ماه بعدی 29...
-
تبدیل میلادی به قمری
یکشنبه 5 خرداد 1398 20:28
باحساب https://www.bahesab.ir/time/conversion/ لینک بالا ۱۴۳۶ تا ۱۴۳۸ را کبیسه ی قمری نشان میدهد در حالیکه در تقویم های آنلاین دیگر ۱۴۳۶ کبیسه ولی ۱۴۳۷ کبیسه نیست ؟؟!!!! ولی ما بر حسب همان رایج استفاده می کنیم که قابل اعتمادتر است . انشالله باحساب توضیح قانع کننده برای کبیسه بودن ۳ سال پشت سر هم در سایتش داشته باشد...
-
کبیسه گیری قمری
شنبه 4 خرداد 1398 22:36
گاه شمار قمری https://fa.m.wikipedia.org/wiki/گاهشماری_هجری_قمری از شکافتن هسته ی اتم هم ساده تر است اگر تلاش کنید محتاج چون منی نخواهید بود ( امام خمینی ره ) قسمت گاه شماری هجری قمری قراردادی جدول مربوطه ( رایج ) طبق رایج ... تعداد روزهای ماه های قمری یکی در میان ۲۹ یا ۳۰ روزه هستند و از ۲۹ روز شروع میشود اگر سال...
-
روش کبیسه گیری
جمعه 3 خرداد 1398 22:19
https://fa.m.wikipedia.org/wiki/گاهشماری_رسمی_ایران از قائده ی خاصی پیروی نمیکند لیست زیر طبق جدول لینک بالا از سال ۴ تا سال ۱۴۷۳ می باشد ، بعد از هر عدد یک کبیسه ی پنج ساله است و بعد از آن تا شروع عدد بعدی هر چهار واحدیک کبیسه ی چهارساله است. اعداد زیر طبق جدول گاه شماری_رسمی_ایران ( لینک بالا ) استخراج شده ....
-
دست نویس تبدیل میلادی به شمسی در فواصل زیاد
جمعه 3 خرداد 1398 13:52
اختلاف بین ۱/۱/۱ تا ۱/۱۲/۲۹ عدد ۳۶۴ است که در اینجا عدد ثابتیست عدد ۳۲۹ و ۳۱۵ کبیسه های از سال ۶۲۲ تا ۱۹۷۷ و ۱۹۲۰ هستند باید حتما با ۳۶۵ جمع شوند این دست نویس ها ارزشمند هستند در صورت صفر شدن باید تغییر رویه داد
-
اضافه کردن به تاریخ میلادی در اکسس
پنجشنبه 2 خرداد 1398 15:06
روش : 1-جداکردن ماه ، روز و سال و ذخیره در Alias ها ی M,D,Y که برای تاریخ میلادی بسیار آسان است (Y=Year(Dt (M=Month(Dt (D=Day(Dt و اگر تاریخ ورودی اعتبار نداشته باشد فرضا ماهی که ۲۹ روزه است را سی روزه وارد کنید یا ماه را بیشتراز ۱۲ تایپ کنید یا فرمت اشتباه باشد خودش ارور را اعلام میکند احتمالا بعنوان Type Mismatch...
-
تبدیل میلادی به شمسی
چهارشنبه 1 خرداد 1398 19:35
عدد ثابت : ۲۲۶۸۹۶ مثال اول : 12/31/1919 معادل 1298/10/9 (1 , 9 1 8 × 3 6 5 + 3 3 4 + 3 1 + 4 6 4 − 2 2 6 , 8 9 6 − 3 1 4 + 1 ) ÷ 3 6 5=1297 ( 1 , 9 1 8 × 3 6 5 + 3 3 4 + 3 1 + 4 6 4 − 2 2 6 , 8 9 6 − 3 1 4 + 1 ) − ( 1 , 2 9 7 × 3 6 5 )=285 285-6×31-3×30=9 تبدیل 1/1/1920 معادل 1298/10/10 (1 , 9 1 9 × 3 6 5 + 1 + 464 −...
-
تبدیل شمسی به میلادی
چهارشنبه 1 خرداد 1398 15:23
فرمول : در نظر داشتن عدد ثابت ۲۲۶۸۹۶ ۱-بدست آوردن تعداد روزهای سپری شده از ۱/۱/۱ تا تاریخ شمسی موردنظر فرضا به نام ShamsiDiff : سال شمسی منهای یک در ۳۶۵ باضافه ی تعداد روزهای سپری شده از اول هر تاریخ باضافه ی تعداد سال های کبیسه از سال یک تا آن تاریخ شمسی ... سپس دو عدد حاصله را از هم کم کرده و منهای یک می کنیم ۲-...
-
اختلاف سال میلادی تا ۲۲ مارس ۶۲۲ اول فروردین سال یک
سهشنبه 31 اردیبهشت 1398 22:02
این دست نویس ها بسیار ارزشمند است تعداد روزهای سپری شده از اول تا ۲۲ مارس ۶۲۲ عدد ۲۲۶۸۹۶ است سال میلادی منهای یک + جمع روزهای ( ماه میلادی منهای یک ) + روز + تعداد کبیسه های سپری شده از سال یک تا سال میلادی منهای یک - ۲۲۶۸۹۶
-
روزهای سپری شده از اول سال شمسی تا تاریخ موردنظر
دوشنبه 30 اردیبهشت 1398 18:58
مثال های زیر در ایجاد تقویم شمسی کمک خواهند کرد فقط با محاسبه ی روزهای سپری شده از جمعه ۱/۱/۱ از جمعه ۱/۱/۱ تا دوشنبه ۱۳۹۸/۲/۳۰ میشود ۵۱۰۳۰۳ 510303 mod 7 = 3 اگر مانده ی تقسیم صفرشد یعنی جمعه هست ... ۳ یعنی دوشنبه ۱۳۷۸/۱۰/۱۱ : ۵۰۳۲۲۴ معادل شنبه یک ژانویه ی ۲۰۰۰ 503224 mod 7 = 1 یک یعنی شنبه ۱۳۷۹/۱۰/۱۲ : ۵۰۳۵۹۰ معادل...
-
ساید بار ( Stack Controls )
سهشنبه 24 اردیبهشت 1398 20:22
-
WndProc
یکشنبه 28 بهمن 1397 22:20
: WndProc case WM_INITDIALOG ShowWindow GetDlgItem(hDlg,IDOK),SW_HIDE hBitmap1 =CreateWindowEx(WS_EX_TRANSPARENT, "Button","Login", WS_VISIBLE Or WS_CHILD Or BS_BITMAP , 60, 150,100, 25,hDlg,(HMENU)IDC_BUTTON2, NULL, NULL ( ( hdc = GetDC(hDlg ( hMemDC = CreateCompatibleDC(hdc (hBitmap =...