اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

أبو إبراهيم الغامدي

أوفيسنا
  • Posts

    685
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    13

كل منشورات العضو أبو إبراهيم الغامدي

  1. جرب نسخة 2003 من المرجح أنها تعمل! Import Data from oracle Report.zip
  2. نعم! جميعها قد أُسس لها إجراء، لكن بدأت فيها بالأسهل في التطبيق! أرجو أن تتحقق من مواضع البيانات وعناوينها لأن الأخيران فيهما انحراف! Import Data from oracle Report.zip
  3. أعتذر عن التأخير.. لن تعمل الشفرة لأنها ناقصة وهذه تكملتها 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
  4. لا عدمنا أفكارك ولا كلت أناملك أ. جعفر،، طبعا كود اخوك ابو ابراهيم أكثرا تعقيدا.. ما يحرني أنك تتحدث وكأنك جالس بجانبي!
  5. أهلا بك.. نحن لدينا أفكاراً وإبداعاً وحيلاً كما للآخرين!
  6. أهلا بك.. أعتذر إليك إن كنت أحزنتك. في هذه المشاركة سوف أحاول مع من يتبرع من الزملاء من قراءة واستخلاص البيانات من الملفات النصية، وكيف يمكن وضع المحددات التي تساعد على ذلك.. الملف النصي: 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 - يوجد في هذا الملف بيانات خارجة عن الصف، سأتطرق لطريقة معالجتها عند رفع المثال * نقل البيانات للجداول التعليمات الخاصة بتقل البيانات للجداول سأشير إليها عند رفع المثال
  7. عدم الاستمرار في هذه المشاركة ليس معناه أني لن أساعدك! بل المطلوب أن تفتح مشاركة جديدة فقط! لكون هذه المشاركة قد استوفت الإجابة على السؤال المطروح.. والعمل على شيء جديد يتطلب مشاركة جديدة..
  8. لا يمكن الاستمرار في هذه المشاركة لأنها بالنسبة لي منتهية.. أما شرح الشفرة فقد تفضل أ. جعفر بتوصيفها أدناه،، لكن عليك الصبر قليلا حتى يتفرغ لمساعدك..
  9. نعم أ. جعفر .. توقعك صحيح! فعلا استخدمت ++NotePad لتحليل البيانات.. هل أطمح في أن تمتعنا بتحلبل الشفرة؟ فأنا أتوق لذلك!
  10. أعتذر عن هذا الخطأ Import Data from oracle Report.zip
  11. أهلا بك.. أنت تريد استيراد البيانات بطريقة منسقة كما في الجدول! الملف النصي عبارة عن مسردات أوامر صرف.. وبناءً عليه: هناك بيانات رأسية تمثل بيانات أمر الصرف، وهناك بيانات تفصيلية تمثل بنود أمر الصرف.. على هذا الأساس قمت بإنشاء جدول جديد لأوامر الصرف يدعم جدول البيانات التفصيلة المرفق بمثالك حتى لا تتكرر البيانات في جدول واحد.. أرجو أن يكون هذا التحسين مرضيا لك؟ وإلا أرجعت لك البيانات في جدول واحد.. Import Data from oracle Report.zip
  12. هذا تبرير منطقي ومعقول.. خرجت من المثال المرفق بالتصور التالي.. اختر التقرير من مربع التحرير، ومن ثم انقر على معرف العميل لترى البيانات الخاصة بذلك العميل.. إذا نقرت على معرف العميل قبل اختيار التقرير من مربع التحرير تظهر سالة تنبيه.. testreport.accdb
  13. لا زلت أتعجب؛ لمذا تريد أن تفتح التقارير عن طريق البينة الغرضية وليس باستخدام الطريقة التقليدية! المهم هنا هو إدراج اسماء التقارير في مربع تحرير .. يمكن فعل ذلك عن طريق إنشاء استعلام (تحديد بيانات) من جدول كائنات النظام (MSysObjects) يرجع اسم الغرض من الحقل (Name) وسيكون المحدد هو نوع الغرض من الحقل (Type) ومعرف النوع للتقارير هو (32764-).. SELECT MSysObjects.Name FROM MSysObjects WHERE (((MSysObjects.Type)=-32764)); توضع وصلة الاستعلام هذه في مصدر الصف (Row Source) لمربع التحرير،، يمكن فتح التقرير بعد اختيار التقرير مباشرة (في وضع المعاينة قبل الطباعة ) إذا ما وضعنا التعليمة التالية في حدث بعد التحديث (AfterUpdate) لمربع التحرير DoCmd.OpenReport Me.Combo#, acViewPreview '-- قيمة مربع التحرير والسرد testreport.accdb
  14. أهلا محمد،، فقط افتح التقرير في وضع التصميم،، ثم اذهب إلى محرر الشفرة الخاصة بالتقرير،، ثم انقر على أيقوتة الحفظ،، ثم أغلق التقرير!! السبب أنك أسندت متغير التقرير إلى البنية الغرضية للتقرير،، وفي العادة أكسس لا ينشيء هذه البنية إلا عند فتح محرر الشفرة..
  15. أهلا أكسس،، إذا تمت الإجابة على سؤالك الأول فأرجو منك التكرم بتحديد المشاركة التي كانت فيها الإجابة كأفضل إجابة.. أما إذا لم تتم الإجابة فسأحاول الإجابة عليه إن شاء الله.. إذا كان لديك سؤال آخر غير سؤال المشاركة أو لا يتعلق به،، ففضلا افتح مشاركة جديدة
  16. أهلا محمد.. نعم،، هذة الشفرة صحيحة! لكن يمكن أن يكون في التقرير نفسه إعلان لمتغير فتح قاعدة بيانات بدون إنهاء للمتغير بعد الاستفادة منه،، وهذا في نظري ما سبب رسالة الخطأ.. راجع شفرة التقرير؛؛هل ماذكرته صحيح؟!
  17. وعليكم السلام ورحمه الله وبركاته أهلا بك.. تفضل زر خيار.accdb
  18. أكسس ليس بحاجة إلى أن تزعي عنه الأمان أو تخفضيه! أكسس بحاجة إلى أن تمنحيه مكاناً آمن ليعمل منه بحرية! أكسسي منحته الحرية الكاملة للعمل من أي مكان على حاسبي بهذه الطريقة..
  19. نسيت أن أخبرك أني بدلت طريقة الإضافة بالنقر المباشر إلى النقر مع ضغط رز التحكم Ctrl .. لأن النقرالمباشر مربك بعض الشيء.. قمت بعمل بعض التحسينات منها.. إظهار رقم المخطط في أعلى يمين الصورة، كما يظهر في أعلى النموذج.. عند النقر على النقطة يتم إضافة رقم المخطط ومسى الحي تلقائيا.. Map Pointer.zip
  20. العفو منك أستاذي.. هذه العبارة لا يمكن أن توجهها لتلميذ من تلاميذك.. عندما يوجه إليك من يكبرك سنا وقدراً تلميحاً بعمل شيء ما،، لا يمكن أن تفهم من هذا إلا يكون طلبا ملزماً.. ولهذا بادر الاستاذ جعفر بقوله.. وهذا مافهمه أيضاً الأستاذ at_aziz وبادر بقوله.. 🤐🤔😄
  21. أهلا بكم.. أ.@ابوخليل أ. @jjafferr أ. @أبو عبدالله الحلوانى أ. @at_aziz وباقي الزملاء،، أعلم أن مداخلاتي السابقة كانت فظة بعض الشيء 😬 وذلك أن الأستاذين أبو خليل وجعفر فتحوا بمشاركتهم أبوابا من الطلبات أهتبلها العزيز عطا وعلى أن أتجاوب معها.. وعلى نفسها جنت براقش..😏 المهم الآن أني تقدمت في العمل خطوة إلى الأمام.. أرجو أن تقدم هذه المشاركة أمرا مفيداً... فكرة النموذج المصور عرض بيانات مقتضبة عن المخططات مع صورة المخطط،، يقوم النموذج بإرفاق صورة المخطط عندما يكون للمخطط صورة في مجلد المخططات (plans) (يجب تنزيل الصور ووضعها في هذا المجلد).. الأزرار ذات الأسهم للتنقل بين السجلات،، والزر الأحمر لتقسيم الصورة،، ومربعات النص لوضع قيم بعدد الأعمدة والصفوف التي تقسم الصورة،، القيمة الافتراضية (1:1) ويعني ذلك أن الصورة عمود واحد وصف واحد (الصورة كاملة بدون تقسيم)،، لن تظهر التقسيمات بدلا عن الصورة الأساسية ولكن يظهر عوضا عن ذلك أيقونات بعدد التقسيمات المطلوبة،، عند النقر على الأيقونة يفتح نموذج التأشير على الخريطة ولكن في هذه المرة وفقا للصورة ومعرف المخطط (عرض البيانات وفقا للبلكات يعالج لاحقا).. Map Pointer.zip
  22. نعم.. هذا مؤكد فعلا.. ولا أتوقع أن تبنى قاعدة البيانات على جدول وخريطة.. الجدول المرفق في قاعدة البيانات المثال خاص بتعيين النقاط على الخريطة.. عند تعيين نقطة ما على الخرطة تسجل بياناتها في جدول القطع المعروضة للبيع.. ويمكن للمستخدم أن يكمل تسجيل البيانات في نافذة الجدول.. هنا اشكالية متعلقة بسجيل البيانات المسبق.. بمعنى أن هنالك بيانات تم تسجيلها في الجدول دون تعيين نقاط لها على الخارطة! لما كانت البيانات المدرجة في المثال بيانات صورية كان العمل على تعيين أرقام للنقاط تسلسلياً محضاً، لكن مع البيانات الواقعية الحقيقية سيكون الأمر مختلفاً تماما.. لا أتوقع أن يكون البرنامج يقوم بمسح البيانات من على الخريطة! ولا بد من اختيار البيانات مسبقة الإدخال أو تسجيل البيانات يدويا.. تبقى المعالجة الآلية للأرقام العشوائية فقط! هذا يتطلب أن يكون لقاعدة البيانات جداول للبيانات الرئسية وجداول للبيانات الفرعية.. لماكانت بيانات المواقع (الموقع حسب وقوف مؤشر الفارة على الخريطة) مسجلة في جدول البيانات سوف تظهر النقاط لكل خريطة وفقا للبيانات المسجلة لها. حالياً ممكن من خلال جدول البيانات. عند حذف بيانات موقع من الجدول لن تظهر النقطة التابعة له، لأن إعادة وضع النقاط على الخريطة مبني على البيانات المسجلة في الجدول.. الممكن الآن حذف جميع النقاط وحذف البيانات التابعة لها، الإ إنه يمكن برمجة ذلك بشكل فردي.. هذى الجزئية ليس لها علاقة بالموضوع، ولهذا لا أملك إجابة عليها كان بودي النظر في الأمور المتعلقة بالبرمجة أيضاُ، والا نركز على تحليل النظام وجداول البيانات.. لأن هذا يجعل المشاركة تطول.. ولأن السائل سأل عن أمرٍ برمجي محدد..
×
×
  • اضف...

Important Information