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

king5star

03 عضو مميز
  • Posts

    352
  • تاريخ الانضمام

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

  • Days Won

    3

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

  1. تفضل اخى وفقك الله . Empty rec Up.mdb
  2. تفضل Option Compare Database Dim trycount As Integer Private Sub Cansel_Click() On Error GoTo Handle_Error [Forms]![frm-UserLogon].Visible = False If MyUser.Valid Then DoCmd.close ElseIf MsgBox("هل ترغب بمغادرة البرنامج؟", 4 + 32, "تأكيد الخروج") = 6 Then DoCmd.Quit Else [Forms]![frm-UserLogon].Visible = True End If Exit_Process: Exit Sub Handle_Error: MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Process End Sub Private Sub Form_Load() trycount = 0 End Sub Private Sub LoginBT_Click() On Error Resume Next Dim LogUser As New CUser If trycount > 3 Then MsgBox " من حُسن إسلام المرء تركه ما لا يعنيه ", vbOKOnly + vbMsgBoxRight + vbInformation, "تحذير !" MsgBox " سيتم إغلاق البرنامج الآن ،،، يرجى مراجعة المبرمج ", vbOKOnly + vbMsgBoxRight + vbInformation, "تحذير !" DoCmd.Quit ElseIf IsNull(Me.user) Then MsgBox (" فضلاً يجب أن تقوم بإدخال اسم المستخدم ") Me.user.SetFocus ElseIf IsNull(Me.pass) Then MsgBox (" فضلاً يجب أن تقوم بإدخال كلمة السر ") Me.pass.SetFocus ElseIf Len(Trim(Me.pass)) > 20 Then MsgBox (" يجب ألا تتجاوز كلمة السر عشرين حرف أو رقم") Me.pass.SetFocus '------- اسير الشروق ------ مستخدم مخفى للدخول لنموذج تفعيل والغاء الشيفت واخفاء واظهار الجداول --------- ElseIf [user] = "admin" And [pass] = "2015" Then DoCmd.close DoCmd.OpenForm "MSysEdit" ElseIf [user] = "superadmin" And [pass] = "2015" Then DoCmd.close DoCmd.OpenForm "Users Ability", acNormal '------- اسير الشروق ------ مستخدم مخفى للدخول لنموذج تفعيل والغاء الشيفت واخفاء واظهار الجداول --------- Else LogUser.UserName = Me.user LogUser.pass = Me.pass DoCmd.OpenForm "data" If LogUser.Valid Then Set MyUser = LogUser DoCmd.close acForm, "frm-userlogon" Else MsgBox " اسم المستخدم أو كلمة السر غير صحيحة ،،، يرجى إعادة المحاولة ", vbOKOnly + vbMsgBoxRight + vbInformation, "تحذير !" trycount = trycount + 1 End If End If End Sub Private Sub Permissions_Click() On Error Resume Next Dim LogUser As New CUser If trycount > 3 Then MsgBox " من حُسن إسلام المرء تركه ما لا يعنيه ", vbOKOnly + vbMsgBoxRight + vbInformation, "تحذير !" MsgBox " سيتم إغلاق البرنامج الآن ،،، يرجى مراجعة المبرمج ", vbOKOnly + vbMsgBoxRight + vbInformation, "تحذير !" DoCmd.Quit ElseIf IsNull(Me.user) Then MsgBox (" فضلاً يجب أن تقوم بإدخال اسم المستخدم ") Me.user.SetFocus ElseIf IsNull(Me.pass) Then MsgBox (" فضلاً يجب أن تقوم بإدخال كلمة السر ") Me.pass.SetFocus ElseIf Len(Trim(Me.pass)) > 20 Then MsgBox (" يجب ألا تتجاوز كلمة السر عشرين حرف أو رقم") Me.pass.SetFocus Else LogUser.UserName = Me.user LogUser.pass = Me.pass If LogUser.Valid Then Set MyUser = LogUser DoCmd.OpenForm "Users Ability", , , , , acDialog Me.user = Null Me.pass = Null LogUser = Null Else MsgBox " اسم المستخدم أو كلمة السر غير صحيحة ،،، يرجى إعادة المحاولة ", vbOKOnly + vbMsgBoxRight + vbInformation, "تحذير !" trycount = trycount + 1 End If End If End Sub Private Sub user_Exit(Cancel As Integer) 'استخراج رقم اليوزرد 'UN = (DLookup("[SN]", "Users", " deCode([UName],'User')= user ")) End Sub Private Sub ChangePassword_Click() Dim LogUser As New CUser If trycount > 3 Then MsgBox " Of a good Muslim, one left which does not concern ", vbOKOnly + vbMsgBoxRight + vbInformation, "Caution !" MsgBox " The program will be closing now ،،، Please check with the programmer - Mohamed Essam ", vbOKOnly + vbMsgBoxRight + vbInformation, "Caution !" DoCmd.Quit ElseIf IsNull(Me.user) Then MsgBox (" You must enter a user name ") Me.user.SetFocus ElseIf IsNull(Me.pass) Then MsgBox (" You must enter the password ") Me.pass.SetFocus ElseIf Len(Trim(Me.pass)) > 20 Then MsgBox (" Shall not exceed twenty password letter or number") Me.pass.SetFocus Else LogUser.UserName = Me.user LogUser.pass = Me.pass If LogUser.Valid Then Set MyUser = LogUser DoCmd.OpenForm "Change password", acNormal Else MsgBox " Username or password is incorrect ،،، Please try again ", vbOKOnly + vbMsgBoxRight + vbInformation, "Caution !" trycount = trycount + 1 End If End If End Sub قم باستبدال كل الكود بداخل نموذج الدخول بهذا لاننى لم استطع ارفاقها بسبب كبر المساحة وبطي الانترنت لدى . واذا امكن نبذه عن مشروعك والبصمة .
  3. اخى ما الاضافة او التطوير الذى تريدة فهذا جيد حتى الان
  4. استاذى @جعفر إلا يمكن عرض الصورة كـ Live View قبل الالتقاط ؟
  5. السلام عليكم اخوانى وجدت هذه معلومات جيدة فاحببت ان تكون ضمن هذه المكتبة لتعم الفائدة . الطريقة الصحيحة لاستخدام الشروط : ان الإستعلامات حساسة جدا لقبول اي صيغة وعند وضع الدوال في تعبير يجب التقيد بشروط معينه مثلا اذا كان الحقل رقمي Numerical ( اي انه في الجدول نوعه رقم ) فيجب ان يوضع في إستعلام بين علامتي تنصيص بهذه الطريقة "[iD]" مثل "[ID]<=" & [ID] لاحظ علامتي التنصيص فهي تخص فقط الحقل الأول وبعدها نضع حرف & لكي نسند القيمة سواء المساواه او اصغر من او اكبر من الى نفس الحقل سواء في الجدول او النموذج مثال لأي دالة من دوال المجال التجميعي DLookup("[FieldName]"; "TableName"; "[FieldName] =" & [FieldName]) لاحظ علامتي التنصيص المزدوجه " " للحقل الرقمي حيث تم وضع اول علامة تنصيص للحقل الرقمي الأول ثم علامة = ثم علامة تنصيص مزدوجه " ثم & ثم الحقل الرقمي الثاني حسنا ماذا لو كان الحقل نصي Strings ( اي ان الحقل في الجدول نوعه نص ) فيجب ان يوضع في الإستعلام بين ثلاث علامات تنصيص بهذه الطريقة "'[NAME]"' مثل "[NAME]<=' & [NAME] & ' " لاحظ كيف اختلف التعبير عن الحقل الرقمي في الكود العلوي حيث تم اضافة عدد اثنين & بعد الفاصلة العلوية الثالثة لحقل الإسم الأول حيث يجب وضع حقل الإسم الثاني بين علامتي تنصيص مفرده ' ' اما علامتي التنصيص المزدوجة " " فهي خاصة لحقل الإسم الأول مثال لأي دالة من دوال المجال التجميعي DLookup("[FieldName]"; "TableName"; "[FieldName] =' " & [FieldName] & " ' ") لاحظ في الكود ترتيب علامات التنصيص سواء المزدوجة او المفرده فأول علامة تنصيص مزدوجه لحقل الإسم الأول يجب ان يغلق بعلامة تنصيص مفرده ' بعد علامة = فهذه اول ثلاث علامات تنصيص ' " للحقل الأول ثم نضع علامة تنصيص مزدوجه " للحقل الثاني لأنه نصي ثم نضع & ثم نضع حقل الإسم الثاني ثم نضع & ثم نغلق علامة التنصيص المزدوجه " للحقل الثاني ثم نغلق علامة التنصيص المفرده ' لحقل الإسم الأول ثم نغلق كامل الجملة بعلامة تنصيص مزدوجة " وهي خاصة بحقل الإسم الأول حسنا ماذا لو كان الحقل من نوع تاريخ DATE ( يعني في الجدول نوعه تاريخ / وقت ) فيجب ان يوضع بين بين علامتي شبكة #[DATE]# مثل "[DATE]<=#" & [DATE] & #" مثال لأي دالة من دوال المجال التجميعي DLookup("[FieldName]", "TableName", "[Date]=#" & [Date] & "#") لاحظ كيف تم استخدام علامات التنصيص المزدوجه " وعلامتي الشبكه # حسنا ماذا لواردنا تجميع كل هذه المعايير حقل رقمي Numerical و حقل نصي Strings و حقل تاريخ Date في دالة واحده فيجب ان نكون حريصين جدا في وضع علامات التنصيص لكل حقل حتى لا نحصل على اخطاء مثال لأي دالة من دوال المجال التجميعي DLookup("[FieldName]", "TableName", "[FieldNumerical] = " & [FieldNumerical] & " AND [FieldString] = '" & [FieldString] & "'" & " AND [FieldDate] = #" & [FieldDate]& "#" ) اتمنى ان اكون قد القيت بعض الضوء على استخدام هذه المعايير واستخدامها المصدر للاستاذة الجليلة زهره
  6. شكراً جزيلاً لك اخى الكريم
  7. شكراً لمجهودك الكريم اخي ولكن لم يكن المطلوب وتم عمله فى الرد الاخير وشكراً جزيلاً لك. شكراً اخى فهذا هو المطلوب .
  8. السلام عليكم اخوانى . لدى ضلعه وهى اريد عمل استعلام لعرض اخر معاد دخول للعملاء بمعندى يوجد جدول به كل مواعيد دخول العملاء اريد عرض فقط اخر معاد لكل عميل ومرفق مثال ؟ Last Enter.accdb Last Enter.zip
  9. هل يوجد كود او ماكرو لعدم فتح البرنامج اكثر من مره ؟ فعند فتح البرنامج مره اخري فى حالة تشغيلة بالفعل لا يسمح ويقوم بغلق القاعدة الجديدة ؟
  10. تفضل اخي الكريم Convert Excel Contacts To VCF YasserKhalil Officena.xlsm
  11. لقد وجت الحل تعديل الكود الى : Const ForReading = 1, ForWriting = 2, ForAppending = 3 Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0 Dim rst As DAO.Recordset Dim fs, f, ts, s ActiveControl.Hyperlink.CreateNewDocument "E:\LotusNotes_VCard.vcf", True, True Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile("E:\LotusNotes_VCard.vcf") Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault) Set rst = CurrentDb.OpenRecordset("Cus_Invetion") rst.MoveFirst Do Until rst.EOF ts.writeLine "BEGIN:VCARD" ts.writeLine "VERSION:2.1" ts.writeLine "FN:" & rst![Inv_Name] ts.writeLine "TEL;CELL;VOICE:" & rst![Inv_Mobile] ts.writeLine "END:VCARD" rst.MoveNext Loop rst.Close ts.Close
  12. السلام عليكم اخوانى ما اريدة هو تعديل لكود تصدير اسماء الزوار الى ملف VCF لسهولة استدعاءة للهاتف المحمول.الكود يعمل بنجاح ولكن لاول اسم فقط ولا يقوم بتصدير باقى الاسماء الكود : Const ForReading = 1, ForWriting = 2, ForAppending = 3 Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0 Dim rst As DAO.Recordset Dim fs, f, ts, s 'انشاء الملف فى المسار المحدد بالسطر التالى ActiveControl.Hyperlink.CreateNewDocument "E:\LotusNotes_VCard.vcf", True, True ' فتح الملف المصدر Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile("E:\LotusNotes_VCard.vcf") Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault) ' استدعاء البيانات من الجدول Set rst = CurrentDb.OpenRecordset("Invetion") rst.MoveFirst Do Until rst.EOF ts.writeLine "begin:vcard" ts.writeLine "fn:" & rst![Inv_Name] ts.writeLine "tel;cell;voice:" & rst![Inv_Mobile] ts.writeLine "ts.write version:2.1" ts.writeLine "End: vcard" rst.MoveNext Loop ' اغلاق الجدول rst.Close ' اغلاف الملف ts.Close VCard.zip
  13. بالطبع ممكن ولكن يجب ان تنول شرف المحاولة فالتجرب فى حدود معرفتك وقم بانشاء القاعدة والنماذج والتقارير وقم بالحاقها فى الموضوع وسوف ساعدك حتى تنتهي . فى انتظار مرفقك .
  14. اخى فقط قم بتحويل المسار بدل من accdb الى accdr
  15. تسلم ايدك اخى عمل وكل شئ تمام بارك الله فيك ورحم والديك .
  16. السلام عليكم اخوانى لدى مشكلة مع متغير ومعادلة ودالة عامة ملخصة فى الاتى لدى نموذج به حقول كثيرة وجميعهم بهم نفس الدالة واذا اردت التعديل فيمر التعديل عليهم جميعاً والكود طويل ففكرت فى انشاء دالة عاملة استدعيها وقت ما اشاء فيوجد قيمة مرجعيه لحقل فقمت بعمل استدعاى كالتالى : Dim Sub_Manth_Casher_V as string Sub_Manth_Casher_V = "[Forms]![Cus_Sub]![Y2017]" & "![" & Boxname & "_Casher]" ولاننى اريد هذا المتغير فى استعلام تحديث والاستعلامات لا تدعم المتغيرات فقمت بعمل وحدة نمطية كالاتي : Public Function Sub_Manth_Casher() As String Sub_Manth_Casher = Sub_Manth_Casher_V End Function ووضعت اسم الداله فى الاستعلام فتكون النتيجة فى الجدول كالتالى : [Forms]![Cus_Sub]![Y2017]![Jan_Casher] فهل لها حل New Microsoft Access Database.zip
  17. تمت بحمد الله وجدت الحل وكان هكذا ---> dim Creta_V_Money as string Creta_V_Money = "[Forms]![Cus_Sub]![Y2017]![" + Boxname + "]" If Not Creta_V_Money = [Forms]![Cus_Sub]![Cus_Bayed_V] Then endif
  18. استاذى الفاضل @ابوخليل شكراً لمجهودك الطيب ولكن ليس ما اريدة فالنموذج الذى ارستله مبسط عن طبيعة العمل فـ Frm2 هو نموذج الوجهه و فورم 1 هو النموذج الفرعي وفى العمل الفعلى النموذج الفرعي يوجد به اكتر من 12 مربع نص مع امر برمجي كبييييييييير مع وجود 12حقل فالعملية مجهدة جداً ففكرت فى انشاء دالة عامة بمتغيرات كما اوضحت بالمثال المرسل واستدعى الدالة واقوم بوضع اسم الحقل بالمتغير الخاص بها فتقوم الداله بالعمل بنائاً على المعطيات . فهل من الممكن عمل هذا ؟؟ وانا اشكرأ كل الشكر على مجهوداتك .
  19. استاذي الفاضل شكرا لمرورك الكريم ولكن الملف فارغ
  20. شكراً جزيلاً لاهتمامك اخى
  21. شكراً لك اخي لكنني جربت ذلك ولم يفلح هل لديك اقتراحات اخري نحاول بها ؟
  22. ها هو الملف اخي سوف يوضح لك اكثر New Microsoft Access Database.zip
×
×
  • اضف...

Important Information