الگوریتم لان یا فرمول لان، که به الگوریتم "پیمانه ۱۰" نیز مشهور است، یک فرمول ساده برای درستی یابی تعداد زیادی شماره شناسایی است، مانند شماره کارتهای اعتباری، شمارههای IMEI و شماره ملی.
در محاسبات یک Payload ظرفیت حمل یک بسته یا سایر واحدانتقال داده است
شرح برای شماره ای که حاوی Check digit نباشد :
-شماره شامل 10 رقم
--اولین رقم سمت راست را در نظر می گیریم و آنرا دوبل می کنیم مثلا اگر رقم سمت راست یک باشد عدد دوم میشود دو
--عدد یک و دو ( و به ترتیب تکرار می کنیم ) را زیر رقم های سمت چپ قرار می دهیم و در هم ضرب می کنیم
--عدد حاصل از ضرب هر رقم ( در یک یا ۲ ) اگر دو رقمی شد ، آن عدد دو رقمی حاصله را رقم اول و دومش را با هم جمع می کنیم
--اعداد بدست آمده را باهم جمع می کنیم
--از فرمول زیر برای Check digit استفاده می کنیم
10-(s mOod 10)
Example :
7992739871
1->>>> 1
2>>>> 1×2=2
3>>>>
7x1=7
9×2=18 >>>> 1+8=9
9×1=9
2×2=4
7×1=7
3×2=6
9×1=9
8×2=16 >>>> 1+6=7
7×1=7
1×2=2
s=Sum(7+9+9+4+7+6+9+7+7+2)=67
10-(67 mod 10)=3
67÷10=6.7>>67-(6×10)=67-60=3
final >>>> 79927398713
حوادث روزگار نامروت :
محسن فوقلیسانس حسابداری داشت و یک تاجر بینالمللی و پولدار بود. همهچیز در زندگی او به خوبی پیش میرفت تا اینکه شریکش سر او را کلاه گذاشت و اموالش را تصاحب کرد. محسن ماند با کلی بدهی؛ او در فضای مجازی از 10 پزشک بهصورت آنلاین مشورت گرفت تا با شیوه بیهوشی از زنان سرقت کند. او که سالها قبل مقام قهرمانی شطرنج کشور و کیک بوکسینگ را کسب کرده بود حالا تبدیل به یک سارق حرفهای شده است.
چون ورشکست شدم. شریکم سرم را کلاه گذاشت و از کشور فرار کرد. مرا اینجوری نگاه نکنید، زمانی برای خودم برو و بیایی داشتم؛ مدام سفر خارجی میرفتم و زندگیام لاکچری بود اما شریکم که از چشمانم بیشتر به او اعتماد داشتم زندگیام را با خودش برد و کاری در حقم کرد که تبدیل به یک ورشکسته و بعد سارق حرفهای شدم.
ISO 8583 یک استاندارد بین المللی برای کارت تراکنش مالی منشا پیام های تبادلی است
-فرمت پیام
--نشانگر نوع پیام یا MTI
از ۴ رقم تشکیل شده ، رقم اول نسخه ، رقم دوم هدف کلی پیام ، رقم سوم چگونگی جریان در سیستم و رقم چهارم مکان منبه پیام در زنجیره پرداخت را مشخص می کند
0*** - ISO 8583:1987
1*** - ISO 8583:1993
2*** - ISO 8583:2003
...3, 4, 6, 7, 10, 12, 13, 14, 21, 24, 25, 27, 29, 30, 33, 34, 36, 39, 44, 48, 52, 55, 57, 59, 62,63اگر بعنوان باینری بخواهیم ارائه کنیم بصورت زیر می شود : 64 بیت برابر با ۸ بایت از باینری
0011 0110 0101 1100 0000 1001 1010 1100 1101 0010 0001 0001 0001 0010 1010 0110
365C09ACD21112A6
در زیر نشان داده شده که چگونه هگزادسیمال از باینری بدست آمده
0011 -> 3
0110 -> 6
0101 -> 5
1100 -> C
... etcIran | IRR | 364 |
یک فیلد زمانی وجود دارد که بیت مربوطه در بیتمپ تنظیم شده باشد.بعنوان مثال ، یک هگز با مقدار 0x82 ( دسیمال 130 ) باینری 0010 1000 است.یعنی فیلدهای 1 و 7 در پیام وجود دارند و فیلدهای 6،5،4،3،2 و 8 وجود ندارند.
Bitmap ممکن است بعنوان 8 بایت از داده باینری یا کاراکترهای هگزادسیمال ( A-F , 0-9 ) در کاراکتر اسکی بیان گردد.یک پیام شامل حداقل یک بیتمپ با نام Primary bitmap خواهد بود و نمایانگر اجزاء داده 1 تا 64 موجود است.وجود یک بیتمپ ثانویه اختیاری نیز با بیت اول در بیت مپ اولیه نمایش داده می شود ( یعنی اگر بیت اول یک باشد مثل کد باینری 1000 در اول کدهای باینری Primary با دارا بودن اولین کاراکتر سمت چپ که یک است ، نشاندهنده وجود Secondary Bitmap است ) . در صورت وجود ، بیتمپ ثانویه نشان می دهد که آیا عناصر داده 65 تا 128 وجود دارند یا خیر .به طور مشابه یک بیتمپ سوم می تواند برای نشان دادن حضور فیلدهای 129 تا 192 استفاده شود ، اگر چه این عناصر به ندرت استفاده می شوند.
مثال :
مقدار بیتمپ داده شده
70 10 00 11 02 C0 48 04
هگز 10 برابر باینری 0000 0001 ( اولین بیت متعلق به فیلد 9 است ، همچنین بیت چهارم اینجا نشان می دهد که فیلد 12 موجود است.)
هگز 00 یا باینری 0000 0000 ( هیچ فیلدی موجود نیست )
هگز 11 یا باینری 0001 0001 ( فیلد 28 و 32 موجودند)
هگز 02 یا باینری 0010 0000 ( فیلد 39 موجود است)
هگز C0 یا باینری 0000 1100 ( فیلد 41 و 42 موجودند )
هگز 48 یا باینری 1000 0100 ( فیلد 50 و 53 موجودند)
هگز 04 یا باینری 0100 0000 ( فیلد 62 موجود است )

| byte | hex value | bit value | field # |
|---|---|---|---|
0 | 20 | 0010 0000 | 3 |
1 | 20 | 0010 0000 | 11 |
2 | 00 | 0000 0000 | |
3 | 00 | 0000 0000 | |
4 | 00 | 0000 0000 | |
5 | 80 | 1000 0000 | 41 |
6 | 00 | 0000 0000 | |
7 | 00 | 0000 0000 |
| Fld # | Description | Value | Comments |
|---|---|---|---|
0 | MTI | 0100 | Authorization request |
2 | Primary Account Number | 4321123443211234 | |
3 | Processing Code | 000000 | |
4 | Amount transaction | 000000012300 | e.g., 123.00 |
7 | Transmission data/time | 0304054133 | MMYYHHMMSS |
11 | System trace audit number | 001205 | |
14 | Expiration date | 0205 | YYMM |
18 | Merchant Type | 5399 | |
22 | POS Entry Mode | 022 | Swiped Card |
25 | POS Condition Code | 00 | |
35 | Track 2 | 4321123443211234=0205.. | |
37 | Retrieval Reference Number | 206305000014 | |
41 | Terminal ID | 29110001 | |
42 | Merchant ID | 1001001 | |
49 | Currency | 840 |
1×2^(3)+0×2^(2)+1×2^(1)+0×2^(0)=10
Hex(10)=A
Binary(1100)
1×2^(3)+1×2^(2)+0×2^(1)+0×2^(0)=12
Hex(12)=C
Binary(1111)
1×2^(3)+1×2^(2)+1×2^(1)+1×2^(0)=15
Hex(15)=F
1×18+3×20+13=91
01581200F230040102B000000000000004000000
1048468112122012340000100000001107221800
000001161204171926FABCDE123ABD06414243
000termid1210Community106A5DFGR1112341234234

Regsvr32 /u "C:\Windows\SysWOW64\MSCOMCTL.OCX" Regsvr32 "C:\Windows\SysWOW64\MSCOMCTL.OCX"

داده را از فایل باز داخل یک متغیر می خواند
Get [ # ] filenumber, [ recnumber ], varname
varString=String(10," ")
Get #1,,varString
Docmd
expression.Rename (NewName, ObjectType, OldName)
Rename "New","Table","Old"
-آرگومان اول : نام جدید
-آرگومان دوم : نوع شئ مثل Query ، Table یا Form
-آرگومان سوم : نام فعلی
Application
expression.RefreshDatabaseWindow
Wscript.Shell
زمانیکه نیاز به اجرای برنامه ای بصورت محلی ، دستکاری محتویات رجیستری ، ایجاد شورتکات ، یا دسترسی به پوشه سیستمی دارید می توانید WshShell را ایجاد نمائید.شئ WshShell مجموعه Environment را فراهم می سازد.این مجموعه یا Collection به شما اجازه می دهد تا متغیرهای محیطی ( مانند WINDIR ، PATH یا PROMPT ) را مدیریت کنید.
set oShellLink = WshShell.CreateShortcut(strDesktop & "\Shortcut Script.lnk")oShellLink.TargetPath = WScript.ScriptFullNameoShellLink.WindowStyle = 1oShellLink.Hotkey = "CTRL+SHIFT+F"oShellLink.IconLocation = "notepad.exe, 0"oShellLink.Description = "Shortcut Script"oShellLink.WorkingDirectory = strDesktopoShellLink.Save
بعضی مِتُدها :
Explore : باز کردن یک فولدر
FileRun : باز کردن دیالوگ باکس File-Run
FindFiles : نمایش باکس Search ویندوزی
FindPrinter : نمایش باکس ویندوزی انتخاب پرینتر
MinimizeAll : مینیمایز کردن هرچیزی
("\\:NameSpace("C : ایجاد یک رفرنس شئ به فولدر
Open : بار کردن پوشه خاص
BrowseForFolder : باکس نمایش فولدرها ، نتیجه : یک شئ مرجع به شئ پوشه انتخابی ( شامل ویژگی title و self )
ShellExecute : اجرا کردی اسکریپت یا اپلیکیشن
ShutDownWindowse : نمایش باکس ShutDown ویندوز
ShowBrowseBar : نمایش نوارجستجو
ToggleDesktop : نمایش و مخفی کردن دسکتاپ
UndoMinimizeAll : از حالت مینیمایز در آوردن هر چیزی
نوشتاریِ تابع بصورت زیر و دارای دو آرگومان اجباری (Required) و اختیاری(Optional)است.اولی مسیر و نام فایل ، دومی حالت پنجره مثل vbNormalFocus یا vbHide ( پنهان می شود
)
Shell ( pathname [, windowstyle ] )
از تابع DDEInitiate برای شروع ارتباط مبادله داده پویا با سایر برنامه ها استفاده می شود. این تابع یک کانال برای انتقال داده بین سرور DDE و برنامه کلاینت باز می نماید
expression.DDEInitiate (Application, Topic)
Application : یک عبارت رشته ای نمایانگر یک برنامه که می تواند در مکالمه DDE همکاری داشته باشد.معمولا این آرگومان نام یک فایل EXE است البته بدون ذکر پسوند فایل برای برنامه های بر پایه ویندوز مثل مایکروسافت اکسل
برای مثال ، اگر تمایل به انتقال داده از کاربرگ اکسل به پایگاه داده اکسس را دارید می توانید از این تابع برای باز کردن یک کانال بین دو برنامه استفاده کنید.در این مثال اکسس بعنوان برنامه کلاینت و اکسل بعنوان برنامه سرور عمل می کند.
در صورت ارتباط موفق ، این تابع یک مکالمه DDE با برنامه و عنوان مشخص شده توسط برنامه و آرگومان های topic برقرار کرده و مقدار عددی نوع LONG را بر می گرداند.این مقدار بازگشتی یک شماره کانال یونیک و واحدی را نشان می دهد که کانالی را که انتقال داده از طریق آن می تواند انجام شود را مشخص می کند. این شماره کانال متعاقباً با سایر توابع و عبارات DDE استفاده می شود.
Dim chanNum As Variant
شروع تبادل با تابع DDEInitiate ، آرگومان اول اسم فایل Exe و آرگومان دوم نام فایل اکسس
اجرای ماکروی یک با تابع DDEExecute
DDEExecute chanNum, "[Macro1]"
خارج شدن از کانال که حتما باید انجام شود.
DDETerminate chanNum
نوشتاری تابع DDEExecute :
expression.DDEExecute (ChanNum, Command)
فرض کنید در حال اجرا کردن Word هستید و می خواهید داده را از پایگاه داده اکسس خاصی درون سندی بریزید.مکالمه DDE با اکسس بوسیله باز کردن کانال DDE با تابع DDEInitiate و مشخص کردن نام فایل پایگاه داده اکسس بعنوان topic را می توانید شروع کنید. سپس داده را از آن پایگاه داده به word از بین این کانال انتقال دهید.مایکروسافت اکسس topic های زیرین را پشتیبانی می نماید :
-System
-نام دیتابیس
-نام جدول
-نام کوئری
-عبارت Sql
بعد از انتشار مکالمه DDE ، می توانید از عبارت DDEExecute برای ارسال فرمان از کلاینت به برنامه سرور استفاده کنید.زمان استفاده بعنوان سرور ، اکسس هر یک از فرامین معتبر زیر را تشخیص می دهد:
-نام ماکرو در پایگاه داده جاری
-هر action که شما در ویژوال بیسیک انجام می دهید با استفاده از یکی از متدهای شئ Docmd.
-اکشن های OpenDatabase و CloseDatabase ، که فقط برای عملیات های DDE استفاده می شوند.
تابع DDE :
برای مثال می توانید از این تابع در ویژگی ControlSource کنترل تکست باکس برای مشاهده داده از یک سل مشخص شده داخل شیت اکسل استفاده نمائید
DDE(application, topic, item)
-آرگومان اول نام برنامه اجرایی با پسوند Exe است مثل Exel یا MSAccess طبق همان فرمتی که در مسیرش وجود دارد
-آرگومان دوم یا topic اغلب یک سند مثل Sheet است ( در اکسل ) یا فایل داده ای
-آرگومان سوم یا item یک عبارت رشته ای که نام آیتم داده تشخیص داده شده توسط اپلیکیشن است . بطور مثال اگر در حال درخواست داده از اکسل هستید item بایستی بصورت نشانگر ردیف و ستون باشد مثل "R1C1" یا نام محدوده ای از سل ها
-در کمبو باکس هم می توان از داده های ستونی از اکسل استفاده کرد ولی نمی توان درقسمت تکست باکس کمبو چیزی را اضافه نمود.
-در option group و checkbox هم مورد استفاده قرار می گیرد.
from serial port
جای com1 یا com2 می تواند شماره ip باشد
Chan = DDEInitiate("WinWedge", "Com1") MyData = DDERequest(Chan, "Field(1)")
DDETerminate Chan
48-57
1- لوپ زدن در طول متن که از چندین space تشکیل شده مثل :
For i=1 To Len(sText)
2-استفاده از تابع Mid
Mid(String,Start,Length)
Var=Mid(sText,1,i)
3-اگر Ascii code کاراکتر بین 48 تا 57 بود آن کاراکتر ( از رشته ) در متغیری موقتا ذخیرشود و در خروجی آن ارقام کنار هم نمایش داده شود.
این کدهای اسکی را می توان در جلوگیری از تایپ حروف نیز بکار برد ( در رویدادی که در تکست باس موجود است )
می توان برای راحتر شدن از تابع IsNumeric استفاده کرد که اگر کاراکتر عددی بود در متغیری ذخیره شود.
تابع ()Asc در اکسس در مقابل تابع() Chr است.برای برگرداندن مقدار ASCII اولین کاراکتر رشته مورد استفاده قرار می گیرد.
-از تابع Split می توان استفاده کرد
-از شی RegExp در Vba نیز می توان بهره برد با استفاد از ویژگی Pattern می توان صفر تا ۹ را مشخص نمود
[pt] >> فقط داخل براکت
[pt^] >> شامل داخل براکت نباشد
[a-z] >> شامل حروف کوچک a تا z باشد
d >> شامل digit یا رقم
D >> شامل digit یا رقم نباشد
. >> تک کاراکتر
n\ یاnewline
r\ یا vbCr
s\ شامل space باشد
و استفاده از مِتُد Execute در شئ Vba.RegExp
With objRegex
برای اجرای تابع که تمام تطابق ها در رشته را شامل شود ویژگی Global به True می بایست تنظیم شود.
'.Pattern = "[^\d]+" '[NOT digit]
.Pattern = "[\D]+" '[NOT digit]
کاراکترهایی که ارقام نیستند را با Null جایگزین می کند
End With
در زیر ویژگی Pattern عبارت A.C است اون نقطه طبق چیزی که بالا گفتیم یعنی تک کاراکتر و پس لوپ زیر تمام عباراتی که شامل سه کارکتر A تا C با داشتن یک تک کاراکتر وسط نامعلوم است را لیست می کند یعنی ABC و ADC و AJC
.Pattern = "A.C"
.Global = True
.IgnoreCase = True
stringOne = "ABC-A1289C-ADC-A1289C-AJC"
Set theMatches = regexOne.Execute(stringOne)
For Each Match In theMatches
Debug.Print Match.Value
لایحه جدید قوه قضائیه به مجلس ( خرداد ۱۴۰۲ ) که موجبات مخالفت محجبه ها را فراهم کرد :
هیچکس حق ندارد تحت عنوان امر به معروف و یا نهی از منکر نسبت به بانوانی که حجاب شرعی را رعایت نکرده اند مرتکب اعمال مجرمانه از قبیل توهین، افتراء، تهدید و یا ضرب و جرح و یا نقض حریم خصوصی آنان شوند و در صورت اقدام به مجازات مقرر در قانون محکوم خواهد شد»
Example (fictitious United Kingdom bank,2 sort code 12-34-56, account number 98765432):
IBAN :
A=10,B=11,C=12,D=13,E=14,F=15,G=16
In this example, the algorithm for D mod 97 will be applied to D = 3214282912345698765432161182. (The digits are colour-coded to aid the description below.) If the result is one, the IBAN corresponding to D passes the check digit test.
در چک کردن صحَّت شماره حساب ، خود فرد مسئول است و اشتباه بودن حساب شخص ، در سایت خود بانک مشخص خواهد شد نه با الگوریتم 

-ویژگی Text محتویات جاری کنترل است.
-ویژگی Value مقدار ذخیره شده کنترل تکست باکس است.
-ویژگی Value تا زمانیکه کنترل فوکس دارد همیشه در جریان است .
-ویژگی Value ، ویژگی Default کنترل را تنظیم یا باز می گرداند، که این ویژگی زمانیکه به صراحت نام ویژگی خاصی را مشخص نکردید ، فرض می شود.
ویژگی Value مشابه ویژگی DefaultValue که مقداری را مشخص می کند که یک ویژگی در هنگام ایجاد رکورد جدید به آن اختصاص می یابد نیست
ویژگی TextFormat را برای مشخص کردن اینکه در تکست باکس بتوانید از بعضی تگ های HTML استفاده کنید یا خیر استفاده میشود چنانچه >> به 1 تنظیم شود . بطور مثال میخواهید Bold یا Color بودن را در جاهایی از متن به دلخواه تغییر دهید.
.
ویژگی AppIcon یک عبارت رشته ای که نام یک فایل Bitmap یا Icon است. البته شامل مسیر !!!
راحت ترین راه برای تنظیم این ویژگی استفاده از انتخاب Application Icon در جعبه دیالوگ Access Options است.همچنین می توان با استفاده از ماکرو یا ویژوال بیسیک نیز آنرا تنظیم نمود.
برای تنظیم ویژگی AppIcon با استفاده از ماکرو یا ویژوال بیسیک می بایست یا اول در آن پنجره یادشده یکبار تنظیم نمود یا این ویژگی را طبق راه ها( ی )زیر ایجاد کرد :
در یک پایگاه داده اکسس ، می توان آن را با استفاده از مِتُد CreateProperty و الحاق کردنش به مجموعه پراپرتیزهای شئ آبجکت اضافه نمود.
نوشتاری این متد با آرگومان ها که همه Optional هستند نه اجباری و لازم
expression .CreateProperty(Name, Type, Value, DDL)
Type :
dbBoolean
dbText
dbLong
dbByte
Ex:Name="AppIcon";Type=dbText;Value=PathOfIconOrBitmap
خطای ۳۲۷۰ بدین معنی است که ویژگی پیدا نشد.
Error 3270 means that the property was not found.
بالا ساختن ویژگی بود و بعد استفاده از مِتُد زیر :
اضافه کردن ویژگی جدید به مجموعه یا کالکشن پراپرتیزها
expression .Append(Object)

با استفاده از پیام ویندوزی هم که به پنجره فرم می شود ارسال نمود می توان آیکون را ضمیمه کرد.
تابع SendMessageA و ارسال پیام ویندوزی WM_SETICON
wParam :
ICON_BIG=1
ICON_SMALL=0
lParam:
Null
SetWindowTextA hWndAccessApp,TitleText
در رویداد بارگزاری فرم با نام لاگین می توان تابعی نوشت که از تابع ShowWondow ویندوزی و قرار دادن مقدار صفر در آرگومان دوم آن برای مخفی کردن پنجره استفاده کند.
Private Sub Form_Load() On Error GoTo Err_Handler SetAccessWindow (SW_SHOWMINIMIZED) DoCmd.Restore Exit_Handler: Exit Sub Err_Handler: MsgBox "Error " & Err.Number & " in Form_Load procedure : " & Err.description Resume Exit_Handler End Sub
SetAccessWindow یک تابع نوشته شده توسط فرد است مثل
SetAccessWindow(frm As Form)
که درون آن از تابع ShowWindow ویندوزی برای مخفی کردن پنجره چه فرم مربوطه چه خود اپلیکیشن استفاده شده.
یک تابع که جوابش Boolean است ازکتابخانه User32 که اظهار آن در ویندوز ۶۴ بیتی با ۳۲ بیتی فرق میکند
BOOL ShowWindow( [in] HWND hWnd, [in] int nCmdShow );
*اما زمان کلیک کردن روی TaskBar پنجره اصلی نمایان میشود
استفاده از تابع SetWindowalongPtrA و بعد استفاده از SW_HIDE برای اپلیکیشن اکسس و سپس SW_SHOW برای فرم لاگین مورد نظر
استفاده از تابع برای تغییر Attribute پنجره مشخص شده
LONG_PTR SetWindowLongPtrA( [in] HWND hWnd, [in] int nIndex, [in] LONG_PTR dwNewLong );
nIndex :
GWL_EXSTYLE=-20
WS_EX_APPWINDOW=&H40000
زمانیکه پنجره یا Window قابل رویت است یک پنجره top-level را داخل نوار وظیفه یا TaskBar می گنجاند.
LONG_PTR GetWindowLongPtrA( [in] HWND hWnd, [in] int nIndex );
خلاصه باید Style را گرفت و موقتاً تغییر داد
lStyle=GetWindowLongPtrA(Login.hWnd,GWL_EXSTYLE) Or WS_EX_APPWINDOW
lStyle در آرگومان dwNewLong قرار داده می شود
می توان در پکیج نصبی از create-desktop-shortcut استفاده کرد برای معرفی Icon مورد نظر.
ویژگی WindowStyle >>> در Style ، فرضا مقدار ۱ : فعال و نمایش کردن پنجره . اگر پنجره مینیمایز یا ماکزیمایز باشد ، دستگاه آن را به سایز و موقعیت اصلی خودش باز می گرداند.
اگر خواندن متن بالا مفید واقع شد لطفا در نظرسنجی حتی خیلی کم هم شرکت نمائید
Sub Temp()
Dim intFileNum%, bytTemp As Byte, intCellRow%
intFileNum = FreeFile
intCellRow = 0
Open "C:\temp.bin" For Binary Access Read As intFileNum
Do While Not EOF(intFileNum)
intCellRow = intCellRow + 1
Get intFileNum, , bytTemp
Cells(intCellRow, 1) = bytTemp
نوشتاری
Open pathname For mode [ Access access ] [ lock ] As [ # ] filenumber [ Len = reclength ]
mode: ( اجباری )
Append,Binary,Input,OutPut Or Random
Default : Random
access : ( اختیاری )
Read, Write, or Read Write.
filenumber: ( اجباری )
in range 1 to 511
use FreeFile function : برای بدست آورن شماره فایل موجود بعدی
در حالت های Binary ، Input و Random یک فایل را می توان با استفاده از شماره فایل متفاوت بدون بستن باز نمود. در حالت های Append و OutPut می بایست قبل از باز کردن آن با شماره فایل متفاوت ، آنرا بست.
عبارت یا دستور Put در Vba : ( نوشتن )
Writes data from a Variable to a disk file.
Put [ # ] filenumber, [ recnumber ], varname
عبارت یا دستور Input در Vba : ( خواندن داده )
Reads data from an open sequential file and assigns the data to Variables
Input #filenumber, varlist
عبارت یا دستور Print در Vba : ( نوشتن در فایل )
Writes display-formatted data to a sequential file.
Print #filenumber, [ outputlist ]
OpenPort
Open "COM4:2400,N,8,1" For Binary Access Read Write As #1
cmnd$ = cmnd$ + Chr(13)
Put #1, , cmnd$
answer = ""
char = Input(1, #1)
While (char <> Chr(13))
If (char > Chr(31)) Then
answer = answer + char
End If
char = Input(1, #1) 'گرفتن کاراکتربعدی
Wend
Close #1
دهه سوم اردیبهشت ۱۴۰۲ :
فلاحتی امام جمعه رشت با انتقاد از حجاب برخی حاضران در مراسم گفت: سایت ها فردا می زنند نماینده ولی فقیه در جلسه ای شرکت کرد که حجاب را رعایت نکردند. من از همه زنان و دخترانی که این جا حجاب را رعایت نکردهاند، بیزارم...
دسترسی به ویژگیهای یک Disk Drive خاص یا اشتراک شبکه رافراهم میسازد . دارای کالکشن Drives و ویژگیهایی مثل DriveLetter VolumeName ، TotalSize ، FreeSpace یاSerialNumber ( نه هارد ) و ... است
اسم متغیر Fso که با Set همراه میشود
CreateObject("Scripting.FileSystemObject")
For Each D in Fso.Drives
Debug.Print D.DriveLetter & ";" & _
D.SerialNumber & ";" & _
D.TotalSize
Next
مِتُد GetDrive :
Declare A Variable Like fso
GetDrive("D:")
.DriveLetter
.TotalSize
The drivespec argument can be a drive letter (c), a drive letter with a colon appended (c:), a drive letter with a colon and path separator appended (c:), or any network share specification (\computer2\share1)

احمد شاه قاجار، آخرین شاه سلسله قاجار نهم اسفند ۱۳۰۸ درست ۴ سال و ۴ ماه پس از خلع قاجاریه از سلطنت ایران در ۳۲ سالگی در پاریس و در تبعید درگذشت. وی دچار اضافه وزن و بیماری کلیوی بود. احمدشاه را در تیرماه ۱۲۸۸ در ۱۲ سالگی برجای پدرش نشانده بودند. او در سال ۱۳۰۲ سه سال پس از کودتای رضا خان، از سلطنت خلع شده بود. احمد شاه به اراده خود به اروپا رفت، اما دیگر به او اجازه بازگشت داده نشد.
در صورتیکه پوشه مورد نظر موجود باشد True و در غیر اینصورت False را بر میگرداند
نوشتاری این متد :
Object.FolderExists(filespec)
کنترل محدود
یک کنترل آگاه از داده یا Data-aware می تواند دسترسی به یک فیلد یا فیلدهای خاص در پایگاه داده را از طریق یک کنترل داده فراهم کند. این کنترل معمولاً از طریق ویژگی های DataSource و DataField به یک کنترل داده متصل می شود. هنگامی که یک کنترل داده از یک رکورد به رکورد دیگر منتقل می شود، همه کنترل های محدود متصل به کنترل داده برای نمایش داده ها از فیلدهای رکورد فعلی تغییر می کنند. هنگامی که کاربران داده ها را در یک کنترل محدود تغییر می دهند و سپس به یک رکورد دیگر منتقل می شوند، تغییرات به طور خودکار در پایگاه داده ذخیره می شوند.
این متد یک شئ File مرتبط به فایل با یک مسیر مشخص را بازمی گرداند
در صورتیکه فایل در مسیر مشخص شده نباشد خطا ایجاد می کند.
شئ File دسترسی به تمام ویژگیهای یک فایل را فراهم می سازد
GetFolder>>>>>File Object >>>> Access to all properties
شئ File شامل کالکشن Files ( برای بازیابی فایل های موجود در یک پوشه ) ، چند متد مثل Move ، Delete ، Copy ، یا OpenAsTextStream ( برای دسترسی به فایل : جهت خواندن یا نوشتن ) و چندین ویژگی مثل DateCreated ، Name Path یا ShortPath و Size و ... است
برای شمارش تعداد فایل های موجود در پوشه خاص :
CreateObject Function:
Creates and returns a reference to an ActiveX object.
-ایجاد شئ Scripting.FileSystemOject با تابع CrateObject و اعلان آن با یک متغیر و استفاده از Set
.GetFolder(folderSpecified).Files.Count
1-ساخت شئ و تنظیم آن ( با Set ) به متغیری جهت استفاده از مجموعه ها و متدهای آنها
CreateObject :Scripting.FileSystemObject
متد GetFolder شئ Folder مرتبط با پوشه با مسیر مشخص را برمیگرداند و می توان به ویژگیهای آن دسترسی پیدا کرد.
GetFolder(PathSpecified)
شئ Folder طبق گفته بالا دسترسی به تمام ویژگیهای یک پوشه را فراهم می سازد.

این شئ فولدر دو تا کالکشن داره یکی کالکشن Files و دیگری SubFolders که مجموعه ای از تمام اشیاء پوشه موجود در یک شئ Folder است
حالا به SubFolders احتیاج داریم که بعد با Count ، تعداد را بگیریم
GetFolder(psPath).SubFolders.Count
هر فولدری می تواند یک زیرپوشه باشد . می توان با لوپ زدن یا ارسال آن به خود تابع تعداد کل پوشه ها در مسیر مشخص را گرفت. مثلا فولدر MyPath دارای چند زیرپوشه است و زیر پوشه images ممکن است خودش دارای پوشه هایی باشد که برای آن زیرپوشه و خودش برای آنها فولدر محسوب میشود.
درصورت مفید بودن لطفا در نظرسنجی "حتی خیلی کم" شرکت نمائید
دستور Type فقط در سطح Module قابل استفاده است . پس از اینکه یک نوع تعریف شده توسط کاربر را با استفاده از Type اعلام کردید ، *می توانید متغیری از آن نوع را در هر جایی از محدوده اعلان اعلام کرد.از Dim ، Private ، Public ، Redim یا Static برای اعلام یک متغیر از نوع تعریف شده توسط کاربر استفاده کنید
*User-Defined یعنی تعریف شده از طرف کاربر
مثال :
Type EmployeeRecord ' Create user-defined type.
ID As Integer ' Define elements of data type.
Name As String * 20
Address As String * 30
Phone As Long
HireDate As Date
*طبق گفته بالا اظهار کنید
مثال دیگر برای جستجوی فایل توسط متدهای کالکشنFolder
Downloads bits from the Internet and saves them to a file.
Library : Urlmon.lib
DLL : Urlmon.Dll
LPUNKNOWN pCaller,
LPCTSTR szURL,
LPCTSTR szFileName,
_Reserved_ DWORD dwReserved,
LPBINDSTATUSCALLBACK lpfnCB
);
برای نوشتن تابع بالا برای ویندوز ۶۴ بیت باید PtrSafe را در نیز در آن بکار ببرید
-Pcaller : را Null یا Zero انتخاب کنید
-szURL : به یک مقدار رشته ای که حاوی URL برای دانلود است اشاره می کند ( منظور آدرس سایت و پیج مربوطه ) اگر معتبر نباشد INET_E_DOWNLOAD_FAILURE را بر می گرداند البته ایندکسش را
-szFileName : یک مقدار رشته ای حاوی نام یا مسیر کامل ، اگر حاوی مسیر باشد دایرکتوری مقصد یا هدف می بایست از قبل موجود باشد
-dwReserved : رزورشده است و بایستی صفر باشد.
-lpfnCb : عملیات دانلود می تواند کنسل شود توسط برگشت E_ABORT از هر تابع فراخوانی.این پارامتر می تواند به NULL تنظیم شود
Windows Internet Explorer 8. URLDownloadToFile does not support IBindStatusCallbackEx and cannot be used to download files over 4 gigabytes (GB) in size. Refer instead to IBindStatusCallbackEx::GetBindInfoEx for a code example.
Sub download_multiple_photos()dlpath = "C:\DownloadedPics\"For i = 2 To 7imgsrc = Cells(i, 2)imgname = Cells(i, 1)URLDownloadToFile 0, imgsrc, dlpath & imgname & ".jpg", 0, 0Next iEnd Sub
result = URLDownloadToFile(0, url, filePath, 0, 0)
If result = 0 Then
MsgBox ("Succeeded")
Else
MsgBox ("failed ")
End If
برای چک کردن فایل در مسیر خاص
Syntax
نوشتاری تابع
Dir[(pathname [, attributes] )]
Dir(" " ,VbDirectory)
If Len(Dir("c:\example.mdb")) = 0 Then
Msgbox "This file does NOT exist."
Else
Msgbox "This file does exist."
End If
از مِتُد FileExists از شی FileSystemObject هم می توان استفاده کرد
True را بر می گرداند اگر فایل مشخص شده موجود باشد و False را در زمان نبودن موضوع این است بودن یا نبودن !
Returns True if a specified file exists; False if it does not.
نوشتاری متد به شرح ذیل است
object.FileExists (filespec)
این متد از ۳ بخش تشکیل شده
The FileExists method syntax has these parts:
| Part | Description |
|---|---|
| object | Required. Always the name of a FileSystemObject |
| filespec | Required. The name of the file whose existence is to be determined. A complete path specification (either absolute or relative) must be provided if the file isn't expected to exist in the current folder. |
نوشتاری موجودیت یک پوشه :
object.FolderExists (folderspec)
استفاده از CreateObject و Set برای استفاده از متدهای این شئ :
Scripting.FileSystemObject
Methods:
Add
Copy
CreateTextFile
Delete
Move
-Properties:
DateCreated
DateLastAccessed
DateLastModified
Drive
Files
IsRootFolder
Name
ParentFolder
ShortPath
Size
SubFolders
Type
لطفاً در نظر سنجی شرکت کنید مطالب بالا قطعا برای هر اکسس کاری مفید خواهد بود و از داکیومنت خود آفیس بهره بردیم برای یادگیری شما عزیزان ، حتی نظر خیلی کم هم بدهید برای بنده باارزش خواهد بود
از متدهای SetOption و GetOption برای تنظیم و گرفتن مقادیر انتخاب ( Option Box ) در جعبه دیالوگ Options استفاده کنید.برای مشاهده این دیالوگ باکس ، اول باتن Office و سپس Access Options را کلیک نمائید.
مقداری که به متد SetOption بعنوان آرگومان ارسال می کنید بستگی به نوع گزینه ای دارد که تنظیم می کنید.
مثال :
گرفتن مقدار :
Debug.Print Application.GetOption("Selection Behavior")
ارسال مقدار :
Application.SetOption "Selection Behavior", 1
مثال دیگر گرفتن فولدر پیش فرض دیتابیس
Application.GetOption("Default Database Directory")
خاموش کردن تنظیم اعلان های تائید تغییر رکورد ، حذف و کوئری های اکشن یا استفاده از متد Docmd.SetWarnings False
Application.SetOption "Confirm Record Changes", False
Application.SetOption "Confirm Document Deletions", False
Application.SetOption "Confirm Action Queries", False
Private Declare Function GetUserNameA Lib "advapi32.dll" Alias _(ByVal lpBuffer As String, nSize As Long) As Long
لطفا در صورت اعلام نظرسنجی خیلی کم یا کم در همان یادداشت علت را ذکر کنید
دو تا کنترل چک باکس در فرمی تعبیه شده می خواهیم با زدن تیک یکی تیک دیگری برداشته شود.
در رویداد کلیک هر کدام می توانید دیگری را فالز یا صفر کنید اگر درسته لطفا نظر بدهید.
checkbox2=Not Checkbox1
یا
CheckBox2=0
چک کنید کدام درست است و اعلام بفرمائید.
چنانچه تعداد چک باکس ها زیاد باشد که معمولا همچین کاری کمتر پیش میاد مگر اینکه خلافش ثابت بشود >>> باید در رویداد Click هر کنترل ، سایر کنترل ها را مقدار صفر دهید که زمانبراست ( البته منظورم چک باکس های بیش از ۸ باکس است ). روشی را باید بیابید که در کنترل های چک باکس با نام معین لوپ بزند و اگر اسم کنترل فعلی که زده شد نبود آنها را False نماید ... اگر کسی به روش مذبور دست پیدا کرد برای نمایش و استفاده سایر کاربران در نظرات قرار دهد.
اجرای کوئری به روز رسانی :
تیک چک باکس با نام Acct در کل رکوردهای جدول tblData ، در صورتیکه زده شده باشد ( برابر True یا عددی غیر صفر ) را بر می دارد.
Run an UPDATE query.
CurrentDb.Execute "UPDATE tblData1 SET Acct = False WHERE Acct <> False"اسنادِ ویژگی ( Property ) و اشیاءِ ( Object ) مایکروسافت آفیس به رایگان برای مطالعه همه قرار داده شده مثل ویژگی زیر .لطفا دنبال کد آماده نباشید!!! در خود مثال های خیلی خوب و کاربردی آورده که فقط با مطالعه و تست زیاد می توان یاد گرفت.
ویژگی ControlType (جهت مطالعه)