-
Posts
707 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
13
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أبو إبراهيم الغامدي
-
طلب تعديل على كود تصدير حقول إلى الوورد
أبو إبراهيم الغامدي replied to حامل المسك's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته.. اللهم آمين.. هذي طريقتي،، أرجو أن ترضيَك.. البرنامج.zip -
تعبئة حقل في جدول من حقل موحد مكرر في جداول أخرى
أبو إبراهيم الغامدي replied to nssj's topic in قسم الأكسيس Access
أهلا بك عزيزي.. لم أجلس معك يوماً! ولم أسمعك كررت شيئا! ولم أُلزمك أن تسير معيَ أبداً! إذن لاداعي لهذه المشاعر الملتهبة! هون عليك! كل ما في الأمر أنني أريد أن تصل إلى المطلوب بدون الحاجة إلى الشفرة. بدون الجدول الوسيط أنت بحاجة إلى سجل جديد في كتاب الحديث لكل تخريجة، أو كتابة أكثر من تخريجة في السجل الواحد.. وبدون رقم الكتاب لن تعرف إلى أي كتاب ينتمي الحدث.. ولهذا لم يكن باستطاعتك الوصول إلى البيانات بطريقة سليمة، لكون البيانات معرفة بطريقة غير سليمة.. ولهذا كان يلزمنا تصحيح هذا الخطأ برمجيا عن طريق الشفرة، التي ينتج عنها الجدول الوسيط.. الجدول الوسيط يقوم بربط بيانات الحديث (رقم الحديث، رقم الكتاب) مع بيانات التخريج (رقم التخريجة).. بالجدول الوسيط تستطيع عمل استعلام يجمع كتب الحديث مع تخريجاتها صوريا دون الحاجة إلى كتابتها في كل مرة.. -
اظهار رسالة تنبيه قبل انتهاء الوقت بمدة محدده
أبو إبراهيم الغامدي replied to at_aziz's topic in قسم الأكسيس Access
أهلا بك.. جرب هذا.. InterClock.mdb -
تعبئة حقل في جدول من حقل موحد مكرر في جداول أخرى
أبو إبراهيم الغامدي replied to nssj's topic in قسم الأكسيس Access
أهلا بك.. ليس بعد الآن!.. بيانات الربط تخزن في الجدول الوسيط فقط.. سبق وأن قلت "الخيارات الأخري أتحدث عنها فيما بعد" انسَ الخيارات الأخرى مؤقتا.. حاول أن تمارس إدخال البيانات وتختبر سلاسة الإدخال مع البيانات الكبيرة.. لست بحاجة إلى إخال بيانات في هذا الحقل لأن مكانه في جدول الكتب خطأ من الأصل (في علم هندسة البيانات) -
تعبئة حقل في جدول من حقل موحد مكرر في جداول أخرى
أبو إبراهيم الغامدي replied to nssj's topic in قسم الأكسيس Access
أهلا بك.. من الواضح أنه ليس لك دراية بقواعد البيانات! عند إضافة جداول لكتب جديدة احرص أن تكون مثل الجداول الموجودة النافذة الرئيسية بها ثلاث خيارات .. نافذة التخريجات: يمكنك هنا إضافة كتاب للتخريجة (رقم الكتاب ورقم الحديث).. لايمكنك التحديث منهنا! التعديل عن طريق ضغط الزر الخيارات الأخري أتحدث عنها فيما بعد MusndWZwayid 10.accdb -
تعبئة حقل في جدول من حقل موحد مكرر في جداول أخرى
أبو إبراهيم الغامدي replied to nssj's topic in قسم الأكسيس Access
أهلا بك.. قمت بحذف مشاركتي بالخطأ.. أعتذر مشاركتي كانت طلب إجراء تعديل على جدول الكتب وذلك بإضافة رقم الكتاب إلى سجل البيانات، وذلك من أجل تمييز رقم الحديث برقم مرجعه عن باقي الكتب. لأننا وبالمفهوم السهل لا نستطيع أن نحيل إلى موضع الحديث في كتب السنة مباشرة لأن التخريجة الواحدة تكون لأكثر من حديث في الكتاب الواحد! فما ظنك بالكتب الأخرى! وأمر آخر أن هذه المراجع ليست مجتمعة في جدول واحد! ولهذا السبب نحتاج إلى جدول وسيط ضرورة وليس اختيارا! يقوم بالربط بين جدول التخريجات وجدوال الكتب وذلك بإضافة رقم الكتاب أمام كل رقم تخريجة، ولهذا كانت شفرة الإجراء طويلة ومعقدة.. لهذا كان إدراج رقم المرجع ضمن بيانات الجدول ضرورةً وليس اختياراً. إذا لم تكن على استعداد لإضافة رقم الكتاب إلى جدول الكتب فلن يكون بإمكانك التعديل على البيانات مباشرة وستحتاج إلى الشفرة في كل مرة.. ولن يتحقق طلبك! -
تعبئة حقل في جدول من حقل موحد مكرر في جداول أخرى
أبو إبراهيم الغامدي replied to nssj's topic in قسم الأكسيس Access
أهلابك قمت بمعالجة الخطأ.. MusndWZwayid 9.accdb -
تعبئة حقل في جدول من حقل موحد مكرر في جداول أخرى
أبو إبراهيم الغامدي replied to nssj's topic in قسم الأكسيس Access
أهلا بك.. في هذه التجربة صار اسم الجدول الوسيط (Join_Books) ، والشفرة المعنية بإنشاء هذا الجدول تلقائيا موجودة ضمن الوحدة النمطية mdl_join_books.. الشفرة تنقسم إلى ثلاثة أقسام.. الأول لمعالجة إضافة اسم الكتاب ضمن بيانات الجدول، وأيضا توحيد بيانات الكتب وتجهيزها للقسم الثاني الثاني تحصيل السجلات التي تحتوي على بيانات التخريج المدمجة وتفكيكها إلى سجلات مستقلة حسب بيانات التخريج الثالث حذف السجلات التي المدمجة وإنشاء الجدول (Join_Books) للمعلومية.. أضفت زر أمر للنموذج (frm_7) لتشغيل الإجراء المعني بمعالجة دمج البيانات MusndWZwayid 8.accdb -
مشكلة الخطأ 3022 وعدم القدرة على تعديل سجل موجود
أبو إبراهيم الغامدي replied to مسلم_1's topic in قسم الأكسيس Access
أهلا مسلم.. وضع البيانات بهذه الطريقة تعني باختصار أنك تريد أضافة بيانات موجودة مسبقا! Private Sub List37_Click() Form_Newstafffrm.cmdupdate.Enabled = True With List37 Form_Newstafffrm.Staff_ID.Value = List37.Column(0) Form_Newstafffrm.emp_nameEN.Value = List37.Column(1) Form_Newstafffrm.emp_nameAR.Value = List37.Column(2) Form_Newstafffrm.NationalityAR.Value = List37.Column(3) Form_Newstafffrm.NationalityEN.Value = List37.Column(4) Form_Newstafffrm.TitleJobAR.Value = List37.Column(5) Form_Newstafffrm.TitleJobEn.Value = List37.Column(6) Form_Newstafffrm.QualificationAR.Value = List37.Column(7) Form_Newstafffrm.QualificationEN.Value = List37.Column(8) Form_Newstafffrm.ID_Iqama.Value = List37.Column(9) Form_Newstafffrm.idissueplace.Value = List37.Column(10) Form_Newstafffrm.idissuedate.Value = List37.Column(11) Form_Newstafffrm.IDExbiredateH.Value = List37.Column(12) Form_Newstafffrm.idexpiredate.Value = List37.Column(13) Form_Newstafffrm.Dateofbirth.Value = List37.Column(14) Form_Newstafffrm.PassportNo.Value = List37.Column(15) Form_Newstafffrm.Passport_issueplace.Value = List37.Column(16) Form_Newstafffrm.Passport_issuedate.Value = List37.Column(17) Form_Newstafffrm.Passport_expiredate.Value = List37.Column(18) Form_Newstafffrm.personalemail.Value = List37.Column(19) Form_Newstafffrm.Addressathome.Value = List37.Column(20) Form_Newstafffrm.AddressInKSA.Value = List37.Column(21) Form_Newstafffrm.ageytxt.Value = List37.Column(22) Form_Newstafffrm.agemtxt.Value = List37.Column(23) Form_Newstafffrm.Agedtxt.Value = List37.Column(24) Form_Newstafffrm.Mobile.Value = List37.Column(25) End With End Sub الطريقة السلمة في حالتك هي هذه Private Sub List37_Click() Form_Newstafffrm.cmdupdate.Enabled = True DoCmd.OpenForm "Newstafffrm", , , "Staff_ID='" & Me.List37 & "'" End Sub -
كيف اخفي محدد السجلات في الجدول
أبو إبراهيم الغامدي replied to nabilalibibo's topic in قسم الأكسيس Access
أشكرك أستاذي على ثناءك ودعاءك،، وأرجو أن أكون وزملائي عند حسن ظنك.. -
كيف اخفي محدد السجلات في الجدول
أبو إبراهيم الغامدي replied to nabilalibibo's topic in قسم الأكسيس Access
أهلا بكم.. في الحقيقة يمكن إخفاء شريط التنقل مع الجداول المباشرة! لكون الحاوية لهذه الجداول هي النماذج الفرعية! لكن لا يمكن الوصول إليها عن طريق لوحة الخصائص، بل نحتاج إلى الشفرة للوصول إلى هذه الخصيصة وغيرها. وهذه شفرتها Sub STP() Me.SubTbl.Form.NavigationButtons = False End Sub في المثال التالي قمت بالاقتصار على نموذج فرعي واحد مع إطار التبديل للتبديل بين الجداول 1390.nabil2322.accdb -
مساعدة في فتح عدد اكثر من نموذج داخل النموذج الرئيسي
أبو إبراهيم الغامدي replied to amir_adam83's topic in قسم الأكسيس Access
أعتذر عن التأخر في الرد،، وأرجو أن تكون الإجابة في هذا التعديل.. ODB21.accdb -
مساعدة في فتح عدد اكثر من نموذج داخل النموذج الرئيسي
أبو إبراهيم الغامدي replied to amir_adam83's topic in قسم الأكسيس Access
لم أقم بأي إجراء على شجرة البيانات.. لم أراعي ما يتعلق بنواة الأوفس المرفق بعد التعديل ODB.accdb -
مساعدة في فتح عدد اكثر من نموذج داخل النموذج الرئيسي
أبو إبراهيم الغامدي replied to amir_adam83's topic in قسم الأكسيس Access
عند الرجوع إلى المثال المرفق في مشارتك الأولى وجدت أن جميع النماذج في وضعية المشروط (المتحكم ) وليس المنبثق! وهذا خطأ. لا يجب استخدام النموذج المشروط إلا في حدود ضيقة جداً.. وعليه يجب إعادة هذه النموذج إلى الوضع الطبيعي.. وإذا أردت استخدام هذه النماذج كأبناء فيجب استخدام وضعية المنبثق فقط.. يمكن تمرير اسم النموذج في فرع الشجرة إلى الإجراء التالي Sub OpenForm(FormName) Dim result As Long Dim chwnd As Long DoCmd.OpenForm FormNmae chwnd = Screen.ActiveForm.Hwnd result = SetParent(chwnd, Me.Hwnd) End Sub إرفاق جدول أسماء النماذج يساعد في التطبيق... -
مساعدة في فتح عدد اكثر من نموذج داخل النموذج الرئيسي
أبو إبراهيم الغامدي replied to amir_adam83's topic in قسم الأكسيس Access
أهلا بكم .. يمكن استخدام إجراءات واجهة برمجة التطبيقات لوندوز WIN32API لتحقيق هذا الغرض الإجراء المطلوب Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long التطبيق Private Sub Command0_Click() Dim result As Long Dim chwnd As Long DoCmd.OpenForm "form2" chwnd = Screen.ActiveForm.Hwnd result = SetParent(chwnd, Me.Hwnd) End Sub Or Private Sub Command2_Click() Dim chwnd As Long DoCmd.OpenForm "form3" chwnd = Screen.ActiveForm.Hwnd SetParent chwnd, Me.Hwnd End Sub الشروط يجب أن يكون الأبناء (النماذج والتقارير) في وضعية الإنبثاق المثال mdi_with_access.accdb -
تحريك نموذج اكسس بالضغط على الماوس
أبو إبراهيم الغامدي replied to kh-bakkar's topic in قسم الأكسيس Access
أهلا بكم.. لجعل الأمور أكثر سهولة ومرونة للمبتدئين.. الشفرة التالية تفي بالغرض! Option Compare Database Option Explicit Dim xp As Single, yp As Single '-- أخذ النقطة الأولية للفارة وإسنادها إلى متغير عام '-- بهذه االطريقة يمكن قبض النافذة من أي نقطة دون الشعور بعدم التركيز Private Sub FormHeader_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) xp = X yp = Y End Sub Private Sub FormHeader_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim l, t If Button = acLeftButton Then l = Me.WindowLeft + X - xp t = Me.WindowTop + Y - yp Me.Move l, t End If End Sub أو هذه أيضا '-- هذه الطريقة تتماشى مع سلوك المستخدم '-- أغلب المستخدمين يقبض النافذة من المنتصف '-- الشعور بعدم التركيز لا يكاد يلحظ Private Sub FormHeader_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim l, t If Button = acLeftButton Then l = (Me.WindowLeft + X) -(Me.WindowWidth/2) t = (Me.WindowTop + Y) - (Me.FormHeader.Height/2) Me.Move l, t End If End Sub Database1.accdb -
استيراد ملف txt الى اكسس باستخدام الكود
أبو إبراهيم الغامدي replied to mmkibsi's topic in قسم الأكسيس Access
جرب نسخة 2003 من المرجح أنها تعمل! Import Data from oracle Report.zip -
استيراد ملف txt الى اكسس باستخدام الكود
أبو إبراهيم الغامدي replied to mmkibsi's topic in قسم الأكسيس Access
نعم! جميعها قد أُسس لها إجراء، لكن بدأت فيها بالأسهل في التطبيق! أرجو أن تتحقق من مواضع البيانات وعناوينها لأن الأخيران فيهما انحراف! Import Data from oracle Report.zip -
استيراد ملف txt الى اكسس باستخدام الكود
أبو إبراهيم الغامدي replied to mmkibsi's topic in قسم الأكسيس Access
أعتذر عن التأخير.. لن تعمل الشفرة لأنها ناقصة وهذه تكملتها Sub IAS_Out_Cs_Detail() Dim rs As DAO.Recordset Dim i As Integer Dim row, cols, col '-- data variables Dim cntr_id, cntr_name, acnt_no, iss_no, iss_typ, iss_date, crr_typ, gtotal '-- open rs to add records With CurrentDb Set rs = .OpenRecordset("IAS_Out_Cs_Detail", dbOpenDynaset) .Execute "delete * from [" & rs.Name & "]" End With '-- open text file Open App_Path & "IAS_Out_Cs_Detail.txt" For Input As #1 '-- read data from text file Do Until EOF(1) '-- read line by line Line Input #1, row '-- make condition for each layer '-- first layer If row Like "مركز*" Then cols = Split(row, vbTab) cntr_id = Right(cols(0), 4) cntr_name = cols(1) '-- second layer ElseIf row Like "الحساب*" Then cols = Split(row, vbTab) acnt_no = Split(cols(0), ":")(1) iss_no = Split(cols(1), ":")(1) iss_typ = Split(cols(2), ":")(1) iss_date = Split(cols(3), ":")(1) crr_typ = cols(13) gtotal = cols(14) '-- third layer Else cols = Split(row, vbTab) rs.AddNew rs(0) = cntr_id rs(1) = cntr_name rs(2) = acnt_no rs(3) = iss_no rs(4) = iss_typ rs(5) = iss_date rs(6) = crr_typ rs(7) = gtotal For i = 0 To UBound(cols) - 2 rs(i + 8) = cols(i) Next rs.Update End If Loop Close #1 Set rs = Nothing End Sub وهذا المرفق بعد التعديل Import Data from oracle Report.zip -
استيراد ملف txt الى اكسس باستخدام الكود
أبو إبراهيم الغامدي replied to mmkibsi's topic in قسم الأكسيس Access
لا عدمنا أفكارك ولا كلت أناملك أ. جعفر،، طبعا كود اخوك ابو ابراهيم أكثرا تعقيدا.. ما يحرني أنك تتحدث وكأنك جالس بجانبي! -
استيراد ملف txt الى اكسس باستخدام الكود
أبو إبراهيم الغامدي replied to mmkibsi's topic in قسم الأكسيس Access
أهلا بك.. نحن لدينا أفكاراً وإبداعاً وحيلاً كما للآخرين! -
استيراد ملف txt الى اكسس باستخدام الكود
أبو إبراهيم الغامدي replied to mmkibsi's topic in قسم الأكسيس Access
أهلا بك.. أعتذر إليك إن كنت أحزنتك. في هذه المشاركة سوف أحاول مع من يتبرع من الزملاء من قراءة واستخلاص البيانات من الملفات النصية، وكيف يمكن وضع المحددات التي تساعد على ذلك.. الملف النصي: IAS_Out_Cs_Detail.txt * من الممكن جعل البيانات في جدول واحد.. يخض هذا الإجراء لصاحب العلاقة..! لكني لا أشجع عليهلكونه يتسبب في وجود كم كبير من البيانات المتكررة! - يتكون هذا الملف من ثالث طبقات من البيانات وكل طبقة منها يمكن أن تكون في جدول خاص، وهذا من الناحية الفنية أرتب لكنه مكلف من ناحية الشفرة! -- الطبقة الأولي: بيانات مركز التكلفة. -- الطبقة الثانية: بيانات أوامر الصرف. -- الطبقة الثالثة: بيانات بنود أوامر الصرف. * كيف يمكن استخلاص البانات؟ - بما أننا سنذهب إلى تقسيم البيانات إلى ثالث طبقات، فسوف نقوم بعمل التالي. -- إيجاد محدد فريد لكل طبقة (وليس للبيانات) -- تحويل البيانات في كل طبقة إلى مصفوفة بيانات وفقاً لمنط تكراري منتضم؛ إن أمكن (المصفوفة تسهل ضبط البيانات،لكن ليست شرطاً في المعالجة) -- إرسال البيانات إلى جدول البيانات * قراءة البيانات من الملف النصي هناك العديد من الطرق لقراءة البيانات من الملف النصي، من أسهلها التعليمة التالية Sub IAS_Out_Cs_Detail() Dim i As Integer Dim row, cols, col '-- open text file Open App_Path & "IAS_Out_Cs_Detail.txt" For Input As #1 '-- read data from text file Do Until EOF(1) '-- read text file line by line Line Input #1, row Loop Close #1 End Sub - أرجو التكرم يالذهاب لملف تعليمات VBA لمعرفة مدلولات هذه التعليمة *معالجة البيانات ستكون معالجة البيانات كما في الشفرة التالية Sub IAS_Out_Cs_Detail() Dim i As Integer Dim row, cols, col '-- open text file Open App_Path & "IAS_Out_Cs_Detail.txt" For Input As #1 '-- read data from text file Do Until EOF(1) '-- read line by line Line Input #1, row '-- make condition for each layer '-- first layer If row Like "مركز*" Then cols = Split(row, ":") For Each col In cols Debug.Print col Next Debug.Print String(100, "+") ElseIf row Like "الحساب*" Then cols = Split(row, ":") For Each col In cols Debug.Print col Next Debug.Print String(100, "=") Else cols = Split(row, vbTab) For Each col In cols Debug.Print col Next Debug.Print String(100, "-") End If Loop Close #1 End Sub - يوجد في هذا الملف بيانات خارجة عن الصف، سأتطرق لطريقة معالجتها عند رفع المثال * نقل البيانات للجداول التعليمات الخاصة بتقل البيانات للجداول سأشير إليها عند رفع المثال -
ارجو المساعدة في ترتيب البيانات في الاكسس
أبو إبراهيم الغامدي replied to mmkibsi's topic in قسم الأكسيس Access
عدم الاستمرار في هذه المشاركة ليس معناه أني لن أساعدك! بل المطلوب أن تفتح مشاركة جديدة فقط! لكون هذه المشاركة قد استوفت الإجابة على السؤال المطروح.. والعمل على شيء جديد يتطلب مشاركة جديدة..