نجوم المشاركات
Popular Content
Showing content with the highest reputation on 03/06/18 in مشاركات
-
قم بتحديث برنامج الضغط لديك لاخر نسخة 5.50 هذا ليس خطأ في الضغط وانما في تحديث الوينرار تحياتي2 points
-
2 points
-
2 points
-
وعليكم السلام عملت لك التالي : 1- ادخلت معيار التاريخ في الاستعلامات الفرعية التي يضمها استعلام التوحيد 2- الغيت نموذج العرض لاني اعتقد انه زائد حيث لا يمكن التعديل عليه واكتفيت بالتقرير انظر التعديل ووافني برأيك client2.rar2 points
-
جرب هذا التطبيق على الاكواد الموجودة في حدث الزر If SavRef = 2 Or SavRef = 3 Then Call Form_Close Call Form_formT2.undo_subform DoCmd.GoToRecord , , acNewRec Else DoCmd.GoToRecord , , acNewRec End If test_UP4.rar2 points
-
السلام عليكم ورحمة الله وبركاته هذا الموضوع اُثير اكثر من مرة في الآونة الاخيرة ، ورأيت من الافضل ان اضع مثال ليقتدي به الجميع وقبل ان نبدأ ، اود ان اشير الى انني اعمل على اكسس 32 بت ، ولا املك نسخة من اكسس 64 بت احب ان اشير الى الرابط الذي شرحت فيه ان مايكروسوفت توصي بتنصيب الاوفيس / اكسس 32 بت ، بغض النظر عن نوع الوندوز المنصّب على الكمبيوتر ، سواء كان 32 بت او 64 بت: http://www.officena.net/ib/topic/64036-هل-استخدم-اوفيس-32-بت-او-64-بت/ ولكن ، ماذا نفعل اذا عملنا برنامجنا على اكسس 32 بت ، واتضح ان الزبون عنده جهاز فيه اكسس 64 بت المثال التالي يشتغل على 32 بت و 64 بت ، ونستطيع ان نستفيد منه لعمل برنامجنا البرنامج المرفق ، بعد فك الضغط ، سيحتوي على 3 برامج: . هذا برنامج No_Password_BE.accdb ، وبه جدول واحد ، ولا يحتاج الى كلمة سر لفتحه: . هذا برنامج Password_is_jj_BE.accdb ، وبه جدول واحد ، وكلمة السر لفتحه هي jj: . البرنامج: JStreetAccessRelinker2.accdb من الرابط http://www.jstreettech.com/downloads.aspx ، وبه ماكرو ووحدات نمطية تعمل على 32 بت و 64 بت (فالفضل في هذا المثال يعود للبرنامج وليس لي ) ، وقد قمت بإضافة نموذج لربطه مع احد برنامج الجداول اعلاه ، ومبدئيا فهو مرتبط مع البرنامج No_Password_BE.accdb ، . وعند فتح البرنامج لأول مرة ، سوف يفتح نافذة تطلب معرفة مكان برنامج الجداول No_Password_BE.accdb ، وتستطيع ان تنقر على الزر Link Another BE ، وستفتح لك نافذة تطلب منك معرفة مكان برنامج الجداول الجديد الذي تريد ان تربطه (بدل البرنامج No_Password_BE.accdb) : . وبما ان البرنامج هذا محمي بكلمة سر ، فسوف تظهر لك نافذة لإدخال كلمة السر (لاحظ ان الادخال مشفر) : . وعندما يتم الربط ، سترى رسالة التاكيد: . الرجاء من الشباب الذين لديهم نسخة من الاكسس 64 بت ، التاكد من ان البرنامج يشتغل على كمبيوترهم بدون اخطاء. عندما نريد ان نعمل برنامج يشتغل على النسختين 32 و 64 بت ، فكود النماذج هو نفسه بين نسختي 32 بت و 64 بت ، والشئ الوحيد الذي يتغير هو دوال الوحدات النمطية API ، والكود الذي ينادي هذه الوحدات (بغض النظر سواء كان في نموذج او في وحدة نمطية مستقلة) ، هنا سوف اعطي مثال واحد من الكود عن طريقة العمل للنسختين 32 و 64 بت: الكود التالي يستعمل دالة API فتح نافذة اختيار ملف ، والدالة هي 32 بت (لاحظ comdlg32.dll ) : Private Declare Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Long الان اذا اردنا ان نجعل هذه الداله API تعمل على 64 بت كذلك ، فالكود يجب ان يكون: #If VBA7 Then 'هذه لنسخة 64 بت Private Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Boolean #Else 'وهذه لنسخة 32 بت Private Declare Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Long #End If ولاحظ في كود البرنامج ، انه تم جمع جميع الدوال مع بعض ، وجمعها في if# و else# و end if# واحدة. وهناك اصدار جديد لكود الربط ، ويمكن انزاله من هنا: http://www.jstreettech.com/files/JStreetAccessRelinker2.zip جعفر 238.Work_on_32Bits_and_64Bits.zip1 point
-
1 point
-
تمام أستاذي الكريم زادكم الله علما وبارك فيه وجعله في ميزان حسناتكم ونفع بكم المسلمين وجزاكم الله خيرا1 point
-
انا عندي واضح عموما جرب استخدم الكود بدون تنسيق غامق استبدل بهذا: If Eval("MsgBox('سبق جرده بموقع: ( " & Mw & " ) بعدد كمية: " & [Km] & "', " & vbCritical + vbYes + vbExclamation & ", 'تنبيه - حقل موجود')") Then1 point
-
هناك خطأ في احد الاكواد: ويرجح ان يكون شيء كهذا: DAO.Recordset هذا والله اعلم حاول ان تعمل مثالا صغيرا بتصدير الخطا على قاعدة جديدة وارفقها تحياتي1 point
-
بارك الله فيك اسعدك الله دنيا واخره كم انت طيب الفلب بارك الله فيك وزادك الله علما نعم هو مطلوبي الف شكر اليك استاذي الكريم1 point
-
1 point
-
السلام عليكم ورحمة الله الكود يعمل لدى بمنتهى الكفاءة و هذا هو الدليل اليك الملف BookC.rar1 point
-
سيدي الفاضل المحترم سليم حاصيبا هذا هو المطلوب تماماً - يعجز الكلام عن شكرك ولكن كل ما أستطيع عمله هو أن أدعي لك بظهر الغيب وأدعو أن يجازيك الله عني خير الجزاء ويجعل مثواك الفردوس الأعلى.1 point
-
حسب مافهمت استبدل الكود بهاذا If Me.الكمية_المعطاه > Me.الكمية_المستحقة Then Beep MsgBox " عفوا الكمية المعطاه اكبر من الكمية المستحقة ""( " & [الكمية_المستحقة] & " ) ", vbOKOnly + vbInformation, " تنبيه " Me.الكمية_المعطاه = Me.الكمية_المستحقة End If1 point
-
اخي الفاضل يستحسن ارفاق مثال مختصر كي توضح الصورة لا نعمل ماذا تريد انت بعقلك فكرة غيرك لا يعرفها لكن المثال يبسط الامر1 point
-
تفضل اخي الكريم ان شاء الله يكون طلبك المرتجع والسعر.rar1 point
-
1 point
-
1 point
-
1 point
-
اخي الكريم ياسر الرجاء ارفاق ملفات وما هو نوع التعديل الذي تريده لكي يتمكن السادة من مساعدتك1 point
-
السلام عليكم ورحمة الله استبدل الكود السابق بهذا الكود وهو نفس الكود السابق بعد التعديل Sub KH_START1() Dim R As Integer ', i As Integer, n As Integer, s As Integer Dim Q As Range Dim sh As Worksheet: Set sh = Worksheets("add") Dim ws As Worksheet: Set ws = Worksheets("ArchiveS") Dim Lr As Long: Lr = sh.Cells(Rows.Count, "B").End(xlUp).Row Dim Ls As Long: Ls = ws.Cells(Rows.Count, "B").End(xlUp).Row m = 3 Application.ScreenUpdating = False For R = 6 To 506 If sh.Cells(R, "H") = "M" Then m = m + 1 sh.Range("A" & R).Range("A1:D1").Copy 'تحديد الاعمدة المراد نسخها' With ws 'هذا السطر لنسخ البيانات محتاج تعديل هذا السطر ليتم النسخ بعد اخر صف به بيانات ويترك البيانات السابقه ' ws.Range("A" & m + Ls - 3).PasteSpecial xlPasteValues ws.Range("A" & m + Ls - 3) = m + Ls - 6 'تسلسل' End With End If Next Application.ScreenUpdating = True End Sub1 point
-
1 point
-
ماشاء الله عليك ابو ياسين سبقتني واتحفت في الرد1 point
-
اتفضل في حدث بعد التحديث في خانه دفعه ضع هذا الكود If Me.دفعة > Me.الثمن Then Beep MsgBox " عفوا الدفعة اكبر من الثمن ""( " & [الثمن] & " ) ", vbOKOnly + vbInformation, " تنبيه " Undo Exit Sub End If1 point
-
1 point
-
1 point
-
1 point
-
تم معالجة الامر الكود Option Explicit Option Base 1 Sub copy_data_Salim() Dim My_Sheet As Worksheet Set My_Sheet = Sheets("SANADAT") Dim Target_Sh As Worksheet If ActiveSheet.Name <> My_Sheet.Name Then GoTo Exit_Me Dim laste_row% Dim Const_Srting$: Const_Srting = "OK" Dim k%, m%, i%, t% Dim Source_Array() ReDim Source_Array(1 To 11) Source_Array = Array("B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "N") Dim Target_Array() ReDim Target_Array(1 To 11) Target_Array = Array("C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M") k = My_Sheet.Cells(Rows.Count, 2).End(3).Row On Error Resume Next For i = 2 To k m = My_Sheet.Cells(i, Columns.Count).End(1).Column If My_Sheet.Cells(i, "q") = Const_Srting Then GoTo Next_I Set Target_Sh = Sheets(My_Sheet.Cells(i, "P") & "") laste_row = Target_Sh.Cells(Rows.Count, 3).End(3).Row + 1 For t = LBound(Source_Array) To UBound(Source_Array) Target_Sh.Cells(laste_row, Target_Array(t)) = _ My_Sheet.Cells(i, Source_Array(t)) Next My_Sheet.Cells(i, "Q") = Const_Srting Next_I: Next Exit_Me: Erase Source_Array: Erase Target_Array Application.ScreenUpdating = True End Sub الملف مرفق الايجار Salim With_Array.xlsm1 point
-
1 point
-
الكود الجديد لعمل هذا Sub Distribute_col() Application.EnableEvents = False Dim MY_Rg As Range Dim x%, n%, i% Dim k%: k = 1 Dim s%: s = 1 Dim my_arr(), my_arr_Item() Set MY_Rg = Range("i5").CurrentRegion Dim N_row As Double: N_row = MY_Rg.Rows.Count Set MY_Rg = MY_Rg.Resize(N_row - 1) N_row = MY_Rg.Rows.Count Dim st_to_del$ Range("LM6:LM" & N_row + 6).ClearContents x = Int(N_row / [LM1]) For n = 1 To N_row ReDim Preserve my_arr_Item(1 To s) my_arr_Item(s) = MY_Rg.Cells(n) ReDim Preserve my_arr(1 To s) my_arr(s) = "Section :" & k s = s + 1 If (n Mod x) = 0 Then k = k + 1 Next For i = LBound(my_arr) To UBound(my_arr) Cells(i + 5, "LM") = Application.Index(my_arr, _ Application.Match(my_arr_Item(i), my_arr_Item, 0)) Next st_to_del = [LN1] If st_to_del = "ALL" Then GoTo exit_Me For i = 6 To UBound(my_arr) + 5 If Range("e" & i) <> st_to_del Then Range("LM" & i) = vbNullString End If Next GoTo 2 exit_Me: '================================ For i = 6 To UBound(my_arr) + 5 If Range("e" & i) = "مستبعد" Then Range("LM" & i) = vbNullString End If Next 2: '============================= Application.EnableEvents = True End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$LM$1" _ Or Target.Address = "$LN$1" Then _ Distribute_col End Sub1 point
-
1 point
-
1 point
-
محمّد حسن المحمّد ياسر العربي سليم حاصبيا عبد العزيز البسكري بارك الله فيكم وجزاكم الله خيراً على هذا التوضيح وجعله الله في ميزان حسناتكم جميعاونفع الله بكم1 point
-
أنا قدمت لك الحل المناسب بس إنت بتدور على حل آخر .. إذا لم يكن لديك حل فارضى بالحل الموجود إلى أن يتواجد غيره (حكمة اليوم)1 point
-
السكوت من ذهب بحثت عن الذهب .......................................... فمن الذى ذهب تحياتى1 point