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

عبد الله قدور

الخبراء
  • Posts

    1,172
  • تاريخ الانضمام

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

  • Days Won

    4

مشاركات المكتوبه بواسطه عبد الله قدور

  1. 4 دقائق مضت, Abujaber said:

    السلام عليكم ورحمة الله وبركاته 

    أخواني الأعزاء أولاً أحب أن أهني نفسي ومن ثم أهني الوطن العربي على وجود مثل هذا المنتدى الأكثر من رائع في جميع أقسامه والمواضيع المطروحة فيه والأعضاء المنتسبين لهذه الأقسام فكلهم من خيار الناس واتمنى من الله أن يوفق الجميع إلى ما يحبه ويرضاه . 

    ثانياً أنا لست مبرمج ولكن أستهواني برنامج الأكسس وأحببت أن أقوم ببعض الأعمال الخاصة بواسطته ولكن واجهتني مشكلة وأنا متأكد أنها بسيطة وهي تعبئة مربع النص في الفورم بناءً على قيمة في قائمة سرد حيث سوف يتم حفظ هذه القيم في الجدول عند الانتهاء من تعبئة باقي الحقول . 

    أرجو المساعدة في ذلك وإذا في أكثر من طريقة يرجى شرحها ، علماُ انني لا يوجد لدي ملف محدد لأقوم بإرساله ولكن هي تجارب متفرقة . 

    وشكراً 

     

    وعليكم السلام ورحمة الله وبركاته

    اهلا وسهلا بك بيننا

    يفضل في هذه الحالة ان ترسل مرفق للتعديل عليه

    لنفرض ان قائمة السرد اسمها هو menu و مربع النص الذي تريد التعبئة به تلقائيا هو txt فيكون الكود على الشكل التالي

    me.txt = me.menu.column(1)

    من المعروف ان قائمة السر تحوي عدة اعمدة داخلها لذلك يمكنك استخدام ترتيب الاعمدة في قائمة السرد في اختيار قيمة اي عمود ستنتقل الى txt

    العمود الاول رقمه 0

    الثاني 1

    الثالث 2 وهكذا

     

  2. 12 ساعات مضت, Foksh said:

    مشاركة جانبية متأخرة مع الأساتذة ( أن تصل متأخراً خير من أن لا تصل ابدأ )،

    جرب هذه الفكرة اخي @عبد الله قدور ،

    ننشئ دالة عامة في مديول ونستخدم هذا الكود الذي يعيد تنسيق التاريخ بالشكل DD/MM/YYYY :-

    بعد جهد في هذا المجال وصلت الى قناعة ان المشكلة في تعريف المتغير من نوع date هذا المتغير ما ان تم استخدامه فان التاريخ المعتمد هو شهر يوم سنة فإذا فشل في اعتماد ذلك اعتمد يوم شهر سنة

    فوصلت لحل هو عدم استخدام المكتبة date ابدا

    قمت بتحويل التاريخ الى رقم على الشكل التالي

    تاريخ 01/05/2024 الى 20240501

    هكذا يحافظ هذا الرقم على نفس ترتيب التواريخ واستخدم متغير من نوع long بدلا من date 

    ووضعت العمود في جدول وجعلته محسوب كما في الصورة

    image.png.12aaf332b061cb7aa7bc957c012a936f.png

    والنتيجة كانت

    image.png.941e48f013227ca3c8b9bed7b5839024.png

    ولتذهب مكتبة date بما فيها الى الجحيم

     

    • Haha 1
  3. سأشرح لك المشكلة بالتفصيل

    تقوم اساس المشكلة باختيار سعر الصرف من جدول اسعار الصرف يقوم المستخدم للبرنامج بادخال سعر الصرف في حال تغييره كما في الصورة التالية

    image.png.7520d878b90f35de1eb7c454ed4e82da.png

    الان عند اعداد اي تقرير مالي يجب تقييم العمليات على اساس سعر الصرف حسب تاريخ العملية

    مثال عندنا عملية دفع بتاريخ 1-4-2024 يجب على البرنامج اعتماد سعر الصرف 32.60

    عملية دفع جديدة بتاريخ 2-4-2024 يجب ان يعتمد البرنامج على سعر الصرف 32.6 (لان تاريخ العملية ليس له تعديل في جدول اسعار الصرف ، فالمنطق يقول ان سعر الصرف بقي كما هو في اليوم السابق )

    الان نحن نستمر في استخدام سعر صرف 32.6 الى تاريخ 6-4-2024

    بتاريخ 7-4-2024 نبدأ باستخدام سعر صرف 32.1 حتى تاريخ 24-4-2024

    بتاريخ 25-4-2024 نبدأ باستخدام سعر صرف 32.4 حتى تاريخ 30-4-2024

    المشكلة الان عندما اقوم بوضع تاريخ العملية في متغير من نوع date يعتمد تنسيق التاريخ شهر يوم سنة ولا استطيع مقارنة التاريخ مع الجدول باستخدام الدالة dlast

    بسبب ان التواريخ عندي يوم شهر سنة والتاريخ المعتمد في المتغير date هو شهر يوم سنة

    الان هل يمكن جعل المتغير من نوع date يعتمد تنسيق يوم شهر سنة

    طبعا تغيير التنسيق باستخدام format لم احصل على نتيجة ولا باستخدام cdate ولا dateserial ولا datevalue

     

  4. السلام عليكم ورحمة الله وبركاته

    عندما اقوم بوضع تاريخ في متغير public من نوع تاريخ يتم اعتماده بالتنسيق الامريكي شهر يوم سنة فإذا كان التاريخ غير صحيح يعتمده يوم شهر سنة

    هنا نقع في مشكلة انه احيانا يأخذ التاريخ صحيح واحيانا لا

    فما الحل حتى نستطيع جعل الاكسس يعتمد نظام التاريخ يوم شهر سنة في كل الحالات

     

  5. 21 ساعات مضت, أبو إبراهيم الغامدي said:

    أهلا بك @عبد الله قدور

    ليس الأمر كذلك! كل مافي الأمر أن عرض الصورة غير مرتبط بمصدر بيانات النموذج..

    الصورة في مثالك لها تنسيق مختلف عن نسق الصور التقليدي! ولأنها معالجة بطريقة مختلفة فلن تظهر في عارض الصور..

    حاولت معالجة الصورة لكني لم أصل إلى حل إلى الآن.. إذا كانت الصور المخزنة في الجدول جميعها بهذا النسق، فسوف أبحث عن حل قدر المستطاع.. إن شاء الله

    بالنسبة لمثالك قمت بالتعديل عليه حتى تتمكن من الإضافة التعديل والحفظ

     

    جزاك الله كل خير

    لقد اطلعت على المرفق

    حاولت اضيف بعض الصور على المرفق

    احيانا ظهرت الصورة واحيانا لا تظهر

    الفكرة عندي اني اقوم بأخذ لقطة شاشة لاشعار القبان وارفقها في قاعدة البيانات ، وعند ارسال تفاصيل الفاتورة الى العميل يجب ان تظهر الصورة بجانت التفاصيل

    اذا كانت قاعدة البيانات اكسس استخدم نوع بيانات مرفق ولم تحصل عندي هذه المشكلة ابدا

    لكن عندما حاولت الانتقال الى قاعدة بيانات اس كيو ال ظهرت عندي المشكلة بسبب اختلاف نوع البيانات

    ففي اس كيو ال لا يوجد نوع بيانات اسمه مرفق كما في الاكسس ، وجدت نوع image فقط وظهرت عندي المشكلة

     

    اكون هكذا عرضت المشكلة من جذورها عسى ان يكون هناك حل اخر لم نفكر فيه اساسا

     

    برنامج تصوير لقطة الشاشة المستخدم هو : screen presso

     

  6. 23 ساعات مضت, أبو إبراهيم الغامدي said:

    لعرض الصورة المخزنة في حقل OLE  يتطلب الأمر عنصر تحكم Image، وباستخدام الخصيصة PictureData يمكن عرض الصورة

    السلام عليكم

    اسعد الله اوقاتكم

    الملف الذي ارسلته يعمل بشكل جيد ، لكن لم استطع تطبيقه عندي بسبب اختلاف بتصميم الجداول

    عمود الكائن ole عندي في نفس الجدول ، اما عندك فهو في جدول مختلف

    سأرفق لك مرفق للتعديل عليه لو تكرمت اخي @أبو إبراهيم الغامدي

    Database8.accdb

  7. ايضا لم تظهر الصورة

    هل ان الجدول هو في قاعدة مرتبط بقاعدة بيانات sql  علاقة بعدم ظهور الصورة

    ما لاحظته اني اذا اضفت الصورة من ادراج لا تظهر

    لكن اذا اخذت لقطة شاشة ثم اخترت من زر اليمين لصق تظهر الصورة

    فما الفرق ؟؟

    يجب ان اضع ازرار لاضافة الصورة وحذفها

  8. السلام عليكم

    اسعد الله اوقاتكم

    بالنسبة لي افتح النموذج على السجل الاخير ، فإذا اراد المستخدم اضافة سجل جديد يضغط على زر جديد كنت قد وضعته في النموذج ،

    زر جديد يقوم بفتح سجل جديد ويكتب معلومة ما في النموذج الرئيسي ، بذلك يكون النموذج جاهز للتعبئة مباشرة في النموذج الفرعي

  9. وعليكم السلام

    الطريقة التي استخدمها اضع مجلد بجانب البرنامج باسم attach مثلا ثم اقوم بنقل الملفات الى المجلد برمجيا الى المجلد واقوم بتخزين اسم الملف في عمود في الجدول

    ثم في جدول محلي (ليس في قاعدة الخلفية ) في القاعدة التي تحوي النماذج اضع عمود يقوم المستخدم بوضع مسار مجلد المرفقات

    عند فتح المرفق يقوم الاكسس بالجمع بين المسار الموجود في الجدول المحلي و اسم المرفق ثم يطلب فتح الملف فيتم فتحه

    اما بشأن المرفق فوقتي الان لا يسمح لي باعداد مرفق ، لكن سأحاول مساءا ان اجهز لك مرفق

     

    • Like 2
  10. السلام عليكم ورحمة الله وبركاته

    التصميم جميل وفيه جهد ولمسة فنية حلوة

    اما الملاحظات

    بما انك قمت بتصميم برنامج مبيعات وعملاء فقد صممت البرنامج بدون الرجوع لمحاسب معك يدعمك من الناحية المحاسبية ، يلاحظ ذلك من اسماء الفواتير والسندات

    لا يوجد فاتورة اسمها فاتورة تحويل إذا كنت تقصد النقل من مستودع الى مستودع فهي فاتورة مناقلة

    فاتورة بيان سعر إذا كنت تقصد هي لاعطاء سعر للزبون او اخذ سعر من مورد فهي عرض سعر

    كثرة الازرار التي تقوم بنفس العمل المحاسبي

     

     

    يفضل اضافة ازرار اخرى للفاتورة مثل معاينة الطباعة ، طباعة ، حذف ، تعديل ، اغلاق ، جديد وأن تكون هذه الازرار متواجدة في نفس المكان في كل النماذج ( مثلا زر الاغلاق في الفواتير اعلى اليسار وفي السندات اسفل اليمين و تقارير في اقصى اليسار )

    لا يجب فصل العملاء (الزبائن ) عن الموردين وذلك قد تحتاج احيانا للبيع لمورد او الشراء من زبون بطريقتك هذه فانت مجبر لفتح حسابين لنفس الشخص

    لا يوجد شجرة حسابات ولا شجرة مواد

    وضعت المصاريف ضمن الخزينة فأحيانا اقوم بمصروف بالدين واسدد دفعات له مقابل الخدمة

    لا يوجد سندات قيد مولدة من كل عمليات البرنامج

    لا يوجد ميزة استخدام العملات في البرنامج

    عمليات الصندوق والبنك يمكنك استبدال كل هذه الازرار بسند قبض وسند دفع وسند يومية

    التقارير الاساسية التي يحتاجها البرنامج

    1- كشف حساب عميل او مورد او مصروف

    2- ميزان المراجعة (من اهم التقارير المالية)

    3- حركة مادة او صنف

    4- جرد المواد حسب المستودعات واختيار طرق تسعير المواد (الكلفة او اخر شراء أو الوسطي أو الوسطي المرجح)

    5- تقرير المتاجرة والارباح والخسائر (لبيان صافي الربح )

     

     

    • Like 2
  11. السلام عليكم

    في الكود التالي نقوم بالاتصال بقاعدة بيانات اس كيو ال ونقوم بتشغيل "اجراء مخزن"

    لكن يتوقف  الكود عند تمرير البراميترات

    يرجى مساعدتي في تعديل الكود

    Sub CallStoredProcedure()
        ' تحديد المتغيرات
        Dim conn As Object
        Dim cmd As Object
        
        ' اعدادات الاتصال
        Set conn = CreateObject("ADODB.Connection")
        conn.Open "Provider=SQLOLEDB;Data Source=YourServerName;Initial Catalog=YourDatabaseName;Integrated Security=SSPI;"
        
        ' إعداد كائن الأمر
        Set cmd = CreateObject("ADODB.Command")
        With cmd
            .ActiveConnection = conn
            .CommandType = 4 ' تحديد نوع الأمر كإجراء مخزن
            .CommandText = "AddDataToTable"
            
            ' تمرير قيم المعلمات
            .Parameters.Append .CreateParameter("@Param1", adInteger, adParamInput, , 123)
            .Parameters.Append .CreateParameter("@Param2", adVarChar, adParamInput, 50, "SampleValue")
            .Parameters.Append .CreateParameter("@Param3", adDate, adParamInput, , Date)
            
            .Execute ' تنفيذ الإجراء
        End With
        
        ' إغلاق الاتصال
        conn.Close
        
        MsgBox "تم إضافة البيانات بنجاح!"
    End Sub

     

  12. السلام عليكم

    جرب هذه الطريقة

    من هذه النافذة اختر زر الخيارات

    2023-10-21_10h10_43.jpg.aa6b1ec476e07f96fcc60646683457bc.jpg

    ستظهر النافذة التالية

    العمود الاول هو ترتيب الاعمدة ، الثاني لاظهار الاعمدة ، الثالث اسم العمود ، الرابع حجم العمود

    بامكانك بازرار الاعلى والاسفل تحريك العمود للاعلى والاسفل

    2023-10-21_10h10_49.jpg.c07bbb884b71e0e43782585e41e94532.jpg

    Database6.accdb

    • Like 2
  13. السلام عليكم

    انا استخدم هذه الطريقة في النسخ الاحتياطي وقد اخذتها من المنتدى

    Public Function CreateBackup() As Boolean
    Dim Source As String
    Dim Target As String
    Dim a As Integer
    Dim objFSO As Object
    Dim Nam As String
    'انشاء اسم النسخة الاحتياطية بالتاريخ والوقت مع تغيير الامتداد
    Nam = "Acc_Tavuk_" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & Hour(Time) & "-" & Minute(Time) & "-" & Second(Time) & ".ACC4"
    ' نأخد مسار قاعدة البيانات المرتبطة من استعلام من جداول النظام  
    Source = DLookup("[database]", "track", "[ForeignName]='bill'")
    ' مسار الذي سوف تذهب اليه النسخة الاحتياطية
    Target = "D:\2023\tavuk2023" & "\" & Nam
    
    ' create the backup
    a = 0
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    a = objFSO.CopyFile(Source, Target, True)
    Set objFSO = Nothing
    End Function

    يتم استدعاء هذا الكود على الشكل التالي

    CreateBackup

    الاستعلام الذي نأخذ منه مسار قاعدة البيانات المرتبطة

    image.png.28e207e1fc0340625b98c0869364d757.png

    في النهاية احصل على نسخة احتياطية على الشكل التالي

    image.png.11efa38b5dc09d31bda2aab13cb49035.png

    • Like 1
  14. 12 دقائق مضت, kkhalifa1960 said:

    وممكن تقسم الجداول حسب حجمها الى قاعدتين أو أكثر  باك ايند1 وباك ايند2 .............. وتربطهم بالقاعدة الأمامية . كما بالمرفق .

    في هذه الحالة القاعدة الامامية ستصل الى 2 جيكا ، هل سيستطيع ادخال البيانات من خلالها ؟

    انا لم استطع تجربة هذه المرحلة سابقا ، اتمنى ان تكون لك تجربة فيها و تعلمنا بالنتيجة

     

  15. السلام عليكم

    اخي الكريم

    انا استخدم الكود التالي مع الجداول التالية

    Sub OrderLik(Box, IDD As Integer)
    'On Error GoTo err:
    On Error Resume Next
    If DLookup("[show]", "subreport", "[idd]=" & IDD) = True Then
        With Box
        .ColumnWidth = DLookup("[width]", "subreport", "[idd]=" & IDD)
        .ColumnOrder = DLookup("[order]", "subreport", "[idd]=" & IDD)
        .ColumnHidden = False
        End With
    Else
        Box.ColumnHidden = True
    End If
    Exit Sub
    
    err:
    MsgBox err.description
    err.Clear
    
    
    End Sub
    
    err.Clear

    واقوم باستدعائه بالكود التالي لكل عمود

    Call OrderLik(.Code, 1)

    مع الجداول التالية

    1- جدول اضع فيه اسماء النماذج الرئيسية واعدادات الطباعة

    image.png.b01aa2af0fc730262158e1bda8fe5101.png

    2- جدول فرعي اضع فيه اسماء الاعمدة حجم العمود وترتيبه وهل سيظهر ام لا

     

     

    image.png.cf1e3a4c0314f2d7c0f255aba8270610.png

×
×
  • اضف...

Important Information