-
Posts
7034 -
تاريخ الانضمام
-
Days Won
203
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو ابو جودي
-
مشكلة في حساب عدد الاسابيع مع التواريخ بالحلقات التكرارية
ابو جودي replied to AliAli47's topic in قسم الأكسيس Access
يا عينى ع الدلع استاذى الجليل استحييت ان اقوم بالتعديل ولكن والله فكرت بها كذلك كا تفضلتم واكتفيت بوضع اقل الحلول بساطة على خطاكم هههههههههه لان ترانى انا انسان معقد اهوى الحلول الصعبة -
عنوان الموضوع : كيفية الكتابة على قيم في الاستعلام وحضرتك طلبت وطلبت انا بصراحة صيرت ما افهم شئ وغير قادر على محاولة الفهم حتى
-
طيب لا يمكن تعديل القيم فى الاستعلام لان القيم Cat1 , Cat2 ,Cat3 هى قيم تم جلبها فقط من جدول تبعا لقيم مربع السرد الدال عليها كما بالكود ** للعلم هو ممكن اجبر التطبيق انه يغير لك القيم لكن ده هيكون بكود والتغيير هيتم على القيم التى تخص الجدول وطبعا ده مش صح Cat1: Val(IIf(Nz([Cat4_ID_1],"")="",0,DLookUp("Cat4_Ammount","tbl_Cat4","Cat4_ID=" & [Cat4_ID_1]))) Cat2: Val(IIf(Nz([Cat4_ID_2],"")="",0,DLookUp("Cat4_Ammount","tbl_Cat4","Cat4_ID=" & [Cat4_ID_2]))) Cat3: Val(IIf(Nz([Cat4_ID_3],"")="",0,DLookUp("Cat4_Ammount","tbl_Cat4","Cat4_ID=" & [Cat4_ID_3]))) ابسطها لسيادتك القيمة التى تخص جهة استقطاع 1 : استقطاع (4) 10 مليون العمارة 9 = 100 جهة استقطاع 2 : استقطاع (4)10 مليون بلدروز = 200 جهة استقطاع 3 : استقطاع (4) 5 مليون بلدروز = 700 لو انا عملت لك كود لتغيرها هيتم تغيرها فى الجدول file-1 ولو ده حصل فى الوقت ده لن تكون هذه القيم ثابته وسوف تتغير لكل المحاسبين ولكل الموظفين فى القاعدة كلها ركز معايا الله يرضى عليك لما اسجل بيانات فى سجل جديد وتخص الــ المحاسب : عمار بن ياسر , والموظف : احمد هاشم وتكون جهة استقطاع 1 : استقطاع (4) 10 مليون العمارة 9 القيمة = 100 وتكون جهة استقطاع 2 : استقطاع (4)10 مليون بلدروز القيمة = 200 وتكون جهة استقطاع 3 : تقطاع (4) 10 مليون العمارة 9 القيمة = 700 ولو فى سجل قديم البيانات فى السجل القديم وتخص الــ المحاسب : محمد خالد , والموظف : تحسين جاسم وتكون جهة استقطاع 1 : استقطاع (4) 100 راتب البحيرة 311 القيمة = 300 وتكون جهة استقطاع 2 : استقطاع (4) 10 مليون العمارة 9 القيمة = 100 وتكون جهة استقطاع 3 : استقطاع (4) سيارات بعقوبة القيمة = 900 لو انا غيرت cat1 اللى هى قيمة الـ استقطاع (4) 10 مليون العمارة 9 من القيمة 100 الى القيمة 555 سوف تتغير قيمة cat2 من القيمة 100 الى القيمة 555 لانها تخص قيمة الـ استقطاع (4) 10 مليون العمارة 9
-
مشكلة في حساب عدد الاسابيع مع التواريخ بالحلقات التكرارية
ابو جودي replied to AliAli47's topic in قسم الأكسيس Access
اتفضل يا سيدى ex.accdb -
مشكلة في حساب عدد الاسابيع مع التواريخ بالحلقات التكرارية
ابو جودي replied to AliAli47's topic in قسم الأكسيس Access
الكود شغال تمام فقط جرب 'all weeks of the year 'Week Number, Saturday, Thursday Dim D As Date, Date_1 As Date, Date_2 As Date Dim i As Integer, W As Integer For i = 0 To 366 D = DateAdd("d", i, "1-1-" & Year(Date)) If D >= "31-12-" & Year(Date) Then Exit For If Weekday(D) = 7 Then Date_1 = D 'Saturday Date_2 = DateAdd("d", 5, Date_1) 'Thursday W = W + 1 Debug.Print W & vbTab & Date_1 & vbTab & Date_2 n_semaine = W Dates1 = Date_1 dates2 = Date_2 DoCmd.RunCommand acCmdRecordsGoToNew End If Next i -
السلام عليكم ورحمة الله تعالى وبركاته يسأل البعض عن عدم حفظ البيانات الإ بإستكمال الحقول المطلوبة يمكن ذلك من خلال الفكرة الاتية ولكن بشرط اسم العنصر المطلوب ( الاجبارى) يجب وضع الرمز * فى الـ Tag الخاصة به كما بالصورة الاتية لاننى وضعت الاكواد فى الموديول تعتمد عليها والان الاكواد داخل الموديول 'RequiredData Function RequiredData(ByVal frm As Form) On Error Resume Next Dim ctl As Control Dim err As Integer For Each ctl In frm.Controls Select Case ctl.ControlType Case acTextBox, acComboBox, acListBox, acCheckBox, acOptionButton, acOptionGroup: 'If ctl.StatusBarText = "*" Then If ctl.Tag = "*" Then If IsNull(ctl) Or ctl = "" Or ctl = Null Then ctl.BackColor = 15531489 ctl.SetFocus err = err + 1: MsgBox "Please fill in the " & ctl.Controls(0).Caption: Exit Function Exit For Exit Function Else ctl.BackColor = 16777215 End If End If End Select Set ctl = Nothing Next ctl End Function ويتم استدعاء الكود من خلال Call RequiredData(Me) اترككم مع الاستمتاع بالتجربـة وفى انتظار ارائكم Required data (2).mdb
- 22 replies
-
- 6
-
-
- ابا جودى
- حقول إجبارية
- (و7 أكثر)
-
استاذى الجليل ومعملى القدير و والدى الحبيب استاذ @jjafferr اعتذر لاثقالى على كاهلكم هل من طريقة لتحويل المود الاتى وهو لكم استاذى الى Function ليتم استدعائه بسخولة حسب الحالة مثلما حاولت جاهدا عمل ذلك من خلال ال Recordset تسهيلا من كتابة اسطر الاكواد وزيادتها بزيادة الحقول ؟! mySQL = "INSERT INTO UsystbllvlUsers" mySQL = mySQL & "( IDUser," mySQL = mySQL & "IDGroup," mySQL = mySQL & "UName," mySQL = mySQL & "UPassword," mySQL = mySQL & "FullName," mySQL = mySQL & "lvlQ1 ," mySQL = mySQL & "lvlAnsr1," mySQL = mySQL & "lvlQ2 ," mySQL = mySQL & "lvlAnsr2," mySQL = mySQL & "lvlQ3 ," mySQL = mySQL & "lvlAnsr3," mySQL = mySQL & "Umail )" mySQL = mySQL & " SELECT " mySQL = mySQL & " 1 AS IDUser," mySQL = mySQL & " 3 AS IDGroup," mySQL = mySQL & " Encoder(""admin"") AS UName," mySQL = mySQL & " Encoder(""admin"") AS UPassword," mySQL = mySQL & " Encoder(""admin"") AS FullName," mySQL = mySQL & " 20 AS lvlQ1," '6 Questions mySQL = mySQL & " Encoder(""administrator"") AS lvlAnsr1," mySQL = mySQL & " 20 AS lvlQ2," '6 Questions mySQL = mySQL & " Encoder(""admin"") AS lvlAnsr2," mySQL = mySQL & " 20 AS lvlQ3," '6 Questions mySQL = mySQL & " Encoder(""managaer"") AS lvlAnsr3," mySQL = mySQL & " Encoder(""admin@admin.com"") AS Umail;" 'Debug.Print mySQL DoCmd.SetWarnings False DoCmd.RunSQL mySQL DoCmd.SetWarnings True
-
اتغضل فى المرفق الطريقتين التقليدية من خلال زر امر لكل ترتيب نريد عمله والطريقة الذكية كما اسميتها من خلال نقرتين على العنوان لكل حقل من خلال موديول والشرح هنا يا افندم DATA1041-5 (6).mdb
-
احبكم فى الله لطفا ما اسم النموذج كما سميته حضرتك فى المرفق الله يرضى عليك وحاول الله يرضى عليك بعد ذلك وضه مرفق لا يحتوى على تطبيق كامل فقط مرفق بسيط يتم الاجابة عليه بسهوله
-
هلا والله وميت مليون هلا استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @jjafferr والله فعلا انا عن نفسي احس بالانس وبالامان بوجودكم فى المنتدى لانه بفضل الله تعالى ثم انتم لكل مشكلة حل أدامكم الله روح طيبة تسكن القلوب .. ووجه باسم ترتاح له العيون .. ونفس مطمئنة تمتلك النفوس .. وأسأله عز وجل أن يعطيكم من عطــاياه ويمنحكم عفوه ورضاه ويغفر لكم من عمركم ما مضى ويقدر لكم الخير فيما أتى .. وأن يجعل السعادة رفيقتكم في الدنيا والآخره.. اللهم آمين.
-
سؤال عن اضاقة قيم من نموذج غير منضم الى حقول فى جدول من خلال Recordset.AddNew الطريقة التقليدية اعلمها ولكن احاول عمل Function يسهل العملية وتدور فكرتى باستدعاء الكود كالاتى Call ApendData("Table Name", "Field Name On Table", Object Name On Form) وهذه الاكواد التى استخدمتها فى الموديول Sub ApendData(ByVal strTableName As String, ByVal strFieldName As String, ByVal strObjectName As String) Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb() Set rs = CurrentDb().OpenRecordset(strTableName) rs.AddNew rs.Fields(strFieldName) = "" & strObjectName & "" rs.Update rs.Close End Sub ولكن المشكلة انه تم اضافة البيانات فى اكصر من سجل حسبب عدد الحقول وبيانات كل حقل قى سجل المفروض ان يتم تسجيل كافة بيانات الحقول فى سدل واحد كيف يمكن عمل ذلك المرفق ApendDataByRecordset.mdb
-
التعديل حسب فهمى لطلبك لو تقصد غير ذلك انذاك سوف تحتاج ان تقدم تفسيرا مفصلا لطلبك cnbo (1).accdb
-
القيم هنا تأتى من جدول tbl_Cat4 انت فقط محتاج تصمم نموذج مصدر بياناته هذا الجدول tbl_Cat4 ليس الا اما بالنسبة لتلك الجزئية انت فقط تحتاج تصميم نموذج مصدر بياناته الجدول file-1
-
موديول: كود إضافة قيمة غير موجودة بالقائمة لمربع سرد (Not In List) يتم استدعاء الكود فى الحدث >>------> عند عدم الوجود فى القائمة - NotInList من خلال الكود الاتى مع تغيير tableName باسم الجدول المراد اضاقة القيمة الجديدة اليه وتغيير FieldName باسم الحقل داخل الجدول المراد اضاقة القيمة الجديدة اليه Call CmboNotInList("tableName", "FieldName", NewData, Response) الموديول Public Sub CmboNotInList(ByVal strTableName As String, ByVal strFieldName As String, ByVal strNewData As String, ByRef intResponse As Integer) On Error GoTo Proc_Err Dim sSQL As String Dim sMsg As String intResponse = acDataErrContinue sMsg = """" & strNewData & """ is not in the current list. " & vbCrLf & vbCrLf & "Do you want to add it? " If MsgBox(sMsg, vbYesNo, "Add New Data") <> vbYes Then GoTo Proc_Exit End If sSQL = "INSERT INTO [" & strTableName & "] " & "([" & strFieldName & "])" & " SELECT """ & strNewData & """;" With CurrentDb .Execute sSQL If .RecordsAffected > 0 Then intResponse = acDataErrAdded End If End With Proc_Exit: Exit Sub Proc_Err: MsgBox Err.Description, , "ERROR " & Err.Number & " CmboNotInList" Resume Proc_Exit Resume End Sub مرفق Not In List.mdb
-
موضوع هام جدا جدا جدا يضم بين طياته الدرر الكثيرة تليون نتيجة البحث من موديول بكل سهولة , الفلاتر المتعددة , المرونة فى تصميم كود داخل موديول
-
فكرة اعجبتنى واجب الاحتفاظ بها والعودة اليها متى شئت بسهولة لذلك اضع الكود هنا والمرفق فى كشكولى المتواضع نسخ احتياطى لقاعدة الجدوال تلقائيا عند فى كل مرة يتم فيعا اغلاق القاعدة الامامية الكود داخل المديول وتلميحات الشرح بقدر المستطاع '--25-10-2021-----------------------------------------------' Option Compare Database Option Explicit Function RunSub() Dim dbs As DAO.Database Dim tdf As DAO.TableDef Dim strPathDB As String Dim strNameExtensionDB As String Dim strNameDB As String Dim strExtensionDB As String Dim strBackupPath As String Dim strNewNameBackupDB As String Dim fso As Object Dim Syso As Object Set dbs = CurrentDb() With dbs For Each tdf In .TableDefs 'Is the table a linked table? If tdf.Attributes And dbAttachedODBC Or tdf.Attributes And dbAttachedTable Then With tdf 'Connect property contains path of link strPathDB = .Properties("Connect").Value 'Path of linked database tables strPathDB = Replace(strPathDB, ";DATABASE=", vbNullString) End With End If Next tdf End With 'Backup path directory strBackupPath = CurrentProject.Path & "\Backup\" Set fso = CreateObject("scripting.filesystemobject") 'Create the Backup folder if it does not exist If Not fso.FolderExists(strBackupPath) Then fso.createfolder (strBackupPath) 'Database name with extension strNameExtensionDB = Right(strPathDB, Len(strPathDB) - InStrRev(strPathDB, "\")) 'Database name without extension strNameDB = Left(strNameExtensionDB, InStrRev(strNameExtensionDB, ".") - 1) 'extension only strExtensionDB = Right(strPathDB, Len(strPathDB) - InStrRev(strPathDB, ".")) 'New name for backup database strNewNameBackupDB = strNameDB & "-Backup-" & Format(Now, "mm-yyyy") & "." & strExtensionDB 'Backup database save path directory strBackupPath = strBackupPath & strNewNameBackupDB DBEngine.Idle 'Copy the backup database to its directory Set Syso = CreateObject("Scripting.FileSystemObject") Syso.copyfile strPathDB, strBackupPath Set Syso = Nothing DoCmd.RunCommand acCmdExit End Function المرفق ملاحظة هامة جدا هذا مثال فقط ينقصه اعادة ربط الجداول المرتبطة من قاعدة الخلفية فقط حتى يعمل النسخ الاحتياطى على اكمل وجه Automatically Backup.zip
-
اخفاء واظهار صور في نموذج مستمر ( مرفق مثال )
ابو جودي replied to hosslom's topic in قسم الأكسيس Access
هلا والله وميت مليون هلا استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @jjafferr والله فعلا انا عن نفسي احس بالانس وبالامان بوجودكم انتم وباقى اساتذتى العظماء فى المنتدى لانه بفضل الله تعالى ثم انتم لكل مشكلة فى جعبتكم لها حل أدامكم الله روح طيبة تسكن القلوب .. ووجه باسم ترتاح له العيون .. ونفس مطمئنة تمتلك النفوس .. وأسأله عز وجل أن يعطيكم من عطــاياه ويمنحكم عفوه ورضاه ويغفر لكم من عمركم ما مضى ويقدر لكم الخير فيما أتى .. وأن يجعل السعادة رفيقتكم في الدنيا والآخره.. اللهم آمين.