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

Bluemind

المشرفين السابقين
  • Posts

    1,802
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    1

كل منشورات العضو Bluemind

  1. اخوي اتوقع هذا الموضوع سوف يفيدك http://www.officena.net/ib/index.php?showtopic=27332
  2. تفضلي شوفي المرفق طبعا لمعاينه التقرير من النموذج الرئيسي للبيانات رايح تحصلين زر معاينه طباعه وزر طباعه للتقرير للسجل الموجود في النموذج للمعاينه اضغطي على معاينه قبل الطباعه Form__3_.zip
  3. الصوره غير واضحه اذا عندك هيا على ملف وارد ارفقيها احسن منها صوره على العموم التنسيق الي في الصوره ممكن تطبيقه على التقرير الموجود عندك اسمه"Patient report" اذا عندك ملف وررد او صوره واضحه ارجوا ارفاقها اما بالنسبه للقوائم فوسوف اشرح طريقه تغيير مصدرها لاحقا
  4. اختي الكريمه المشكله هذي بسبب ان حجم الحقل هو 30 ويجب زيادته الى 255 لحل هذي المشكله روحي على تصميم الجدول(Mailing List) وبعدين عرض التصميم ثم من حقل (Diastolic Function) غيري الحجم الى 255 شوفي الصوره للتوضيح اكثر بالنسبه للسؤال الثاني هذه تكون عن طريق تحويل مربع النص الى قائمه منسدله مع تغيير مصدر البيانات للقائمه المنسدله(انظري خصائص القائمه) رايت كليك على مربع النص ثم تغيير الى ثم اختاري قائمه منسدله كما هو موضح في الصوره الثانيه المرفقه مع تغيير مصدر بيانات القائمه الى جدول او استعلام او عناصر يتم كتابتها يدويا طبعا في مثالك انا عملت جدول لكل قائمه نظرا لكثرة العناصر التي سوف تكون في القائمه
  5. شوف المرفق عملت تعديلات كثيره في تصميم الجدول لانه ملخبط و انواع الاخطاء طبعا نسقي التقرير mailing list حسب ما تريدين في المواعيد و التقارير عندك Form__2_.zip
  6. اخوي والله انا مالي كثير بالشبكات ولكن بعد البحث ب قوقل وجدت الموقع التالي ان شاء الله يفيدك http://www.al-saher.net/vb/showthread.php?t=57104 ولكن انا مادري هل يوجد عندكم شبكه داخليه LAN او لا؟؟
  7. تفضل اخوي شوف التعديل على النموذج form1 Database1__2_.zip
  8. اخوي اولا: القاعده الموجوده على الجهاز الثاني هي قاعده موجوده في مجلد على الجهاز الاول ولكن هذا المجلد موضوع للقراءه فقط تاكد من المجلد الذي اسمه مجلد جديد (2) الموجود على الجهاز الاول وضع خاصيه full contol او تحكم كامل للجهاز الثاني من خصائص هذا المجلد المشارك ثانيا: لكي تعمل القاعدتين على الجهازين قم بوضع قاعده البيانات على السيرفر او جهاز ثلاث لايستخدم هذه القاعده ولا تنسى وضع مشاركه لللمجلد بوضع تحكم كامل من قبل الجهازين الاول و الثاني لها اخي الكريم اشكرك على تفاعلك وتحملك سوف اقوم بالاتي واخبرك ان شاء الله اولا المجلد الذي اسمه مجلد جديد (2) سوف اقوم بعمل تحكم كامل به عن طريق خصائصه ثانيا مسأله السيرفر صعبه سوف اجرب على جهاز ثالث اسهل وافر ويكفي حاليا لو يعمل كل جهاز لحاله دون تشغيل البرنامج من الجهاز الاخر. لكن اخي لم أفهم مسأله وضع تحكم كامل من قبل الجهازين الاول والثاني التي اشرت لها هل تقصد اني اضع تحكم كامل للمجلد الجديد (2) فقط ورحم الله والديك عن النار واذا في النقاط التي ذكرت خطا ارجو منك اعلامي ولك جزيل الشكر اخي الكريم نعم اخوي تضع تحكم كامل للصلاحيات على المجلد الجديد 2 وجزاك الله خير على الدعوه وانا بالخدمه قدر المستطاع
  9. اخوي سؤالك له جزئين الاول في عنوان الموضوع وهو اخفاء الصفحات الغير مستخدمه مثل sheet2 ...... ويتم اخفائها او حذفها تماما بعمل رايت كليك على التاب في اسفل الصفحه ثم اخفاء او مسح الثاني هو اخفاء الاعمده و الصفوف الغير مستخدمه في الصفحه ويتم ذلك عن طريق اذهب الى او عمود من الاعمده المراد اخفائها ثم حدده ثم اضغط على shift و Ctrl و اضغط على زر السهم اليمين ثم رايت كليك ثم مسح او اخفاء والطريقه تنطبق على الصفوف ولكن نستخدم shift و Ctrl و زر السهم الى اسفل
  10. اخوي اولا: القاعده الموجوده على الجهاز الثاني هي قاعده موجوده في مجلد على الجهاز الاول ولكن هذا المجلد موضوع للقراءه فقط تاكد من المجلد الذي اسمه مجلد جديد (2) الموجود على الجهاز الاول وضع خاصيه full contol او تحكم كامل للجهاز الثاني من خصائص هذا المجلد المشارك ثانيا: لكي تعمل القاعدتين على الجهازين قم بوضع قاعده البيانات على السيرفر او جهاز ثلاث لايستخدم هذه القاعده ولا تنسى وضع مشاركه لللمجلد بوضع تحكم كامل من قبل الجهازين الاول و الثاني لها
  11. اخوي قم باستخدامها كا كسر اي 185.45
  12. اخوي فادي الصراحه النموذج لم يعمل معي لوجود مشكله في الترميز عندي (اللغه العربيه) بس الي فهمته ان حقل b هو حقل خيارات "غائب" و "حاضر" ما الغرض من جعل رساله تظهر اذا تكرر هو بالفعل لابد ان يتكرر اذا مثلا غاب الموظف او في حاله الحضور اليومي الرجاء توضيح الامر
  13. اخوي هذه المديول بعد التعديل حسب المطلوب Dim ctl As Access.Control Dim fValue As Boolean On Error GoTo MyErr For Each ctl In frm.Controls If ctl.Tag = "GroupA" Then Select Case ctl.ControlType Case acTextBox, acCheckBox, acListBox, acComboBox fValue = (Len(ctl.Value & vbNullString) > 0) If fValue Then MsgBox "There is value in '" & ctl.Name & "'," & vbNewLine & _ "please enter a value and try again.", vbExclamation, "Missing value!" Set ctl = Nothing Exit Sub End If Case Else End Select End If Next ctl For Each ctl In frm.Controls If ctl.Tag = "GroupA" Then ctl.Visible = Not fHide End If Next ctl MyExit: Set ctl = Nothing Exit Sub MyErr: MsgBox Err.Description Resume MyExit وهذه الطريقه التي تستدعي فيها المديول من خلال Checkbox If Me.Check5 = True Then HideIt Me, Me.Check5 End If
  14. اخوي لايوجد تنسيق للساعه بهذا الشكل ثلاث خانات ما المقصود من " بس فى بعض احيان ادخل بيانات ساعة هكذا 185:45 تضهر لى رسالة خطاء لانه لايقبل ثلاثة ارقام هكذا 185:45 " هل تقصد خطا ادخال مثلا؟؟!!!
  15. اخوي من هذه المشاركه http://www.officena.net/ib/index.php?showtopic=27376 سبب اختفاء الخانات هو ان القاعده للقراءه فقط كماى اوضحت لك سابقا تاكد من انها ليست للقراءه فقط لاحد الاسباب اعلاه
  16. اخوي هل جربت تشغيلها من الجهاز الاول الموجود عليه قاعده الجداول؟؟ اين تم وضع القاعده الثانيه التي على الجهاز الثاني؟ هل هي على هارد ديسك خارجي او فلاش ماموري؟؟ او موجوده في ملف مضغوط؟؟ تاكد من انها ليست للقراءه فقط!!! بالاضافه الى ذلك سوف تظهر لك مشكله ان الجهاز الموضوع عليه القاعده الاساسيه او قاعده الجداول لن يستطيع استعمالها في حاله كان الجهز الثاني متصل باقاعده الجداول
  17. بعد اذن اخوي اسامه المجموعه الاولى مثلا اسمها GroupA من خصائص كل عنصر و من خاصيه Tag اكتب مثلا GroupA المجموعه الثانيه و اسمها GroupB نضع في خاصيه كل عنصر ومن خاصيه Tag نكتب GroupB طبعا سوف نطبق شرط على هذه المجموعتين لو فرضنا قيمه في مربع نص اسمه txt1 نكتب هذا الكود في خاصيه بعد التحديث لهذا المربع بحيث لو كتب رقم 1 فان المجموعه الاولى GroupA سوف تظهر وفي حاله كانت القيمه 2 فان المجموعه الثانيه GroupB سوف تظهر و تختفي المجموعه GroupA Dim ctl As Control If Me.txt1 = 1 Then For Each ctl In Me.Controls If ctl.Tag = "GroupA" Then ctl.Visible = True ElseIf ctl.Tag = "" Then ctl.Visible = True Else ctl.Visible = False End If Next Else For Each ctl In Me.Controls If ctl.Tag = "GroupB" Then ctl.Visible = True ElseIf ctl.Tag = "" Then ctl.Visible = True Else ctl.Visible = False End If Next End If طبعا عدل في الشرط كما تريد هناك طريقه اخرى وهي كما اشار اليها اخوي اسامه وهي عن طريق الوحده النمطيه وذلك يتم عن طريق انشاء وحده نمطيه وتسميتها مثلا module1 نكتب الكود التالي فيها Public Sub HideIt(frm As Form) On Error Resume Next Dim ctl As Control For Each ctl In frm.Controls With ctl If ctl.Tag = "GroupA" Then ctl.Visible = False End If End With Next ctl Set ctl = Nothing Set frm = Nothing End Sub ثم من خلال النموذج نضع شرط معين If txt1=1 Then HideIt Me End If اذا وجدت صعوبه في تطبيق هذه الاكواد الرجاء ارفاق قاعده بياناتك
  18. اخوي قم بانشاء وحده نمطيه او module وضع الكود التالي فيه Option Compare Database Private Declare Function apiGetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Public Function StampRecord(frm As Form, Optional bHasInactive As Boolean = False) As Boolean On Error GoTo Err_StampRecord 'Purpose: Stamp the user and date/time into the record. 'Return: True if successful. 'Argument: frm = the bound form to be stamped. ' bHasInactive= True if the form has Inactive fields. 'Assumes: Fields named EnteredOn, EnteredBy, UpdatedOn, and UpdatedBy. 'Usage: In Form_BeforeUpdate: ' Call StampRecord(Me, True) Dim strForm As String Dim strUser As String strForm = frm.Name 'For error handler. strUser = NetworkUserName() If frm.NewRecord Then frm!EnteredBy = strUser End If If bHasInactive Then With frm!Inactive If .Value = .OldValue Then 'do nothing Else If .Value Then frm!InactiveBy = strUser Else frm!InactiveBy = Null End If End If End With End If Exit_StampRecord: Exit Function Err_StampRecord: Call LogError(Err.Number, Err.Description, conMod & "StampRecord()", "Form = " & strForm) Resume Exit_StampRecord End Function Public Function LogError(ByVal lngErrNumber As Long, ByVal strErrDescription As String, _ strCallingProc As String, Optional vParameters, Optional bShowUser As Boolean = True) As Boolean On Error GoTo Err_LogError ' Purpose: Generic error handler. ' Arguments: lngErrNumber - value of Err.Number ' strErrDescription - value of Err.Description ' strCallingProc - name of sub|function that generated the error. ' bShowUser - optional boolean: If False, suppresses display. ' vParameters - optional string: List of parameters to record. Dim strMsg As String ' String for display in MsgBox Select Case lngErrNumber Case 0 Debug.Print strCallingProc & " called error 0." Case 2501 'cancelled. 'Do nothing. Case 3314, 2101, 2115 'can't save. If bShowUser Then strMsg = "Record cannot be saved at this time." & vbCrLf & "Complete the entry, or press <Esc> to undo." MsgBox strMsg, vbExclamation, strCallingProc End If Case Else If bShowUser Then strMsg = "Error " & lngErrNumber & ": " & strErrDescription MsgBox strMsg, vbExclamation, strCallingProc End If End Select LogError = True Exit_LogError: On Error GoTo 0 Exit Function Err_LogError: strMsg = "An unexpected situation arose in your program." & vbCrLf & _ "Please write down the following details:" & vbCrLf & vbCrLf & _ "Calling Proc: " & strCallingProc & vbCrLf & _ "Error Number " & lngErrNumber & vbCrLf & strErrDescription & vbCrLf & vbCrLf & _ "Unable to record because Error " & Err.Number & vbCrLf & Err.Description MsgBox strMsg, vbCritical, "LogError()" Resume Exit_LogError End Function Public Function NetworkUserName() As String On Error GoTo Err_Handler 'Purpose: Returns the network login name. Dim lngLen As Long 'Length of string. Dim strUserName As String Const lngcMaxFieldSize As Long = 50& 'Length of field to store this data. 'Initialize NetworkUserName = "Unknown" strUserName = String$(254, 0) lngLen = 255& 'API returns a non-zero value if success. If apiGetUserName(strUserName, lngLen) > 0& Then lngLen = lngLen - 1& 'Without null termination char. If lngLen > lngcMaxFieldSize Then 'Maximum field size lngLen = lngcMaxFieldSize End If NetworkUserName = Left$(strUserName, lngLen) End If Exit_Handler: Exit Function Err_Handler: Call LogError(Err.Number, Err.Description, conMod & ".NetworkUserName", , False) Resume Exit_Handler End Function بعد ذلك قم بانشاء الحقل في جدولك وسمه EnteredBy بعد ذلك في حدث قبل التحديث او before update قم بوضع هذا الكود Call StampRecord(Me, False) طبعا اذا حبيت تستخدم الحقل الموجود لديك في الجدول يجب عليك تغيير في الكو الموجود في الوحده النمطيه وتحديدا هنا: frm!EnteredBy = strUser
  19. اخوي هذي المشكله تظهر اذا كان عندك على نفس الجهاز اكثر من اصدار للاوفيس(2003 و 2007) هناك حلول كثيره منها من قائمه ابدا او start ضع في حقل البحث هذه الكلمه RegEdit. ثم عندما تجدها قم بفتحها و اختر هذ المفتاح HKEY_CLASSES_ROOT ثم من تحت هذ المفتاح اختر TypeLib ثم من تحته اختر او ابحث عن هذا المفتاح {4AFFC9A0-5F99-101B-AF4E-00AA003F0F07} ثم من تحته اختر 9.0 طبعا هنا الشكل يكون شجري اي تفرعي من typelib الى حد 9.0 ثم اعمل رايت كليك على 9.0 ثم اختر permissions ثم سوف يفتح لك مربع حوار مثل ماهو موجود يالصوره المرفقه اختر users ثم اعمل صح بجانب خيار full control جرب العمليه وخبرني بالنتيجه
  20. اخوي فادي هذي الداله تستخدم للبحث عن نص بدلاله رقم وكذالك نص بدالاله نص في حاله البحث عن نص بدلاله رقم مثالا البحث عن اسم الموظف بدلاله رقمه الوظيقي من خلال نموذج يوجد به حقل نص تستخدم داله Dlookup كالتالي اسم الجدول Employees اسم الحقل للرقم الوظيفي ID اسم الحقل لاسم الموظف EmpName اسم النموذج المراد استخدامه في عمليه البحث هو Search اسم مربع النص الغير معتمد على حقل txtSearch كود الداله هو كالتالي كود DLookup("[EmpName]", "Employees", "[ID] = " _ & Forms!Search!txtSearch) اما في حاله البحث بدلاله نص فهذا المثال يوضح لك كود DLookup("[EmpName]", "[Employees]", "[EmpName] = '" & Forms!Search![txtSearch] & " ' ") طبعا ما انصحك باستخدام النوع الثاني مع dlookup لان النتيجه سوف تضهر لك فقط الاسم مثل ما كتب ويكون كلمه واحده فقط هناك طرق اخرى للبحث عن النص بدلاله النص افضل من استخدام dlookup ارجوا تحديد طلبك و ارفاق قاعده البيانات
  21. اخوي احمد الصراحه هناك طريقه لكن لم اجربها من قبل باستخدام اكسس 2007 من التبويب external data ثم اختر ODBC DATABASE كما هو موضح في الصوره المرفقه ثم حدد مسار مصدر القاعده الرجاء التجربه و الرد هل نجحت الطريق او لا
  22. اخوي عند فتح البرنامجقم بفتح محرر الفيجول بيزك( اضغط على ctrl + G ) ثم من قائمه tools او ادوات اختر References بعدين سوف تظهر لك قائمه كما في الصوره المرفقه قم بالبحث عن اي كلمه ..... missing قم بازاله علامه الصح من جانبها ثم اضغط على اوكي ثم اقفل البرنامج واعد فتحه من جديد
  23. اخوي هذا حل الجزئيه الثانيه في الخليه f11 اكتب الداله التاليه: =LEFT(D11,1)&"-"&RIGHT(D11,LEN(D11)-1) d11 هي الخليه التي تريد عمل فصل لحروفها عن ارقامها باضافه "-" طبعا اسحب الخليه الى اسفل لتطبيق هذا الكود على باقي الخلايا
  24. اخوي لاستخدام تاريخ الجهاز للمقارنه و التنسيق الشرطي استخدم الداله =TODAY()
  25. اخوي ارفق قاعده البيانات لتتضح صوره وشكل البحث
×
×
  • اضف...

Important Information