بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9981 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
406
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه jjafferr
-
-
3 ساعات مضت, ابو جودي said:
ممكن مرفق بسيط من هذه القاعدة
هو برنامج قديم كان يشتغل على الوندوز 10 ، ولا يشتغل على الوندوز 11.
ولا تظهر هذه المشكلة للجميع ، وحتى حاولت تغيير الريجستري ، وبدون فائدة
مافي فائدة ارفق لك نسخة ، لأنه اذا عمل على حاسبتك ، فما معروف اذا يعمل عندي !!
الحاسبة عندي فيها وندوز 11 جديد ، مو تحديث من من الوندوز 10 -
وعليكم السلام
عملت رد لموضوع آخر مشابه لهذا الموضوع :
.
اما تجربتي مع الوندوز 11 ، فبوجه عام لا مشاكل في برامجي ، ما عدا برنامج واحد يعتمد على IE internet explorer لقراءة ملفات pdf ، ولازلت ابحث عن حل 🙂
-
وعليكم السلام
1.
بوجه عام ، اي وقت تحصل على خطأ OLE Server ، قم باعادة تضبيطات لغة دعم حروف Unicode (اي لغة غير الانجليزية) للحاسبة ، حسب اللغة التي تستعملها في برنامج الاكسس (في حالتي هي اللغة العربية)
.
2.
سابقا في الاكسس 2003 وما قبل ، كانت هناك بعض الاوامر التي تعمل بطريقة صحيحة ، ولكنها لا تعمل في الاكسس 2007 وما بعد ، ومنها مكتبات نواة 32بت على الاكسس نواة 64بت.
3.
الطريقة الصحيحة للتعامل مع جميع اخطاء الاكسس في الكود ، في اعلا كل صفحة دائما استعمل :
Option Compare Database Option Explicit
.
والسطر الثاني جدا مهم للمبرمج ، بحيث يخبرك الاكسس اماكن الخطأ في الكود ، تلقائيا عند كتابة السطر ، او عن طريق امر Compile :
واجعل الاكسس يكتب هذا السطر تلقائيا في كل صفحة كود ، هكذا :
و
.
اما امر Compile :
.
وانا استعمل الامر بعد كل تحديث لأسطر الكود وقبل تجربة تشغيل البرنامج/النموذج (مو اقل من 5-20 مرة في اليوم لكل تحديث) ، ومن كثرة استعمالي له ، وضعت الزر خارج القائمة ، هكذا:
.
اعمل Compile ، وسيخبرك الاكسس مكان الخطأ ، هكذا :
.
وهنا نستطيع مساعدتك ، فتخبرنا اسم الخطأ ، ومكانه.
4.
الاكسس مرتبط ارتباط وثيق بالوندوز ، وهناك الكثير من تحديثات الوندوز اللي تعمل مشكلة في الاكسس ، لذا :
أ. النصيحة الذهبية ، لا تشترك في Preview Updates ، ولا تنزل التحديثات حين اصدارها من مايكروسوفت ،
ب. اما اذا سبق السيف العدل ، وتم عمل تحديثات الوندوز ، وظهرت لك اخطاء في برنامجك ، فهناك حلين :
- البحث في الانترنت لحل ، ولا تنسى ان هناك مجتمع كبير جدا للاكسس ، وكما حصلت لك المشكلة ، فستكون حصلت لآخرين ، وتم التحدث عنها ، وغالبا يتم تقديم طريقة معالجة المشكلة ،
- آخر الدواء الكي ، ولما تستصعب عليك الامور ، وخصوصا اذا كان لديك برنامج يتم استعماله في امكان عديدة (ولا يمكنك الوصول اليها) ، فيمكنك التراجع عن تحديث الوندوز ،
-
واما اذا قدرت تصبر شوي (والله اعلم طول هذه الفترة) ، فدائما يتم ايصال خبر هذه المشاكل الى شركة مايكروسوفت ، وتقوم : 1. إما بعمل تحديث وندوز جديد لحل هذه المشكلة ، 2. او ترسل تحديث/تعديل الى الاكسس الموجود على حاسبتك مباشرة وبدون علمك
-
1
-
1
-
السلام عليكم
متابع الموضوع منذ البداية ، ولكن ليس في التفاصيل الدقيقة 🙂
هنا كتبت تجربتي في التعامل مع اجهزة البصمة ، وكان لك أخوي ابوخليل مشاركة كذلك:
.
خلاصة الفكرة: لا تُحمّل اكسس عبئ العمل كاملا ، فإجعل جهاز البصمة يقوم ببعض الاعمال الافتراضية التي تخصه ، واخذ الصافي ، ومنها استخدم قوة الاكسس.
وهذه مشاركة اخرى ، لسحب البيانات من جهاز البصمة ، والتي يحفظ البيانات بطريقة عمودية
-
السلام عليكم اخوي وليد
شكرا جزيلا على برنامجك العملي ، وعندي بعض الاصحاب اللي ممكن يستفيدوا منه 🙂
جعفر
-
اخي فادي
اهلا وسهلا بك ضمن فريق العمل ، وما ذلك عليك بغريب ، فقد كنت تمارس هذا الدور بدون اللقب 🙂
جعفر
-
1
-
-
السلام عليكم
واستمرارا بتتبع والتنقيب عن الخبراء بين المشاركات ، اهدي لانفسنا الخبير @Ahmos.
شكرا لك على عطاءك 🙂
جعفر
-
1
-
-
وشكرا جزيلا للخبير Ahmos 🙂
-
1
-
-
وعليكم السلام
اعمل حقل جديد في الاستعلام :
myColour: len([Colour]) وفي المعيار اكتب <>0
-
شكرا اخوي Ahmos على المرفق،
ولكني لازلت افكر في المكان المناسب لاستعماله!!
اذا ممكن تعطيني بعض الامثلة لوسمحت
-
1 ساعه مضت, ابوخليل said:
بالضبط هذا ماكنت اعمله .. الا ان الهوامش ابقيها ثابتة .. اجعلها صفرا من خصائص التقرير نفسه
هي كذلك الهوامش ابقيها ثابتة .. اجعلها صفرا من خصائص التقرير نفسه ، ولكني اذكر واجعتني مشكلة فاضطررت الى كتابتها في الكود كذلك ،
وفي تقرير آخر ، مع ان اسم الخط تم اختياره من خصائص واعدادات التقرير ، إلا انه في الطباعة كان يظهر الخط الافتراضي ، فكتبت اسمه في الكود ، وتم حل المشكلة 🙂
-
1
-
-
وعليكم السلام
اهم شيء في موضوع هذه الطابعات هو ان يكون عندك برنامج تنصيب الطابعة من الشركة ، ولا تعتمد على تعريف الوندوز ، لأنه بعد التنصيب ، يجب عليك عمل بعض التعديلات على اعدادات الطابعة.
1. من صفحة الطابعات ، اختار خصائص الطابعة:
.
2. وهنا سأعرض التخصيصات لطابعات مختلفة ، رجاء ملاحظة اسماء الطابعات:
.
هنا يجب ملاحظة ان بعض الطابعات تقطع الورقة حسب الاعدادات: بعد المستند او بعد كل ورقة
.
.
وبما ان الطابعات الحرارية لا تحتاج الى مسافات/هامش لسحب الورقة ، فالافضل عمل هذا برمجيا :
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) On Error GoTo err_Detail_Format 'set the default printer margins With Application.Printers(0) .TopMargin = 0 .BottomMargin = 0 .LeftMargin = 0 .RightMargin = 0 End With
.
في التقرير ، وفي وضع التصميم ، اختار الطابعة (سواء بعرض 80مم او 58 مم) ،
عليه تستطيع تصميم التقرير/الحقول بالطريقة العادية ، مع مراعاة عرض التقرير (ولا يهم الطول) ، وبالتجربة تستطيع تضبيط التقرير.
التقارير بالبوصة (لاحظ العرض)
ولا تنسى ان الطابعة تطبع باللون الاسود فقط (او اطياف اللون الرمادي) ، فتأكد من اختيار لون النص وحجمه ، وان الشعار يكون ابيض واسود (واما اذا كان ملون ، فسيتم طباعته باطياف اللون الرمادي).
-
1
-
1
-
-
هناك ملاحظتين :
1. الاكسس لا يستطيع تكوين حقل نص او اي حقل آخر اثناء العرض ، فتكوين الحقول تتم فقط في وضع التصميم ،
لذا ومن التجربة ، ترى اني وضعت في النموذج 38 حقل نص جاهزين للعمل.
2. وفي التقرير ، الاكسس لا يستطيع ان يجعل التقرير عمودي او افقي برمجيا (ونصيحة ، لا تهدر وقتك بمحاولاتك) ،
لذا اعمل تقريرين ، افقي وعمودي ، واجعل في النموذج زرين: واحد لطباعة التقرير افقيا ، والاخر لطباعة التقرير عموديا.
-
1
-
-
22 ساعات مضت, ابوخليل said:
ابداع .. لا نظير له ..
بعد التجربة .. هل ينطبق هذا داخل التقرير ؟
خاصة الحقول .. لما لتوسيع الحقول من اهمية تدعو ا الحاجة اليها أحيانا
شكرا جزيلا اخوي ابوخليل 🙂
نعم ، نستعمل نفس الكود عند فتح التقرير ، فيتم توزيع حقول النص كما هي في النموذج ، وبنفس مقاساتها ، وهذه هي الفكرة من البرنامج
-
1
-
-
1 ساعه مضت, Moosak said:
وحسب ما هو ملاحظ في برامج الصور
حياك الله اخوي موسى 🙂
هذا برنامج للتصوير ، فالاولوية لحجم الصورة الملتقطة من الكاميرا.
نعم بدأت العمل بعمل كائن خاص للصورة يملئ النموذج ، ولكن بدأ المربع يعمل وميض ، واوقات اخرى لا تستطيع رؤية الصورة من خلاله (مثل المثال اللي عرضته لما غيرت اتجاه النموذج من اليمين الى اليسار).
-
1
-
-
4 ساعات مضت, ابوخليل said:
بالنسبة لي ملزوم أمسك الحاجة بيدي
على راسي اخوي ابوخليل 🙂
بس بما انها دروس ، فسأقوم بعرضها في الموضع الاخر ، ثم اقوم بمناقشتها هنا ان شاء الله ،
الدرس اليوم كان تحريك الكائنات ، وعرضت الافكار والاكواد واجزاء البرامج الخاصة بها.
-
1
-
-
2. تحريك الكائنات في النموذج
هناك عدة طرق لتحريك الكائن ، ولكنها جميعا تعتمد على الحدث/الاحداث التالية:
للكائن:
.
او حدث القسم اللي فيه الكائن ، والكائن هنا في قسم التفصيل Detail
.
ولكن من الخطأ استعمال الحدث للنموذج ، فالكائن موجود في قسم :
.
اول عمل قمت به (اعتقد في سنة 2005) كان على مثل هذا النموذج ، وفيه ملصق (مع اضافة المربع الان) .
لاحظ انك تستطيع تحريك الملصق بمسكه من اي مكان في الكائن ،
ولكن المربع الاجوف تستطيع تحريكه عند مسك حوافه/اطرافه فقط
.
ولما غيرنا خلفية المربع من شفاف (اجوف) الى خلفية عادية ، استطعنا تحريك المربع بمسكه من اي مكان
.
الكود الذي يمكننا من التحريك الملصق هو التالي ، واحد اهم الاسطر في الكود هو اول سطر (Dim lblDrag_X As Long, lblDrag_y As Long) ، بحيث هذه القيم تكون مخزنه لكل مرة يتحرك فيها الملصق
Option Compare Database Option Explicit Dim lblDrag_X As Long, lblDrag_y As Long ' Private Sub lblDrag_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo err_lblDrag_MouseMove Static InitX As Single Static InitY As Single If Button = acLeftButton Then If InitY <> 0 And InitX <> 0 Then lblDrag.Top = (Y - InitY) + lblDrag.Top lblDrag.Left = (X - InitX) + lblDrag.Left Else InitX = X InitY = Y End If Else InitX = 0 InitY = 0 End If lblDrag_X = lblDrag.Top lblDrag_y = lblDrag.Left lblMouseMove_Resume: Exit Sub err_lblDrag_MouseMove: If Err.Number = 2100 Then Resume lblMouseMove_Resume Else MsgBox Err.Number End If End Sub
.
.
ولما زاد عدد حقول النص (كانت تجينا مناقصات ولازم نعبئ المناقصات على اوراق الشركة ، يعني سعر كل مادة يجب تضبيطها حسب مكانها في ورقة المناقصة ، مع كتابة ملاحظاتنا حسب نوع المنتج) . وكان لابد من توسيع الحقل ، فاستعملت مفتاح الشفت (او Ctrl) مع الاسهم (يمين - يسار - اعلى - اسفل)
.
اصبح الكود اعلاه هو الاساس في تحريك حقول النص بجعله في دالة (في وحدة نمطية في مشروعي الاخير) ، ودالة اخرى لتوسيع الحقول ، اما مناداة هذه الدوال فكانت من حدث كل كائن على حدة:
Private Sub Form_Current() ' Load the position and the size of the 38 TextBoxes Me.Drag01.Top = [Drag01_PositionY] Me.Drag01.Left = [Drag01_PositionX] Me.Drag01.Width = [Drag01_Width] Me.Drag01.Height = [Drag01_Height] Me.Drag02.Top = [Drag02_PositionY] ..... end sub Private Sub Drag01_KeyDown(KeyCode As Integer, Shift As Integer) Call KeyMe(KeyCode, Shift, ActiveControl, iWidth, iHeight) [Drag01_Width] = iWidth [Drag01_Height] = iHeight End Sub Private Sub Drag01_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) Call DragMe(Button, Shift, x, Y, ActiveControl, PosX, PosY) [Drag01_PositionY] = PosY [Drag01_PositionX] = PosX End Sub ثم الدوال Public Sub DragMe(Button As Integer, Shift As Integer, x As Single, Y As Single, Drag As Control, PosX, PosY) ' Drag position Static InitX As Single Static InitY As Single If Button = acLeftButton Then If InitY <> 0 And InitX <> 0 Then Drag.Top = (Y - InitY) + Drag.Top Drag.Left = (x - InitX) + Drag.Left Else InitX = x InitY = Y End If Else InitX = 0 InitY = 0 End If PosX = Drag.Left PosY = Drag.Top End Sub Public Sub KeyMe(KeyCode As Integer, Shift As Integer, Drag As Control, iWidth, iHeight) 'Typical key down event handler : ' Right Arrow = Increase the Width ' Left Arrow = Reduce the Width ' Down Arrow = Increase the Height ' Up Arrow = Decrease the Height Select Case KeyCode Case 37 'Left arrow Drag.Width = Drag.Width - 72 Case 39 'Right arrow Drag.Width = Drag.Width + 72 Case 38 'Up arrow Drag.Height = Drag.Height - (1440 * 0.1667) Case 40 'Down arrow Drag.Height = Drag.Height + (1440 * 0.1667) End Select iWidth = Drag.Width iHeight = Drag.Height End Sub
.
.
ومع تعديل بسيط حتى يقبل التنسيق في حقول النص للاكسس 2007 فما فوق
.
والان بعد ان عرفنا كيف نحرك المربع ، سنتحدث عن :
- طريقة تحريك اطرافه افقيا وعموديا ،
- تغيير مؤشر الفأرة حسب مكان المؤشر.
هنا سأشير الى الفكرة ، واترككم مع البرنامج:
- من طول او عرض اي ضلع ، 0-25% و 75-100% يكون المؤشر لتحريك المريع. يعني اذا طول الضلع 10 ، اذن من 0-2.5 و من 7.5-10 يكون المؤشر لتحريك المربع.
- اما من 26-74% يكون لتحريك الضلع نفسه (من حوالي 3-7) ، وعليه يتغير المؤشر.
- اساس الكود هنا هو نفس الموجود في اول المشاركة هذه ، ومنه تم التوسع حسب الحاجة.
.
.
وبعد تجارب كثيرة ومختلفة ، اتضح ان استعمال الاحداث اعلاه لكائن المربع لا تفي بالغرض لمشروعي ، والسبب هو ان الحدث يبدأ بالعمل عندما يكون المؤشر على احد اضلع المربع ، بينما لا يمكن الاستفادة من منتصف المربع ، فعليه ، تم تحويل الكود الى حدث قسم التفصيل Details ، ومنها بدأ العمل بالتبلور بصورة مرضية 🙂
الذكاء الاصطناعي كان وبالا/مشكلة عليّ في هذا المشروع ، وذلك لشح البيانات عن مثل هذا العمل في الانترنت ، فكنت اضطر الى عمل الكود الاساسي لضلع واحد ، ومن ثم الطلب منه بعمل باقي الاضلاع ، او تقييده في عمل الكود بين اسطر معينة من الكود.
جعفر
-
2
-
اللي استغربت منه هو ، لما عملت تحويل لوضع النموذج ، بدلا من يسار الى يمين ، عملته من اليمين الى اليسار ، واذا بالمربع الاحمر ما صارت يعمل كما يجب !!
-
1
-
-
1.
سابقا كنا اذا اردنا استعمال الويب كام WebCam فكنا نستعمل مثل هذه الطريقة:
.
والان مع الوندوز 10 ، اصبحنا لا نحتاج الى برامج خارجية ، فالوندوز 10 يحتوي على برنامج التصوير والذي يحتوي على عرض مباشر للموظف ، ويمكن التحكم به برمجيا.
-
1
-
-
1. حجم الصور
صحيح ان الاكسس يتعامل مع حجم الصورة ، ولكن حجم الصور له تأثير على عمل البرنامج ، ليس فقط في بطئ البرنامج ، وانما في فعاليته (نعم اعرف هذا الكلام غريب ، ولكن الفيديو رقم 3 في الاسفل يثبت هذه النقطة).
دائما اعمل تصغير لحجم الصورة ليتناسب مع حجم الشاشة ، سواء للنموذج او التقرير ، والافضل ان تكون الصورة اكبر من بحوالي 20%-30% من حجم الكائن في النموذج/التقرير حتى يعطي صورة ادق.
اذا لاحظنا الصورة التالية :
التصوير من الكاميرا = 5616x3744 بكسل
حجم شاشتي = 1680x1050 بكسل ، اي حوالي 33% من الحجم الاصلي
ووضعت شعار المنتدى في الشاشة ، وكائن الصورة حجمه 350x200 بكسل. ومع الاسف الشديد ، فقد رأيت برامج بحيث استخدم المبرمج صورة بحجم 4333x4333 هنا !!
في الصور الكبيرة ، المشكلة تكمن ، بما انها في الاكسس وقت التشغيل ، فهي محسوبة من ذاكرة الاكسس ، فقد تحصل على رساله بتجاوز اكسس من حجم الذاكرة الخاصة به.
وللعلم ، فالاكسس مو من البرامج التي تتعامل مع الصور بشكل سلسل ، وليس الاسوء.
صحيح ان حجم الصورة ادناه BG_Sizes2.JPG=11.7MB ، ولكن عند فتح الصور المضغوطة بجميع انواعها (مثلا jpg او png) ، فحجمها يكون كما لو كانت بصيغة BMP ، والصورة ادناه تكون بحجم 60MB . ولكن للعلم ، فعند فتح اي صورة ، فالكمبيوتر يفك ضغط الصور ويتعامل معها على انها BMP !!
.
1. اداء الكمبيوتر بدون صورة في الخلفية:
.
2. اداء الكمبيوتر باستخدام صورة صغيرة في الخلفية:
.
3. اداء الكمبيوتر باستخدام صورة كبيرة في الخلفية:
.
لاحظ فرق الاداء.
جعفر
-
1
-
-
عيدكم مبارك وايامكم سعيدة ان شاء الله
-
السلام عليكم
عيدكم مبارك وايامكم سعيدة ان شاء الله.
كان الطلب: نريد التصوير ، وتقطيع الصورة من خلال نموذج اكسس ،
والجواب كان "استوديوهات مسقط" ، بكل ما للاستوديو من ادوات 🙂
اليكم الفيديو والدروس من هذا الرابط :
.
جعفر
-
1
-
-
السلام عليكم
عيدكم مبارك وايامكم سعيدة ان شاء الله.
كان الطلب: نريد التصوير ، وتقطيع الصورة من خلال نموذج اكسس ،
والجواب كان "استوديوهات مسقط" ، بكل ما للاستوديو من ادوات 🙂
عمل البرنامج ، وبدون الدخول في التفاصيل ، والدروس ستكون في التفاصيل :
- تختار من البداية اذا كنت تريد استعمال كاميرا كانون Canon EOS (كاميرا واحدة او كاميرتين) ، او تستخدم ويب كام WebCam (استعملنا 4k ولكننا لم نكن راضين عن جودة الصور لإستخدامها في الهوية ، نعم ممكن استعمالها للهويات المؤقتة).
- عند ادخال رقم الموظف ، يأتي البرنامج بالصورة القديمة للموظف (قد يعطيك الموظف رقمه الوظيفي بالخطأ ، فمن مقارنة صورته القديم بشكله الان تستطيع ان تعرف اذا كان هو نفس الموظف) ،
- اذا كان هذا اول استخدام للتصوير (الانارة ، وضبط عدسة الكاميرا لوضوح الصورة ، او تقريب الصورة) ، فنقوم بعمله وملاحظة صورة الموظف من نافذة التصوير في الاكسس.
- نقوم بالنقر على الزر "التقط صورة من كانون" او "التقط صورة من ويب كام".
- في النموذج نرى الصورة التي تم التقاطها الان.
- نستخدم المربع الاحمر في ضبط مقاسات الصورة ، أ. يدويا عن طريق تحريك المربع او توسيعه من الاطراف او الزوايا ليلائم الحجم الذي نريد قص الصورة ،
- اما اذا اردنا من اكسس ان يقوم بتضيط مقاسات المربع تلقائيا (وهو الافضل والاسرع) ، فلمرة واحدة ، يجب علينا النقر على زر "نموذج الادوات" ، ثم ننقر على زر "اختيار لون الخلفية" ، مما سيعطينا ايقونة اختيار اللون ، فننقر بها على لون الخلفية (اعلى الرأس). ثم نمسك مفتاح Ctrl على الكيبورد وننقر على اي مكان في الوجه. و 95% من الوقت ، لا نحتاج الى عمل تعديل يدوي على المربع.
- عندما يكون المربع في المكان الصحيح ، انقر على زر "قص الصورة" ، فيقوم الاكسس باستبدال الصورة الجديدة مكان القديمة.
- بهذه الطريقة ، يتم تصوير وقص صورة الموظف في اقل من دقيقة واحدة ، وببساطة.
ستكون هناك سلسلة من الدروس التعليمية في كيفية التعامل مع الصور في الاكسس ، هنا في هذا الموضوع ، وحتى يكون الموضوع متسلسل في افكاره ، سيكون هذا الموضوع مغلق للتعليقات.
اما التعليقات والاسئلة فستكون في الموضوع التالي ان شاء الله
جعفر
.
والتصوير كان بهذه الكاميرات
.
-
2
-
فتح نفس النموذج لعدد غير محدود
-
1
-
مطلوب اظهار الساعة تعمل داخل النموذج (الساعة والدقائق والثواني ) من غير استخدام عداد (تايمر) النموذج
في قسم الأكسيس Access
قام بنشر
السلام عليكم
اما انا فما احب استعمال Timer في نماذجي ، لأنها تؤذيني لما اشتغل في الكود !!
واعتقدت ان كود اخوي ابو جودي سيحل المشكلة ، ولكن للأسف ، حصلت على نفس المشكلة في الكود !!