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

انشاء النموذج برمجيا


محمدفتاح

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

اكتب هذا الكود وهو 

Function creat_form()
Dim frmCustomers As Access.Form
Dim strfrmName As String
Dim aoAccessObj As AccessObject
Dim txtTextBox As Access.TextBox
Dim lblLabel As Access.Label
Dim cmd As Access.CommandButton
Dim compo As Access.ComboBox
Dim strSQL As String
Dim ctrl As Variant

If frmcod_r = 1 Then
strfrmName = "frm"
strSQL = "SELECT class FROM class;"

If DCount("[Name]", "MSysObjects", "[Name] = 'frm'") = 1 Then
DoCmd.DeleteObject acForm, "frm"
End If
Set frmCustomers = CreateForm
With frmCustomers
.RecordSource = strSQL
.Section("ÊÝÕíá").Height = 10 * 567
.Form.Width = 15 * 567
'.Section("ÑÃÓ ÇáÕÝÍÉ").Height = 3 * 567
'.Section(1).Height = 3 * 567

.Form.DefaultView = 2
.Form.Orientation = 1
.Form.CloseButton = True
.Form.MinMaxButtons = False
.Form.PopUp = True
'.Report.PopUp = True
.Caption = "password"
End With
'Set txtTextBox = CreateForm(
Set txtTextBox = CreateControl(frmCustomers.Name, acTextBox, ac, , "", 1 * 567, 1 * 567, 6 * 567, 1 * 567)
 txtTextBox.FontSize = 12
txtTextBox.TextAlign = 2
'txtTextBox.BorderStyle = 1
'txtTextBox.BorderWidth = 2
Set compo = CreateControl(frmCustomers.Name, acComboBox, acDetail, , "class", 1 * 567, 3 * 567, 6 * 567, 1 * 567)
compo.RowSourceType = "table/query"
compo.RowSource = "class"
compo.LimitToList = True
compo.TextAlign = 2
 compo.FontSize = 14
'compo.BorderStyle = 1
'compo.BorderWidth = 2
Set frm = Application.Forms(1)
Set cmd = CreateControl(frmCustomers.Name, acCommandButton, acDetail, , "", 1 * 567, 5 * 567, 4 * 567, 1 * 567)
cmd.Caption = "موافق": cmd.Name = "cmd1"
cmd.OnClick = "event presdure"
DoCmd.Save , strfrmName
DoCmd.Close
DoCmd.OpenForm "frm", acNormal
End If
End Function


المشكلة الكود يقوم فعلا بانشاء النموذج ولكن كيف اقوم بكتابة الاجراء المراد تنفيذه داخل زر الامر حاولت مرارا وتكرارا ولكن لم يحالفني الحظ افيدوني جزاكم الله خيرا وزادكم علما وشكرا 

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

 

21 ساعات مضت, محمدفتاح said:

المشكلة الكود يقوم فعلا بانشاء النموذج ولكن كيف اقوم بكتابة الاجراء المراد تنفيذه داخل زر الامر

فقط استدعي الدالة هكذا من زر الأمر أو من أي مكان تريد 

creat_form
أو
call creat_form

 

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

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

 

اذا فهمت قصدك ، فأنت تريد ان تعمل كود "عند الحدث" ، مثل عند تحميل النموذج ، او عند النقر على الزر ، في كود عمل النموذج 🙂

 

انزل المرفق من هذا الرابط ، فهو يقوم بعمل:

قاعدة بيانات جديدة ، ثم يعمل فيها جداول ، ونموذجين ، وفي كل نموذج ازرار وحدث تحت كل زر (وهذا الذي تبحث عنه) ،

ومع انه هناك عدة طرق لعمل هذه الكائنات ، ولكني استعملت الاسهل في الفهم والتطبيق 🙂
انظر في الوحدات النمطية مباشرة ، فأسمائها تدل على محتواها :

 

.

جعفر

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

لا ننسى أن كل أوامر التصميم للنماذج والتقارير وربما غيرها لن تعمل عند تحويل البرنامج إلى mde ، معلومة قديمة لدي ربما تغير الحال ، زودونا بأي معلومة تنقض معلومتي.

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

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

كل أوامر التصميم للنماذج والتقارير وربما غيرها لن تعمل عند تحويل البرنامج إلى mde

نعم هذا صحيح ، والوضع لايزال مستمر في صيغة accde كذلك ، والسبب وبكل بساطة ، اننا لا نستطيع ان نفتح النموذج في وضع التصميم في تلك الصيغ ، ناهيك عن اضافة الكود 🙂

 

ولكن ، المرفق الذي اشرت اليه في الرابط اعلاه ، يعمل برنامج خارجي بصيغة mdb او accdb ، وفيه هذا النموذج الجديد المعمول برمجيا ، ومن ثم نستطيع فتحه من برنامجنا mde اذا اردنا !!

والشيء اللازم معرفته هو ، ان عمل نموذج برمجيا يكون بطيء بعض الشيء ، ولما يكمل تكوينه ويتم حفظه ، يكون فتحه بنفس سرعة النموذج العادي 🙂

 

جعفر

 

 

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

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

اولا تجهيز فورم او التقرير من خلال المعالج افضل ام من خلال الكود في vba لان في بعض تعليقاتكم ان هذه الاوامر لن تشتغل في صيغة mde  

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

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

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

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

بالنسبة للجزئية رابعا اود ان اعتذر لاني لم احاول بالقدر الكافي لاني اخذت الجزء الخاص بالاجراء ولم اكتب الكود Set mode = frm.Module اولا فعندما كتبته اولا قام الكود بآداء المهمة جزاكم الله خيرا وانتظر ردكم علي باقي الاستفسارات وشكرا

 

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

5 ساعات مضت, محمدفتاح said:

فعندما كتبته اولا قام الكود بآداء المهمة

الحمدلله 🙂

 هنا اطلب منك ، وحتى يستفيد الآخرين ، ان تضع الكود كاملا 🙂

 

6 ساعات مضت, محمدفتاح said:

اولا تجهيز فورم او التقرير من خلال المعالج افضل ام من خلال الكود في vba لان في بعض تعليقاتكم ان هذه الاوامر لن تشتغل في صيغة mde  

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

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

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

 

اولا: يعتمد على حاجة المبرمج ، ولا فرق بينهما للبرنامج ، ولكن لا يستطيع "المبرمج العادي" ان يضيف اي شيء لصيغة mde و accde ، كما تم نقاشه هنا:

في ٢٤‏/٢‏/٢٠٢١ at 15:38, jjafferr said:
في ٢٤‏/٢‏/٢٠٢١ at 13:25, Hawiii said:

كل أوامر التصميم للنماذج والتقارير وربما غيرها لن تعمل عند تحويل البرنامج إلى mde

نعم هذا صحيح ، والوضع لايزال مستمر في صيغة accde كذلك ، والسبب وبكل بساطة ، اننا لا نستطيع ان نفتح النموذج في وضع التصميم في تلك الصيغ ، ناهيك عن اضافة الكود 🙂

 

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

ثالثا: رجاء البحث عن هذه المواضيع كذلك ،

رابعا: يجب ان يكون ردك مفهموما كفايه وفيه تفاصيل ، فهنا المبرمج يخاطب مبرمج ، حتى استطيع ان ارد عليك ، وطبعا ردك يجب ان يكون في ذلك الموضوع وليس هنا 🙂

 

جعفر

 

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

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