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

مساعدة في فتح عدد اكثر من نموذج داخل النموذج الرئيسي


amir_adam83

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

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

اريد ان افتح اكثر من شاشة على الشاشة الرئيسية للمقارنه

 حيث استخدمت للنموذج الرئيسي كا Mdi كما هو موجود في فيجول دوت نت

Pop Up>>>>>>>>>> yes

Modal>>>>>>>>>>> yse

وباقي الشاشات الابناء تفتح من خلاله ولكن المشكله 

تطلب مني ان اطبق كل

Pop Up>>>>>>>>>> yes

Modal>>>>>>>>>>> yse

على كافة النماذج

هل من طريقه او كود تجعل الشاشه الرئيسيه على الوضع الحالي وهو

Pop Up>>>>>>>>>> yes

Modal>>>>>>>>>>> yse

وباقي الشاشات تفتح داخل الشاشه الرئيسيه دون توقف او فتح خلف الشاشه الرئيسيه

مرفق البرنامج

odbda.rar

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

25 دقائق مضت, amir_adam83 said:

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

باقي الشاشات تفتح داخل الشاشه الرئيسيه

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

اتفضل جرب :fff:

odbda.accdb

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

7 minutes ago, ابا جودى said:

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

اتفضل جرب :fff:

odbda.accdb 472 kB · 0 downloads

شكرا لك اخي الكريم على مداخلتك ولكن

اريد مساعدتك في ان اتحكم في النماذج داخل الفورم الرئيسي مثل

image.png.eb27655f8f411344b59c3eb58635923b.png

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

ابا جودى

صباح الخير استاذي الكريم

شكرا لحسن تعاونكم الكريم

قد اكون عاجز عن ايصال الفكره لك ولكن

هي عباره عن شاشه رئيسيه

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

ام ان هذه الطريقه يصعب فعلها في اكسس

بارك الله فيك وجزاك الله خير الجزاء

شكرا لك

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

اتوقع انك تقصد مثل هذي الصورة

ASDDFFGGH.jpg.6ab57ec1a042341d46e2e857d835c141.jpg

 

الكود في الاستديو VB.NET

        Me.IsMdiContainer = True
        With [Form Name]
            .MdiParent = Me
            .Show()
        End With

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

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

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

jjafferr

 

بالطبط اخي واستاذي الكريم

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

حيث ان لدي مما يتعدى 90 شاشه هل هي الطريقه ... بارك الله فيك على المساعده الكريمه منك

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

انت تعرف ان مشكلتك هي ان النموذج الرئيسي "منبثق" ،

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

 

سؤالين:

1. كم نموذج ستفتح فوق النموذج المنبثق الرئيسي ؟

2. ليش تستعمل نموذج منبثق ؟

انا نادرا ما استعمل نماذج منبثقة ، والطريقة اللي استعملها في برامجي: 

 

 

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

حيث ان لدي مما يتعدى 90 شاشه هل هي الطريقه

لا ، طريقتي ما تصلح لهذا الكم من النماذج الفرعي !!

 

وياريت ترفق لنا هذه الجزئية من برنامجك ، لأنه في طريقة على بالي اريد اجربها ، ولا اريد اجربها إلا على برنامجك الاصل 🙂

بكل بساطة: طريقة فتحك للنموذج المنبثق معناها انك تفتح النموذج المنبثق A ، وتغلق النموذج المنبثق B ، فعليه ، يكون النموذج المنبثق A هو النموذج الوحيد المفتوح ،

فنقوم بتغييره من نموذج منبثق الى نموذج عادي :

me.modal=false

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

لهذا السبب ، اريد النموذج الذي يفتح النموذج Form1 ، وبعض النماذج الاخرى مثل Form2 و Form3 .

 

.

جعفر

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

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

السلام عليكم 🙂

 

هل هذا المطلوب؟

Drag_Form.thumb.gif.2943a915aea4f236031decb2eb139837.gif

 

جعفر

Drag_Forms.zip 34.17 kB · 14 downloads

ماشاء الله لا قوة الا بالله

فناااان من طراز عريق

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

أهلا بكم .. 

يمكن استخدام  إجراءات واجهة برمجة التطبيقات لوندوز 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

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

22 دقائق مضت, أبو إبراهيم الغامدي said:

أهلا بكم .. 

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

 

رائع 🙂

ما شاء الله عليك اخوي أبو إبراهيم ، دائما ، ما معتمد على قدرات الاكسس فقط ، وانما تستفيد من بقية قدرات الاوندوز 🙂

 

جعفر

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

د.كاف يار

jjafferr

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

ابا جودى

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

هذا هو المطلوب بالفعل

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

وهو

  Private Sub Form_Load()
  On Error Resume Next
 '-------------------------------------------------------------
  
  Dim Dbs As DAO.Database
  Dim rst As Recordset
  Dim nodeX As Node
 TreeView0.PathSeparator = "_"
 
  
  Set Dbs = CurrentDb
  Set rst = Dbs.OpenRecordset("Tabl_Name_Foms_QueryTree", dbOpenDynaset)
   
   nodeX = TreeView0.Nodes.add(, , "A", "Alpha Skay System")
  With rst
    Do While Not .EOF
      
    Set nodeX = TreeView0.Nodes.add("A" & CStr(Nz(!NoDMin)), tvwChild, "A" & CStr(!NoFormsD), CStr(!NoFormsD) & "-" & !NameFormsE)

      nodeX.EnsureVisible
      .MoveNext
    Loop
    End With
  
  rst.Close
  Set Dbs = Nothing
  For Each nodeX In TreeView0.Nodes
   
   nodeX.Expanded = False
   nodeX.Sorted = True
   
   nodeX.BackColor = rgb(180, 243, 250)

  Next
  
    ChangeBackgroundColor TreeView0.Hwnd, rgb(180, 243, 250)
  '--------------
TreeView0.Font = "حمدين بولد"
TreeView0.Font.Size = "11"
'TreeView RTL
    Call RTL_SetTree(Me, TreeView0)
    '--------------------------------------------------
  'TreeView RTL
    Call RTL_SetTree(Me, TreeViewAZ)
End Sub

الوحده النمطيه

Option Compare Database
Option Explicit

Sub SortTabl_Name_Foms_QueryTree()
    On Error Resume Next
    Dim MaxOrder As Long
    Dim Digits As Integer
    MaxOrder = DMax("NoFormsD", "Tabl_Name_Foms_QueryTree")
    If MaxOrder <= 1 Then
        Exit Sub
    End If
    Digits = Len(MaxOrder & "")
    CurrentDb.Execute "Update Tabl_Name_Foms_QueryTree Set AccSort= " & _
    "NoFormsD * (10 ^ (" & Digits & "- Len(NoFormsD)))"
End Sub

اسف على عدم رفع البرنامج لكبر حجمه

 هل اضيف الوحده النمطيه التي وضعها استاذي الكريمأبو إبراهيم الغامدي

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

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

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

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

هل تفتح النموذج المنبثق A ، وتغلق النموذج المنبثق B ، فعليه ، يكون النموذج المنبثق A هو النموذج الوحيد المفتوح

رجاء الرد على هذا السؤال

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

4 minutes ago, jjafferr said:

رجاء الرد على هذا السؤال

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

هذا هو

 

form1 ده رئيسي

Form A

Form B

Form C

نماذج فرعيه

.form1

Pop Up>>>>>>>>>> yes

Modal>>>>>>>>>>> yse

وباقي النماذج الفرعيه(الابناء)

نفس الشيء

Pop Up>>>>>>>>>> yes

Modal>>>>>>>>>>> yse

 

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

2 minutes ago, jjafferr said:

السؤال ، كيف تفتح النموذج form1

هل لما تفتحه ، تغلق النموذج الذي فتحه ؟

لا اخي الكريم فورم 1 ده الفورم الرئيسي عند فتح البرنامج اساسي

هل لما تفتحه ، تغلق النموذج الذي فتحه ؟ 

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

 

18 minutes ago, amir_adam83 said:

د.كاف يار

jjafferr

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

ابا جودى

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

هذا هو المطلوب بالفعل

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

وهو


  Private Sub Form_Load()
  On Error Resume Next
 '-------------------------------------------------------------
  
  Dim Dbs As DAO.Database
  Dim rst As Recordset
  Dim nodeX As Node
 TreeView0.PathSeparator = "_"
 
  
  Set Dbs = CurrentDb
  Set rst = Dbs.OpenRecordset("Tabl_Name_Foms_QueryTree", dbOpenDynaset)
   
   nodeX = TreeView0.Nodes.add(, , "A", "Alpha Skay System")
  With rst
    Do While Not .EOF
      
    Set nodeX = TreeView0.Nodes.add("A" & CStr(Nz(!NoDMin)), tvwChild, "A" & CStr(!NoFormsD), CStr(!NoFormsD) & "-" & !NameFormsE)

      nodeX.EnsureVisible
      .MoveNext
    Loop
    End With
  
  rst.Close
  Set Dbs = Nothing
  For Each nodeX In TreeView0.Nodes
   
   nodeX.Expanded = False
   nodeX.Sorted = True
   
   nodeX.BackColor = rgb(180, 243, 250)

  Next
  
    ChangeBackgroundColor TreeView0.Hwnd, rgb(180, 243, 250)
  '--------------
TreeView0.Font = "حمدين بولد"
TreeView0.Font.Size = "11"
'TreeView RTL
    Call RTL_SetTree(Me, TreeView0)
    '--------------------------------------------------
  'TreeView RTL
    Call RTL_SetTree(Me, TreeViewAZ)
End Sub

الوحده النمطيه


Option Compare Database
Option Explicit

Sub SortTabl_Name_Foms_QueryTree()
    On Error Resume Next
    Dim MaxOrder As Long
    Dim Digits As Integer
    MaxOrder = DMax("NoFormsD", "Tabl_Name_Foms_QueryTree")
    If MaxOrder <= 1 Then
        Exit Sub
    End If
    Digits = Len(MaxOrder & "")
    CurrentDb.Execute "Update Tabl_Name_Foms_QueryTree Set AccSort= " & _
    "NoFormsD * (10 ^ (" & Digits & "- Len(NoFormsD)))"
End Sub

اسف على عدم رفع البرنامج لكبر حجمه

 هل اضيف الوحده النمطيه التي وضعها استاذي الكريمأبو إبراهيم الغامدي


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

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

اريد مساعدة في ربط هذا العمل بالشجره شكرا لكم

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

6 ساعات مضت, amir_adam83 said:

اريد مساعدة في ربط هذا العمل بالشجره شكرا لكم

عند الرجوع إلى المثال المرفق في مشارتك الأولى وجدت أن جميع النماذج في وضعية المشروط (المتحكم ) وليس المنبثق! وهذا خطأ.

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

  

يمكن تمرير اسم النموذج في فرع الشجرة إلى الإجراء التالي

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

 

إرفاق جدول أسماء النماذج يساعد في التطبيق...

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

2 hours ago, أبو إبراهيم الغامدي said:

عند الرجوع إلى المثال المرفق في مشارتك الأولى وجدت أن جميع النماذج في وضعية المشروط (المتحكم ) وليس المنبثق! وهذا خطأ.

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

  

يمكن تمرير اسم النموذج في فرع الشجرة إلى الإجراء التالي


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

 

إرفاق جدول أسماء النماذج يساعد في التطبيق...

اتفضل استساذي الكريم تم عمل نسخه مماثله لبرنامج

 

ODB.rar

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

5 ساعات مضت, amir_adam83 said:

اتفضل استساذي الكريم تم عمل نسخه مماثله لبرنامج

لم أقم بأي إجراء على شجرة البيانات..

لم أراعي ما يتعلق بنواة الأوفس 

المرفق بعد التعديل 

ODB.accdb

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

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