jjafferr قام بنشر منذ 21 ساعات قام بنشر منذ 21 ساعات السلام عليكم في كثير من الاوقات ما نعرف نستعمل الفاصلة او الفاصلة المنقوطة !! هي جزء من اعدادات الوندوز في المرفق وحدة نمطية تقوم بجلب الفاصل ، ونستعملها كالتالي: debug.print fList_Seperator او dim fList as string fList=fList_Seperator stDocName = "tbl_student1" & DLookup("Year_name" & fList & "tbl_basic") وانا اقوم بعمل الكثير من ملفات csv ، فحتى الكود يتوافق بين جهازي وبين اجهزة جميع المستخدمين وبغض النظر عن اعدادات الوندوز لهم ، استعمل هذا الكود لحل هذه الحالات Period_or_Semi_Period.zip 2 1
jjafferr قام بنشر منذ 20 ساعات الكاتب قام بنشر منذ 20 ساعات 25 دقائق مضت, AbuuAhmed said: تذكرت موضوع قديم، قد يسهم في إثراء الموضوع: شكرا جزيلا ابو احمد ، وللأسف ما كنت شايف موضوع ابو هادي 🙂 1
jjafferr قام بنشر منذ 1 ساعه الكاتب قام بنشر منذ 1 ساعه في المثال الذي ارفقته ، يمكنك الحصول على اي بيانات من الاعدادات الاقليمية ، فهناك بعض الامثلة على ذلك. هذا الكود كاملا من المرفق: Option Compare Database Option Explicit ' This code was originally written by Dev Ashish. ' It is not to be altered or distributed, ' except as part of an application. ' You are free to use it in any application, ' provided the copyright notice is left unchanged. ' ' Code Courtesy of ' Dev Ashish ' Public Const LOCALE_ILANGUAGE = &H1 ' language id Public Const LOCALE_SLANGUAGE = &H2 ' localized name of language Public Const LOCALE_SENGLANGUAGE = &H1001 ' English name of language Public Const LOCALE_SABBREVLANGNAME = &H3 ' abbreviated language name Public Const LOCALE_SNATIVELANGNAME = &H4 ' native name of language Public Const LOCALE_ICOUNTRY = &H5 ' country code Public Const LOCALE_SCOUNTRY = &H6 ' localized name of country Public Const LOCALE_SENGCOUNTRY = &H1002 ' English name of country Public Const LOCALE_SABBREVCTRYNAME = &H7 ' abbreviated country name Public Const LOCALE_SNATIVECTRYNAME = &H8 ' native name of country Public Const LOCALE_IDEFAULTLANGUAGE = &H9 ' default language id Public Const LOCALE_IDEFAULTCOUNTRY = &HA ' default country code Public Const LOCALE_IDEFAULTCODEPAGE = &HB ' default code page Public Const LOCALE_SLIST = &HC ' list item separator Public Const LOCALE_IMEASURE = &HD ' 0 = metric, 1 = US Public Const LOCALE_SDECIMAL = &HE ' decimal separator Public Const LOCALE_STHOUSAND = &HF ' thousand separator Public Const LOCALE_SGROUPING = &H10 ' digit grouping Public Const LOCALE_IDIGITS = &H11 ' number of fractional digits Public Const LOCALE_ILZERO = &H12 ' leading zeros for decimal Public Const LOCALE_SNATIVEDIGITS = &H13 ' native ascii 0-9 Public Const LOCALE_SCURRENCY = &H14 ' local monetary symbol Public Const LOCALE_SINTLSYMBOL = &H15 ' intl monetary symbol Public Const LOCALE_SMONDECIMALSEP = &H16 ' monetary decimal separator Public Const LOCALE_SMONTHOUSANDSEP = &H17 ' monetary thousand separator Public Const LOCALE_SMONGROUPING = &H18 ' monetary grouping Public Const LOCALE_ICURRDIGITS = &H19 ' # local monetary digits Public Const LOCALE_IINTLCURRDIGITS = &H1A ' # intl monetary digits Public Const LOCALE_ICURRENCY = &H1B ' positive currency mode Public Const LOCALE_INEGCURR = &H1C ' negative currency mode Public Const LOCALE_SDATE = &H1D ' date separator Public Const LOCALE_STIME = &H1E ' time separator Public Const LOCALE_SSHORTDATE = &H1F ' short date format string Public Const LOCALE_SLONGDATE = &H20 ' long date format string Public Const LOCALE_STIMEFORMAT = &H1003 ' time format string Public Const LOCALE_IDATE = &H21 ' short date format ordering Public Const LOCALE_ILDATE = &H22 ' long date format ordering Public Const LOCALE_ITIME = &H23 ' time format specifier Public Const LOCALE_ICENTURY = &H24 ' century format specifier Public Const LOCALE_ITLZERO = &H25 ' leading zeros in time field Public Const LOCALE_IDAYLZERO = &H26 ' leading zeros in day field Public Const LOCALE_IMONLZERO = &H27 ' leading zeros in month field Public Const LOCALE_S1159 = &H28 ' AM designator Public Const LOCALE_S2359 = &H29 ' PM designator Public Const LOCALE_SDAYNAME1 = &H2A ' long name for Monday Public Const LOCALE_SDAYNAME2 = &H2B ' long name for Tuesday Public Const LOCALE_SDAYNAME3 = &H2C ' long name for Wednesday Public Const LOCALE_SDAYNAME4 = &H2D ' long name for Thursday Public Const LOCALE_SDAYNAME5 = &H2E ' long name for Friday Public Const LOCALE_SDAYNAME6 = &H2F ' long name for Saturday Public Const LOCALE_SDAYNAME7 = &H30 ' long name for Sunday Public Const LOCALE_SABBREVDAYNAME1 = &H31 ' abbreviated name for Monday Public Const LOCALE_SABBREVDAYNAME2 = &H32 ' abbreviated name for Tuesday Public Const LOCALE_SABBREVDAYNAME3 = &H33 ' abbreviated name for Wednesday Public Const LOCALE_SABBREVDAYNAME4 = &H34 ' abbreviated name for Thursday Public Const LOCALE_SABBREVDAYNAME5 = &H35 ' abbreviated name for Friday Public Const LOCALE_SABBREVDAYNAME6 = &H36 ' abbreviated name for Saturday Public Const LOCALE_SABBREVDAYNAME7 = &H37 ' abbreviated name for Sunday Public Const LOCALE_SMONTHNAME1 = &H38 ' long name for January Public Const LOCALE_SMONTHNAME2 = &H39 ' long name for February Public Const LOCALE_SMONTHNAME3 = &H3A ' long name for March Public Const LOCALE_SMONTHNAME4 = &H3B ' long name for April Public Const LOCALE_SMONTHNAME5 = &H3C ' long name for May Public Const LOCALE_SMONTHNAME6 = &H3D ' long name for June Public Const LOCALE_SMONTHNAME7 = &H3E ' long name for July Public Const LOCALE_SMONTHNAME8 = &H3F ' long name for August Public Const LOCALE_SMONTHNAME9 = &H40 ' long name for September Public Const LOCALE_SMONTHNAME10 = &H41 ' long name for October Public Const LOCALE_SMONTHNAME11 = &H42 ' long name for November Public Const LOCALE_SMONTHNAME12 = &H43 ' long name for December Public Const LOCALE_SABBREVMONTHNAME1 = &H44 ' abbreviated name for January Public Const LOCALE_SABBREVMONTHNAME2 = &H45 ' abbreviated name for February Public Const LOCALE_SABBREVMONTHNAME3 = &H46 ' abbreviated name for March Public Const LOCALE_SABBREVMONTHNAME4 = &H47 ' abbreviated name for April Public Const LOCALE_SABBREVMONTHNAME5 = &H48 ' abbreviated name for May Public Const LOCALE_SABBREVMONTHNAME6 = &H49 ' abbreviated name for June Public Const LOCALE_SABBREVMONTHNAME7 = &H4A ' abbreviated name for July Public Const LOCALE_SABBREVMONTHNAME8 = &H4B ' abbreviated name for August Public Const LOCALE_SABBREVMONTHNAME9 = &H4C ' abbreviated name for September Public Const LOCALE_SABBREVMONTHNAME10 = &H4D ' abbreviated name for October Public Const LOCALE_SABBREVMONTHNAME11 = &H4E ' abbreviated name for November Public Const LOCALE_SABBREVMONTHNAME12 = &H4F ' abbreviated name for December Public Const LOCALE_SABBREVMONTHNAME13 = &H100F Public Const LOCALE_SYSTEM_DEFAULT& = &H800 Public Const LOCALE_USER_DEFAULT& = &H400 Const cMAXLEN = 255 Private Declare PtrSafe Function apiGetLocaleInfo Lib "kernel32" _ Alias "GetLocaleInfoA" (ByVal Locale As Long, _ ByVal LCType As Long, ByVal lpLCData As String, _ ByVal cchData As Long) As Long '''' Function CountryName() As String Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngx As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngx = apiGetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SCOUNTRY, strLCData, lngData) If lngx <> 0 Then CountryName = Left$(strLCData, lngx - 1) End If End Function '''' Function fLocaleInfo(lngLCType As Long) As String Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngx As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngx = apiGetLocaleInfo(LOCALE_USER_DEFAULT, lngLCType, _ strLCData, lngData) If lngx <> 0 Then fLocaleInfo = Left$(strLCData, lngx - 1) End If End Function Function fLOCALE_IMEASURE() As String ' 0 = metric, 1 = US Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngx As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngx = apiGetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_IMEASURE, _ strLCData, lngData) If lngx <> 0 Then fLOCALE_IMEASURE = Left$(strLCData, lngx - 1) End If End Function Function fList_Seperator() As String ' list seperator , OR ; Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngx As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngx = apiGetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SLIST, _ strLCData, lngData) If lngx <> 0 Then fList_Seperator = Left$(strLCData, lngx - 1) End If End Function وهذا مثال لا يوجد في المرفق: اذا اردنا عمل برنامج يعمل لجميع عملات العالم ، فيجب علينا وضع الفاصلة بالطريقة الصحيحة لكل دولة حسب الاعدادات الاقليمية لتلك الدولة: 1. فاصلة الآلاف (من الكود ، يتضح ان تعريفه هو: Public Const LOCALE_SMONTHOUSANDSEP = &H17 ' monetary thousand separator ) 2. الفاصلة العُشرية (من الكود ، يتضح ان تعريفه هو:Public Const LOCALE_SMONDECIMALSEP = &H16 ' monetary decimal separator ) : 1. طريقة اضافة فاصلة الآلاف (LOCALE_SMONTHOUSANDSEP ) : نأخذ نسخة من كود الفاصلة مثلا ، A - اسم الدالة ، B - قيمة فاصلة الآلاف اعلاه . فيصبح الكود: Function fmonetary_thousand_Seperator() As String ' monetary thousand separator Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngx As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngx = apiGetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SMONTHOUSANDSEP, _ strLCData, lngData) If lngx <> 0 Then fmonetary_thousand_Seperator = Left$(strLCData, lngx - 1) End If End Function Function fmonetary_decimal_Seperator() As String ' monetary decimal separator Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngx As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngx = apiGetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SMONDECIMALSEP, _ strLCData, lngData) If lngx <> 0 Then fmonetary_decimal_Seperator = Left$(strLCData, lngx - 1) End If End Function . وعندما نريد التأكد منها ، نتأكد هكذا: ?fmonetary_decimal_Seperator . ?fmonetary_thousand_Seperator , . ولكن الحمدلله ، لا نحتاج لعمل هذا في الاكسس ، فالامر التالي يقوم بالمهمة: ?format(12345.67,"Standard") 12,345.67
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان