-
Posts
10011 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
408
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
Page 2 أستفسار عن أمر الإنتقال إلى الشاشة الثانية في النموذج
jjafferr replied to OmanKcat's topic in قسم الأكسيس Access
وعليكم السلام تفضل DoCmd.GoToPage 2 جعفر -
شكرا جزيلا أستاذ محمد جعفر
-
السلام عليكم وبعد جهد جهيد توصلت الى هذا التقرير ، رجاء اعمل نسخة ، واعمل تجاربك على النسخة التقرير يحتوي على 20 مادة ، لذلك اضطررت ان العب في حجم الحقول قليلا ، وحسب عدد المواد التي تختارها ، فان اسماء المواد وعلاماتها تتسع لتملئ المكان بين الاسم والمجموع. . . . لا تزيد ولا تنقص في عرض واماكن الحقول ، ولا شعرة ، وإلا لن تلصق الحقول ببعضها كما يجب. طريقة العمل: 1. نخفي الحقول التي رقمها اكبر من عدد المواد ، 2. نأخذ المسافة بين الاسم والمجموع العام ، ثم نقسمه على عدد المواد ، وعليه نعطي كل حقل نصيبه من القسمة الكود: في النموذج ، حسبنا عدد المواد الموجودة ، وذلك على حدث بعد التحديث لمربعات التحرير (المربع باللون البرتقالي في النموذج ، ويمكنك اخفاءه): Function How_Many_Records() On Error GoTo err_How_Many_Records mySQL = mySQL & "[NAM_PARNAMG]=" & Me.NAM_PARNAMG mySQL = mySQL & " AND [taksos]=" & Me.taksos mySQL = mySQL & " AND [department]=" & Me.departmentT mySQL = mySQL & " AND [asm_college]=" & Me.asm_collegeT 'Debug.Print mySQL Me.How_Many = DCount("*", "Mokarar_drasi", mySQL) Exit Function err_How_Many_Records: If Err.Number = 3075 Then Me.How_Many = 0 Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function . ثم في التقرير ، وعلى قسم التفصيل ، ورأس مجموعة التخصص: Option Compare Database Private Factor As Single Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) On Error Resume Next Limit = Forms!AS_nataeg_tolap!How_Many If Limit = 20 Then Exit Sub Visited_Detail = Visited_Detail + 1 'make the other fields, in-visible Dim ctl As Control For Each ctl In Report.Controls If ctl.ControlType = acTextBox Then Type1 = Replace(ctl.Name, "N", "") Type2 = Replace(Type1, "tt_", "") If Val(Type1) > Limit Or Val(Type2) > Limit Then ctl.Visible = False Else ctl.Visible = True End If 'IsNull End If 'ControlType Next ctl Me.Ctl1N.Left = Me.Ctl1.Left: Me.Ctl1N.Width = Me.Ctl1.Width Me.Ctl2N.Left = Me.Ctl2.Left: Me.Ctl2N.Width = Me.Ctl2.Width Me.Ctl3N.Left = Me.Ctl3.Left: Me.Ctl3N.Width = Me.Ctl3.Width Me.Ctl4N.Left = Me.Ctl4.Left: Me.Ctl4N.Width = Me.Ctl4.Width Me.Ctl5N.Left = Me.Ctl5.Left: Me.Ctl5N.Width = Me.Ctl5.Width Me.Ctl6N.Left = Me.Ctl6.Left: Me.Ctl6N.Width = Me.Ctl6.Width Me.Ctl7N.Left = Me.Ctl7.Left: Me.Ctl7N.Width = Me.Ctl7.Width Me.Ctl8N.Left = Me.Ctl8.Left: Me.Ctl8N.Width = Me.Ctl8.Width Me.Ctl9N.Left = Me.Ctl9.Left: Me.Ctl9N.Width = Me.Ctl9.Width Me.Ctl10N.Left = Me.Ctl10.Left: Me.Ctl10N.Width = Me.Ctl10.Width Me.Ctl11N.Left = Me.Ctl11.Left: Me.Ctl11N.Width = Me.Ctl11.Width Me.Ctl12N.Left = Me.Ctl12.Left: Me.Ctl12N.Width = Me.Ctl12.Width Me.Ctl13N.Left = Me.Ctl13.Left: Me.Ctl13N.Width = Me.Ctl13.Width Me.Ctl14N.Left = Me.Ctl14.Left: Me.Ctl14N.Width = Me.Ctl14.Width Me.Ctl15N.Left = Me.Ctl15.Left: Me.Ctl15N.Width = Me.Ctl15.Width Me.Ctl16N.Left = Me.Ctl16.Left: Me.Ctl16N.Width = Me.Ctl16.Width Me.Ctl17N.Left = Me.Ctl17.Left: Me.Ctl17N.Width = Me.Ctl17.Width Me.Ctl18N.Left = Me.Ctl18.Left: Me.Ctl18N.Width = Me.Ctl18.Width Me.Ctl19N.Left = Me.Ctl19.Left: Me.Ctl19N.Width = Me.Ctl19.Width Me.Ctl20N.Left = Me.Ctl20.Left: Me.Ctl20N.Width = Me.Ctl20.Width Me.tt_1n.Left = Me.Ctl1.Left: Me.tt_1n.Width = Me.Ctl1.Width Me.tt_2n.Left = Me.Ctl2.Left: Me.tt_2n.Width = Me.Ctl2.Width Me.tt_3n.Left = Me.Ctl3.Left: Me.tt_3n.Width = Me.Ctl3.Width Me.tt_4n.Left = Me.Ctl4.Left: Me.tt_4n.Width = Me.Ctl4.Width Me.tt_5n.Left = Me.Ctl5.Left: Me.tt_5n.Width = Me.Ctl5.Width Me.tt_6n.Left = Me.Ctl6.Left: Me.tt_6n.Width = Me.Ctl6.Width Me.tt_7n.Left = Me.Ctl7.Left: Me.tt_7n.Width = Me.Ctl7.Width Me.tt_8n.Left = Me.Ctl8.Left: Me.tt_8n.Width = Me.Ctl8.Width Me.tt_9n.Left = Me.Ctl9.Left: Me.tt_9n.Width = Me.Ctl9.Width Me.tt_10n.Left = Me.Ctl10.Left: Me.tt_10n.Width = Me.Ctl10.Width Me.tt_11n.Left = Me.Ctl11.Left: Me.tt_11n.Width = Me.Ctl11.Width Me.tt_12n.Left = Me.Ctl12.Left: Me.tt_12n.Width = Me.Ctl12.Width Me.tt_13n.Left = Me.Ctl13.Left: Me.tt_13n.Width = Me.Ctl13.Width Me.tt_14n.Left = Me.Ctl14.Left: Me.tt_14n.Width = Me.Ctl14.Width Me.tt_15n.Left = Me.Ctl15.Left: Me.tt_15n.Width = Me.Ctl15.Width Me.tt_16n.Left = Me.Ctl16.Left: Me.tt_16n.Width = Me.Ctl16.Width Me.tt_17n.Left = Me.Ctl17.Left: Me.tt_17n.Width = Me.Ctl17.Width Me.tt_18n.Left = Me.Ctl18.Left: Me.tt_18n.Width = Me.Ctl18.Width Me.tt_19n.Left = Me.Ctl19.Left: Me.tt_19n.Width = Me.Ctl19.Width Me.tt_20n.Left = Me.Ctl20.Left: Me.tt_20n.Width = Me.Ctl20.Width End Sub Private Sub taksos_Header_Format(Cancel As Integer, FormatCount As Integer) On Error Resume Next Limit = Forms!AS_nataeg_tolap!How_Many Starting_Point = Me.lbl_Total.Left + Me.lbl_Total.Width Me.fasl_derasi = "الفصل الدراسي " & Forms!AS_nataeg_tolap!fasl_derasi.Column(1) If Limit = 20 Then Exit Sub 'make the other fields, in-visible Dim ctl As Control For Each ctl In Report.Controls If ctl.ControlType = acComboBox Then If Val(ctl.Name) > Limit Then ctl.Visible = False Else ctl.Visible = True End If 'IsNull If Val(ctl.Name) = Limit Then Factor = (ctl.Left - Starting_Point) / Limit End If 'ControlType Next ctl 'Debug.Print "Header" 'move and stretch fields For i = Limit To 1 Step -1 For Each ctl In Report.Controls If ctl.ControlType = acComboBox And Val(ctl.Name) = i Then ctl.Left = Starting_Point ctl.Width = ctl.Width + Factor Starting_Point = ctl.Left + ctl.Width Exit For 'Debug.Print ctl.Name & vbTab & ctl.Left & vbTab & ctl.Width End If 'ControlType Next ctl Next i End Sub . جعفر 533.1.db5.mdb.zip
-
شكرا استاذ شفان على التصحيح جعفر
-
وهذا بالضبط اللي يعمله الكود ، ولكن ما تقدر تشوفه إلا في الطباعة (يعني ما يصير في معاينة التقرير) ، انا ما اطبع على ورق _3 نسخ) ، وانما عندي طابعة pdf ، فتطبع لي ملفات pdf من التقرير. جعفر
-
-
وعليكم السلام ضع هذا الكود في وحدة نمطية: Option Compare Database Public Get_myDate As Date Function Get_This() Get_This = Get_myDate End Function كود امر الطباعة ، اصبح: Private Sub Command22_Click() Dim I As Byte CopyN = InputBox("أدخل عدد النسخ المطلوب طباعتها :", "عدد النسخ") If IsNumeric(CopyN) Then For I = 0 To CopyN - 1 Get_myDate = DateAdd("d", I, Date) DoCmd.OpenReport "rpt_Patient_Drugs" Next I Else MsgBox "البيانات التي أدخلتها ليست بيانات رقمية .", vbCritical End If End Sub جعفر 552.4.accdb.zip
-
ممكن مساعدةنقل البيانات من نموذج إلى أكثر من نموذج
jjafferr replied to محمد احمد لطفى's topic in قسم الأكسيس Access
السلام عليكم اخي محمد قد يكون احد اسباب عدم الرد هو عدم وضوح السؤال !! الموضوع ما فيه شرح بالمطلوب (نعم الشرح غير واضح) ، وانا انزلت المرفق وكذلك لا يوجد فيه شرح عن المطلوب!! لوسمحت تخبرنا عن المطلوب بخطوات ومثال جعفر -
اخي عبدالعزيز انا ما عندي النسخة العربية ، ولكن ترجمة كلمة Required = مطلوب (او شئ من هذا القبيل) ، افتح الجدول في وضع التصميم ، ثم اختار حقل رقم او تاريخ او نص ، وانظر في اعداداته في الاسفل (لاحظ الفيديو) ، واجعل: مطلوب = لا . جعفر
-
اخي عبدالعزيز انا ارفقت لك فيديو في مشاركتي السابقة شرحت لك فيها المشكلة ، وكما اوضحت ، التغيير يجب ان يكون من الجدول. جعفر
-
-
-
وعليكم السلام اخي شفان: بس اللي ظل يكرره اخونا حسين هو: المسافة قبل وبعد الرقم ، وانت الذي تطرقت الى المسافة بين الارقام جعفر
-
وعليكم السلام اهم شئ في الحل هو ان تكون على السجل الصحيح 1. خليك على السجل الصحيح ، 2. ضع هذا الحدث على زر "عند النقر" ، او حتى على اي من الحقول على حدث "النقر المزدوج": اذا كان نوع الحقل نص me.[myField]="" اذا كان نوع الحقل رقم me.[myField]= 0 جعفر
-
السلام عليكم بما ان اخي حسين لم يرفق لنا نموذج من بياناته ، عملت بحث في الانترنت لمعرفة مثل هذه المشاكل ، والمشكلة عبارة عن مسافات بعد البيانات مثل ما قال اخي حسين ، والحل مثل ما قال الاستاذ رمهان ، استخدام الامر Trim (لإزالة جميع المسافات الفارغة في الحقل) ، بينما انت تريد ازالتها من احد اطرافها ، لذلك تستطيع استعمال RTrim (لإزالت المسافات من يمين الكلمة) ، او LTrim (لإزالت المسافات من يسار الكلمة) ، ولا يضر اذا استخدمناهم مع بعض ، هكذا RTrim(LTrim([column_name])) جعفر
-
وعليكم السلام ورحمة الله وبركاته بالفعل التراسل الخاص غير مفعل لمجموعتي عضو و عضو جديد ، حيث عادة ما يكونوا غير ملمين بقواعد المشاركة ، و عادة ما يكون الحوار على الخاص اقرب لهم من الحوار فى العام مما يؤثر على الفائدة العامة. يعني لما تزيد مشاركاتك ، ان شاء الله تحصل على البريد الخاص بك جعفر
-
فتح التقرير عن طريق برنامج Adooe Acrobat Reader
jjafferr replied to kaser906's topic in قسم الأكسيس Access
نعم شفت ملاحظتك هناك ، بس اللي احاول ان افهمه واوضحه لك: نحن في هذا الموضوع اللي نحن فيه "فتح التقرير عن طريق برنامج Adooe Acrobat Reader" ، ويش تريد ان نعمل زيادة فيه؟ انت هنا ما عندك صور ، والشئ الوحيد اللي عندك هو تقرير pdf ، والظاهر انك ما تريده يفتح خارج البرنامج ، وانما تريده يفتح في البرنامج!! ارجو توضيح طلبك لوسمحت لا نخلط طلبات الموضوعين في بعضهم البعض. جعفر -
-
فتح التقرير عن طريق برنامج Adooe Acrobat Reader
jjafferr replied to kaser906's topic in قسم الأكسيس Access
عفوا ، لا نخلط المواضيع مع بعض ، انت في هذا الموضوع تريد ان ترى نتيجة ملف pdf في نموذج ، صح؟ جعفر -
-
فتح التقرير عن طريق برنامج Adooe Acrobat Reader
jjafferr replied to kaser906's topic in قسم الأكسيس Access
يعني تريد ان تفتح تقرير pdf في النموذج ؟ جعفر -
وعليكم السلام البطء في الاستعلام . 1. انت تستخدم امر VBA في SQL ، مما يبطئ العملية ، 2. من المعروف ان Dlookup (كذلك امر VBA) بطيئ ، وانت محظوظ ان بياناتك قليلة ، وإلا فالبطء سيكون اكثر ، 3. انت تنتظر الحقل SumOfin و SumOfOut ليحصلوا على نتائج الجمع ، ثم تأخذ النتائج منهم وتطرحهم من بعض. والتعديل: . إضافة الجدول Item Names الى الاستعلام ، 1. تم تغيير الامر الى احد اوامر SQL وهو is Null (وليس IsNull امر VBA) ، 2. لسنا بحاجة الى اي معادلة ، لأننا جلبنا الجدول الى الاستعلام ، ثم وضعنا الحقل Products في الاستعلام مباشرة ، 3. نقوم بعملية الجمع مباشرة في الحقل جعفر