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

biskra

عضوية شرفية
  • Posts

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

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

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

  1. لقد قمت بتغيير اسم الحقل "مفترض" الى اسم Dat_presume و تغيير اسم الحقل " رقم شهادة الميلاد " الى Num_Acte و هذا لتجنب الأخطاء و استعملت الكود التالي عند تحديث حقل مفترض، عند اختيار نعم فإن حقل رقم شهادة الميلاد يختفي تماما If Dat_Presume = "نعم" Then Me.Num_Acte.Visible = False Else: Me.Num_Acte.Visible = True End If تاكيد حفظ البيانات(3).rar
  2. تجد في المثال المرفق طريقة نقل سجل إلى أعلى أو أسفل يمكن ان تستفيد منهللتعديل على ملفك MacroWHUT - Copy.accdb MoveRecord.zip
  3. في المثال المرفق جرب اصافة سجل جديد ستلاحظ أن زر الحفظ اختفى ثم أبدأ بتعبئة البيانات و عند آخر حقل " هنا يحتاج الى تعديل " ضع المؤشر على حقل آخر سوف يظهر زر الحفظ المثال يحتاج الى تعديل في كود الحفظ زر الحفظ مخفي.rar
  4. في جدول الإستعلام ضع >0 في سطر criteria في حقل التولد
  5. الملف عادي أعيد تحميله بحث.rar بحث.mdb
  6. مثال للطب يعتمد الدالة التالية Public Function mod_Autonum(ByVal strField As String, ByVal strTable As String) As String Dim dmval As String, dt1 As String, dt2 As String, Seq As Integer, dv As String 'get the highest existing value from the table dmval = Nz(DMax(strField, strTable), 0) 'if returned value is 0 then the table is new and empty 'create autonumber with current date and sequence 1 If Val(dmval) = 0 Then dv = Format(Now(), "yyyymmdd") * 1000 + 1 mod_Autonum = dv Exit Function End If 'format the number as an 11 digit number dv = Format(dmval, "000000000") 'take the 3 digit sequence number separately Seq = Val(Right(dv, 3)) 'take the date value separately dt1 = Left(dv, 8) 'get today's date dt2 = Format(Now(), "yyyymmdd") 'compare the latest date taken from the table 'with today's date If dt1 = dt2 Then 'if both dates are same Seq = Seq + 1 'increment the sequence number 'add the sequence number to the date and return mod_Autonum = Format(Val(dt1) * 1000 + Seq) Exit Function Else 'the dates are different 'take today's date and start the sequence with 1 mod_Autonum = Format(Val(dt2) * 1000 + 1) End If End Function تستدعى الدالة من النموذج قبل التحديث بالأمر التالي Private Sub Form_BeforeInsert(Cancel As Integer) Me![CardNo] = mod_Autonum("CardNo", "Patients") End Sub للتأكد من أن الرقم يبدأ من 1 لليوم الموالي قم بتعديل التاريخ للسجلات السابقة في الجدول مثلا السجل الأول به تاريخ 20210206001 عدل التاريخ و اجعله لتاريخ سابق مثلا 20210205001 عدل مجموعة السجلات بنفس الطريقة ثم عد الى النموذج و قم بإدخال سجلات جديدة لاحظ أن الترقيم سوف يبدأ من 1 الترقيم سوف يظهر تلقائيا بمجرد بداية إدخال البيانات مثلا أكتب في حقل Title مثلا السيد حينها يبدأ الترقيم ترقيم خاص.rar
  7. جرب بجعل القيمة الإفتراضية للكمبو بوكس 0
  8. بواسطة استعلام مثال للكود SELECT Count(tb1.تربص) AS CountOfتربص, tb1.first_name FROM tb1 GROUP BY tb1.first_name, tb1.تربص;
  9. لا يمكن التعديل على البيانات في حالات الإستعلام التالية: crosstab query (crosstab query: A query that calculates a sum, average, count, or other type of total on records, and then groups the result by two types of information: one down the left side of the datasheet and the other across the top.). SQL-specific query (SQL-specific query: A query that consists of an SQL statement. Subqueries and pass-through, union, and data-definition queries are SQL-specific queries.). The field you are trying to edit is a calculated field (calculated field: A field, defined in a query, that displays the result of an expression rather than displaying stored data. The value is recalculated each time a value in the expression changes.). In this case, you may be able to edit the other fields. The query is based on three or more tables and there is a many-to-one-to-many relationship في الموقع التالي تجد تفاصيل و كيفية استعمال الاستعلام لتحرير أو اضافة بيانات الدخول على الموقع
  10. اقتراحات حديثة جدا ربما تساعد في العرف على المشكلة و الحلول لها الموقع
  11. جرب الكود التالي Dim dbB as DAO.Database Set dbB = DBEngine.Workspaces(0).OpenDatabase("D:\Folder\File", _ True, True, ";pwd=XXX") DoCmd.TransferDatabase acImport, "Microsoft Access", _ dbB.Name, acTable, "MyTable", "MyTable" .... dbB.Close Set dbB = Nothing 3 خطوات: 1. غيّر كلمة مرور قاعدة البيانات التي تريد التصدير إليها "". 2. تصدير الجداول. 3. أعد كلمة المرور إلى ما كانت عليه في الأصل.باستخدام المود التالي للقيام بذلك: Function SetDBPassword(strDBPath As String, _ strOldPwd As String, _ strNewPwd As String) ' This procedure sets a new password or changes an existing ' password. Dim dbsDB As DAO.Database Dim strOpenPwd As String ' Create connection string by using current password. strOpenPwd = ";pwd=" & strOldPwd ' Open database for exclusive access by using current password. To get ' exclusive access, you must set the Options argument to True. Set dbsDB = OpenDatabase(Name:=strDBPath, _ Options:=True, _ ReadOnly:=False, _ Connect:=strOpenPwd) ' Set or change password. With dbsDB .NewPassword strOldPwd, strNewPwd .Close End With Set dbsDB = Nothing End Function
  12. جرب الكود التالي Forms![MainFormName]![SubFormName].SetFocus DoCmd.GoToRecord , , acNewRec
  13. لم تنجح الأكواد ربما بسبب أن إجراء Undo يؤدي المطلوب فقط إذا كان عنصر التحكم مرتبطًا بحقل في النموذج مصدر السجلات، لذلك جرب ربط حقل النموج مع جدول و جرب،
  14. جرب الكود التالي و يستحسن أن تشيف عدة سجلات بتواريخ منتهية و تواريخ أخرى سارية و لاحظ النتيجة SELECT tblVacations.ID, tblVacations.JobNumber, tblVacations.FullName, tblVacations.Section, tblVacations.VacationType, tblVacations.FromDate, tblVacations.ToDate, tblVacations.Attachment, tblVacations.Notes FROM tblVacations WHERE Now() >= FromDate And Now() < ToDate;
  15. جرب الكود التالي فهو يعطي مبدئيا المطلوب و يحتاج الى بعض التصحيح، و لكي تجرب يجب اضافة سجلات التي انتهت مدة العطلة فيها و أخرى العطلة ما زالت سارية لكي تتأكد من عمل الكود ما قمت به هو تعديا بسيط على الكود المقترح من طرف الأستاذ عبد الله SELECT tblVacations.ID, tblVacations.JobNumber, tblVacations.FullName, tblVacations.Section, tblVacations.VacationType, tblVacations.FromDate, tblVacations.ToDate, tblVacations.Attachment, tblVacations.Notes FROM tblVacations WHERE (((tblVacations.ToDate)>=Forms!frmVacationsDetails!txtToDate)) Or (((tblVacations.FromDate)>=Forms!frmVacationsDetails!txtFromDate));
  16. صدقني قراءة السؤال أصبحت بمثابة لغز عجزت عن حله، أتمنى أن يكون السؤال واضح ليتمكن الأعضاء من مساعدتك
  17. في المثال المرفق تجد الطريقة و عدة طرق طرق لنقل البيانات و شرح مفصل لكل العمليات SyncDataExample_v5.3.zip
  18. جرب الكود التالي في خصائص الحقل المراد حمايته في حدث قبل التحديث Private Sub PasswordProtected_BeforeUpdate(Cancel As Integer) If InputBox("الرجاء إدخال كلمة السر لتحديث الحقل") <> "ahmedhossin" Then MsgBox "آسف، كلمة السر خاطئة", vbCritical Cancel = True Me.Undo Exit Sub End If End Sub كلمة السر هي ahmedhossin الحقل في الكود المراد حمايته اسمه PasswordProtected
  19. من موقع ميكروسوفت https://docs.microsoft.com/en-us/office/troubleshoot/access/programmatically-create-new-column#method-2-add-columns-to-the-report-at-run-time-by-setting-the-visible-property-of-the-existing-column
  20. يظهر أن الكود ناجح و يؤدي المطلوب، حسب رأيي ينقصه فقط حذف المسافات وسط النص فقط ليحل مشاكل الفراغات اينما وجدت.
  21. أدخل على الجدول في وضعية التصميم و غير خاصية الحقل الى نصي قصير،
  22. رسالة الخطأ صحيحة لأن خصائص الحقل هي رقم و بالتالي حال إدخال نص فيه فلن يقبله، هل تريد إدخال نص في هذا الحقل؟
×
×
  • اضف...

Important Information