اذهب الي المحتوي
أوفيسنا

ربط صورة الصنف بالنموذج بمسارها بجدول الاصناف


wael_rafat

الردود الموصى بها

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

تحية طيبة لاساتذتي الافاضل والاعضاء الكرام ،،،

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

بمعني عند فتح نموذج المبيعات  يتم استدعاء صور الاصناف من المسار الموجود داخل جدول الاصناف

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

والغرض من ذلك .... حتي لا اضطر الى تعديل الكود داخل النموذج فى كل مرة يتم فيها تغيير  او تعديل صورة الصنف

مرفق صورة توضيحية مع المثال .

 

Capture.JPG

Desktop.rar

رابط هذا التعليق
شارك

استاذي ومعلمي القدير  جعفر اعتذر عن عدم توصيل طلبي بصورة دقيقة .

استاذي الغالي  ... لدي الاتي :-

1- جدول الاصناف ... ويتكون من  ( كود الصنف - اسم الصنف - مسار صورة الصنف بفولدر خارجي اسمة icons  وليكن C:\Users\wael\Desktop\icons\zbedi.jpg

2- نموذج المبيعات  ويتكون من ( اسماء الاصناف - صور الاصناف )

3 - فولدر  خارجي  اسمة ( icons )  ويحفظ فيه صور الاصناف .

المطلوب  هو كيفية  عرض صور الاصناف بنموذج المبيعات  من خلال مسار صور الاصناف الموجودة بجدول الاصناف ؟؟؟ 

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

    image_Path = Application.CurrentProject.Path & "\icons"
    
    Me.cmd1001.Picture = image_Path & "\01.bmp"
    Me.cmd2005.Picture = image_Path & "\02.bmp"
    Me.cmd3008.Picture = image_Path & "\03.bmp"

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

يعني مثلا لو تم تغيير اسم الصورة  من 01.bmp   الي  10.bmp   .... هنا لابد ان اقوم بالتعديل بالكود اعلاه .

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

وبذلك عند التعديل او اضافة صنف جديد لا اقوم بتعديل الكود بالنموذج .

اتمني ان تكون وصلت الفكرة استاذي العزيز وسامحني علي الاطالة بارك الله في عمرك وعلمك 

كل الاحترام والتقدير ،،،،

 

رابط هذا التعليق
شارك

وعليكم السلام اخوي وائل:smile:

 

ماشاءالله عليك ، شرح كافي ووافي ، وياريت كل اللي يضعون اسئلتهم في المنتدى يشرحوها مثلك ، لو لقوا الاجابة اسرع:smile:

 

عندي التعليق التالي على شرحك:

- في أي حال ، اذا أردت إضافة صورة رابعة ، فيجب عليك دخول التصميم ،

- إذن نحن لا نتكلم عن الإضافات المستقبلية ، وإنما نتكلم عن تغيير الصورة فقط ،

- في هذه الحالة ، انا اقترح ان نعمل نموذج خاص لتغيير الصور ، ويختار المسؤول اسم الصورة اللي يريد يغيرها ، ثم تفتح له نافذة تصفح مجلدات/ملفات الوندوز ، ويختار الصورة الجديدة ، فيقوم البرنامج بنسخ الصورة وتغيير اسمها إلى المجلد icons ، ويحذف الصورة القديمة.

 

شو رايك؟

 

جعفر

رابط هذا التعليق
شارك

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

ادب ، زوق ، اخلاق ، رقـــي ، علــــم              " ســـاااااااحر    "     ماشاء الله تبارك الله ربنا يباركلك ويزيدك من نعمه .

2 ساعات مضت, jjafferr said:

في هذه الحالة ، انا اقترح ان نعمل نموذج خاص لتغيير الصور ، ويختار المسؤول اسم الصورة اللي يريد يغيرها ، ثم تفتح له نافذة تصفح مجلدات/ملفات الوندوز ، ويختار الصورة الجديدة ، فيقوم البرنامج بنسخ الصورة وتغيير اسمها إلى المجلد icons ، ويحذف الصورة القديمة.

جميل .........بالفعل موجودة هذه الخطوة ولكن على مستوي الجدول فقط اي التعديل يتم بجدول الاصناف فقط .

وهنا تكمن المشكلة  ..... بعد اتمام التعديل فى الجدول او تغيير مسار او اسم الصورة  ...  من وين هيعرف نموذج المبيعات بالتغيير الذي حدث لصورة الصنف بعد تعديل مكانها او اسمها .؟؟؟؟

هنا لابد مضطرا الى الذهاب لنموذج المبيعات واعدل على مسار الصورة القديم قبل التعديل الـــي  المسار الجديد او الاسم الجديد ...

واتفضل شرح تفصيلي اوضح ان شاء الله ويفيدك فى تصور الرؤية وخط سير العملية ..

 

الشرح.rar

1.JPG

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

20 دقائق مضت, wael_rafat said:

جميل .........بالفعل موجودة هذه الخطوة ولكن على مستوي الجدول فقط اي التعديل يتم بجدول الاصناف فقط .

اشكرك على كلماتك الرقيقة:smile:

 

الظاهر المعلومة بيننا لم تصل بالطريقة الصحيحة ، لي او لك:smile:

 

احاول شرح طريقتي مرة ثانية:

  1. نستطيع ان نستخدم مسار حقل الصورة ، من الجدول ، او من الكود (لأن المسار واسم الصورة لن يتغير بالخطوات التالية) ،
  2. عند تغيير الصورة (لاحظ لم اقل عند تغيير اسم الصورة او المسار) :
  • يختار المسؤول اسم الصورة اللي يريد تغييرها ، فلتكن لحم5 مثلا ، والتي تتواجد الان في المجلد icons ،
  • فتنفتح له نافذة تصفح الملفات/المجلدات ، ويستطيع المسؤول اختيار اي صورة من اي مجلد ، فيختار مثلا الصورة New_BBQ.jpg في مجلد Downloads ،
  • فيقوم الكود بـ:
  • حذف الصورة لحم5 الموجودة حاليا في المجلد icons ،
  • نسخ الصورة New_BBQ.jpg من مجلد Downloads ، إلى المجلد icons ويغير اسم الصورة الى لحم5 .

 

بهذه الطريقة ، الخطوة #1 اعلاه ، لم تتغير ، وانما تم تغيير الصورة فقط ، وبقيت جميع الصور بأسمائها في المجلد icons :smile:

 

ان شاء الله اكون وُفقت في الشرح هذه المرة:smile:

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

تماااام استاذي الفاضل  الله يفتح عليك ...

اهم نقطة ......   اني لا احتاج التعديل بمسار الصور في جدول المبيعات

اشكرك على كلماتك الرقيقة:smile: 

يعلم الله  اني احبكم  فى الله ...:wub:

كل الاحترام والتقدير ...

 

31 دقائق مضت, jjafferr said:

يختار المسؤول اسم الصورة اللي يريد تغييرها ، فلتكن لحم5 مثلا ، والتي تتواجد الان في المجلد icons ،

وايضا اذا اراد وضع صورة جديدة لم تكن موجودة بفولدر الصور  من قبل .

حيث من الممكن ان يكون نموذج المبيعات غير مكتمل بال20 صنف ، ممكن يكون متواجد 15 صنف فقط  ولاحقا يضيف الاصناف المتبقية

 

اي انه عند اضافة صورة جديدة او تعديل صورة متواجدة  تتم ظهورها بنموذج المبيعات تلقائيا .. دون الرجوع الى تعديلات بنموذج المبيعات

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

26 دقائق مضت, wael_rafat said:

وايضا اذا اراد وضع صورة جديدة لم تكن موجودة بفولدر الصور  من قبل .

حيث من الممكن ان يكون نموذج المبيعات غير مكتمل بال20 صنف ، ممكن يكون متواجد 15 صنف فقط  ولاحقا يضيف الاصناف المتبقية

هاي مب مشكلة ، ولكن يجب ان نعرف تسلسل الصورة ، وإلا كيف يمكن ان نعطيها رقم!!

 

اذا ممكن ان تعمل نموذج في الاكسس ، مثل اللى عملته في الشرح ، فيه اسماء الصور ، فعليه الموضوع بيكون اسهل ، لي وللمسؤول:smile:

 

جعفر

رابط هذا التعليق
شارك

اتفضل أستاذي الغالي

اضافة صورة لصنف.rar

icons.rar

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

من إبداعات أستاذي العزيز رمهان ربنا يبارك فيه ويجازيه عنا كل خير ...من احدى ابداعاته الرمهانية الجبارة .

 

وسامحني أثقلت عليك أستاذي الحبيب

كل الشكر والتقدير

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

بعد اذن استاذنا القدير الأستاذ جعفر

على اد فهمي للمطلوب

يمكنك استخدام الكود التالي :

Private Sub Form_Current()
 On Error GoTo ErrHandler
    img1001.Picture = CurrentProject.Path & "\icons\1001.jpg"
    img1002.Picture = CurrentProject.Path & "\icons\1002.jpg"
    img1003.Picture = CurrentProject.Path & "\icons\1003.jpg"
    img1004.Picture = CurrentProject.Path & "\icons\1004.jpg"

ErrHandler:
    If Err.Number = 2220 Then
        img1001.Picture = ""
        img1002.Picture = ""
        img1003.Picture = ""
        img1004.Picture = ""
     End If

End Sub

وهو من الاكواد الخاصة بالمنتدى

-

AAA.rar

رابط هذا التعليق
شارك

تسلم استاذ علي  علي المشاركة 

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

بارك الله فيك استاذي الكريم

 

رابط هذا التعليق
شارك

السلام عليكم:smile:

 

1. يجب ادخال جميع ارقام الصور في الجدول يدويا من البداية ، سواء انك تستخدمهم او لا ، وبدون ادخال المسار ،

2. في اول نموذج تفتحه في البرنامج ، وعلى حدث "التحميل" او "فتح النموذج" ضع هذا الكود:

الكود الاول سيجعل نافذة اختيار الملفات تفتح في آخر مجلد تم اغلاقها منه (حيث العادة انها تفتح على c:\c) ، والكود الثاني ليخبر البرنامج مكان وجود مجلد الصور icons

    If Len(Explorer_Path & "") = 0 Then
        Explorer_Path = "c:\"
    End If
    icons_Folder = "C:\Users\ACER\Desktop\icons\"

3. يجب ان يكون اسم كل حقل في النماذج ، اسم صحيح وموجود في الجدول ، وعندما نريد تغيير الصورة ، نستخدم النقر المزدوج

514.Clipboard01.jpg

.

4. كل حقل يجب ان يكون لدية الكود التالي على حدث "النقر المزدوج"

    Call Get_Pictures(Me, "img2001", "2001")


وهذا مثال كامل للحدث للحقل img1006
Private Sub img1006_DblClick(Cancel As Integer)

    Call Get_Pictures(Me, "img1006", "1006")
End Sub

5. وهذه الوحدة النمطية تقوم بالعمل الشاق:smile:

Option Compare Database

Public Explorer_Path As String
Public icons_Folder As String

Function Get_Pictures(frm As Form, Ctl, img_Name)
On Error GoTo err_Get_Pictures

    Dim strFilter As String
    'make the user select a new picture
    strFilter = GetOpenFile_CLT(Explorer_Path, ".حدد مكان الصورة")
    'if nothing is selected, exit
    If strFilter = "" Then Exit Function
    
    'return to this folder, next time windows explorer is opened
        Explorer_Path = Mid(strFilter, 1, InStrRev(strFilter, "\"))
    
    'delete the old picture, if it exists
        'get the name and path of this picture from the table, and delete the picture
        'delete the file
        Kill DLookup("item_pic", "Tmenu", "[itemcode]='" & img_Name & "'")
    
    'now copy the new file
        'make the new picture name, with the icon filder path
        New_Path = icons_Folder & img_Name & ".jpg"
        New_Path = Replace(New_Path, "\\", "\")
        'copy the file
        FileCopy strFilter, New_Path

    'update the pictre path in the table
        mySQL = "UPDATE Tmenu SET item_pic = '" & New_Path & "' WHERE itemcode='" & img_Name & "'"
        CurrentDb.Execute (mySQL)
    
    'show the picture in the Form
    frm(Ctl).Picture = New_Path


Exit_Get_Pictures:
Exit Function

err_Get_Pictures:
    If Err.Number = 94 Or Err.Number = 53 Then
        'Old picture does not exist for deletion
        Resume Next
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
    End If
    

End Function

6. في تجاربي استعملت النماذج Form1 و Form2 ، ولا تستطيع استعمال النموذج المستمر لوضع الصور.

 

جعفر

514.اضافة صورة لصنف.mdb.zip

  • Like 1
رابط هذا التعليق
شارك

نعم استاذنا  الكريم.... وبالاخص الفكرة مع بعض التعديلات

وتسلم علي ذوقك وكرم اخلاقك وهذا ما عاهدناه منك 

بارك الله في عمرك واهلك وعلمك 

كل التقدير والاحترام

 

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information