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

ابو جودي

أوفيسنا
  • Posts

    6,597
  • تاريخ الانضمام

  • Days Won

    175

كل منشورات العضو ابو جودي

  1. مش عارف ليه عندى احساس عميق @hanan_ms هو نفس العضو باسم Ezril نفس اسلوب العرض وتقريبا نفس اسلوب تقديم قواعد البيبانات بالتنسيق والافكار
  2. يا هلا والله اشتقنا اذا حضر الماء بطل التيمم استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @jjafferr كل عام وانتم بخير ادامك الله فوق رؤوسنا
  3. 1- الكود ده فى وخدة نمطية Function GetDateRange() As String Dim startDate As Date Dim endDate As Date Dim currentYear As Integer Dim currentMonth As Integer currentYear = Year(Date) currentMonth = Month(Date) ' Determine the start of the period (27th of the previous month) If currentMonth = 1 Then startDate = DateSerial(currentYear - 1, 12, 27) Else startDate = DateSerial(currentYear, currentMonth - 1, 27) End If ' Determine the end of the period (26th of the current month) endDate = DateSerial(currentYear, currentMonth, 26) GetDateRange = "# " & startDate & " # And # " & endDate & " #" End Function 2-في النموذج الذي يحتوي على مربع النص استخدم الكود الاتى في مصدر التحكم لمربع النص =DSum("[m_price]", "[Qry_UNION_MOKHTABER]", "date_R Between " & GetDateRange())
  4. ليه الصدمة يا باش مهندسة مش فاهم حضرتك تقصدى ايه وبعد اذنك عجبتنى الفكرة واستأذن فى عمل بعض التعديلات ولان صاجب الموضوع طلب التعامل مع المسارات استكفيت بالرد طبقا للمسارات بابسط واسهل واسرع طريقة بدون اكواد لان بهارتى كانت خلصت ولكن يا استاذى القدير و معلمى الجليل استاذ @AlwaZeeR بما انك اقترحت ارد بضاعتكم اليكم على طريقتى مع بهاراتي الخاصة كله عمال يحط بهارت جت على انا يعنى لن اشرح شئ ولكن انتظر منكم الرد بعد التجربة الكود ذكى وشاطر لما بيقتح بدون مسارات بيطلب منك تحدد مجلد الصور ومن تلقاء نفسه وبذكائه يروح جايب مسارت الصور ونركز فى كلمة الصور دى يعنى ممكن نشاور له على مجلد فيه ملفاااااااااات كتير قوى سوف لن يجلب الا مسارات الصور فقط Images V2.accdb
  5. لا انا قصدتها تماما ولكن امازح بها اخى صاحب المكتبة العامرة الاستاذ @Moosak
  6. خير يا استاذ @kanory انت تستخدم الايموجى مشوش ليه فى مشكلة فى الكود او التطبيق المرفق عارف طبعا انه لابد من اعادة وضع المسارات الصحيحة لكل صورة فى الجدول طبقا للمسار الموجوده به الصور بعد التحميل للمرفق وفك الضغط
  7. مرفق للتجربة فقط للتجربة وليس للإضافة الى المكتبة العامرة img.zip
  8. بسيطة اعمل الاتى اولا جدول باسم tblImages اضف الى الجدول الحقول الاتية ImagePath (مسار الصورة، نص) StartDate (تاريخ بداية صلاحية الصورة، تاريخ/وقت) EndDate (تاريخ انتهاء صلاحية الصورة، تاريخ/وقت) انشئ نموذج بالاسم الذى تريد اضف عنصر تحكم صورة غير منضم على ان يكون اسمه مثلا objImg وضع الاكواد الاتية Option Compare Database Option Explicit Const DelayInSeconds As Integer = 5 ' Passing time in seconds Private Sub Form_Open(Cancel As Integer) ' Assigning the image control to an empty image when the form opens Me.objImg.Picture = "" ' Running the form's timer Me.TimerInterval = 1000 End Sub Private Sub Form_Timer() Static rs As DAO.Recordset Static ImageCounter As Integer Dim ImagePath As String ' Checking for the existence of the selected records set If rs Is Nothing Then Set rs = CurrentDb.OpenRecordset("SELECT * FROM tblImages WHERE EndDate >= Date()") ImageCounter = 0 ' Resetting the image counter End If ' Checking for the existence of images to display If Not rs.EOF Then ' Displaying the images sequentially with a time delay ImagePath = rs!ImagePath Me.objImg.Picture = ImagePath ' Replace YourImageControl with the correct name of the image control in the form Me.Refresh ' Waiting for the time delay before displaying the next image Delay DelayInSeconds rs.MoveNext ImageCounter = ImageCounter + 1 ' Checking if we have reached the last record If rs.EOF Then ' Closing the form when reaching the last record DoCmd.Close acForm, Me.Name End If Else ' No images to display MsgBox "No images to display.", vbInformation, "Image Display" ' Closing the form if there are no images to display DoCmd.Close acForm, Me.Name End If End Sub Private Sub Delay(seconds As Integer) Dim endTime As Date endTime = DateAdd("s", seconds, Now) Do Until Now >= endTime DoEvents Loop End Sub تم تعريف ثابت لتحديد فاصل الزمن بالثواني في رأس الاكواد في النموذج في حدث فتح النموذج يتم تعيين الصورة لتكون فارغة وتشغيل المؤقت في حدث المؤقت يتم فتح مجموعة السجلات وفحص وجود الصور للعرض إذا كان هناك صور يتم عرض الصورة الحالية وانتظار الفاصل الزمني بعد ذلك يتم التحقق مما إذا كان السجل الحالي هو الأخير وإذا كان كذلك يتم إغلاق النموذج والكود يعتمد على جدول يحتوي على مسارات الصور مع تواريخ بداية ونهاية لكل صورة
  9. طيب وبعد وقفة طويلة مع النفس وبعد دعوات استاذى الجبيب الاستاذ @ناقل وجدتنى غير راض عن الافكار السابقة لم احس فيها بالمرونة الفائقة فالكود تم تقديمه وفقا لتوجيهات ومتطلبات الدكتورة @safaa salem5 ولذلك اقدم اليكم الاكواد مرة اخرى بشكل اكثر مرونة لتحقيق اكبر قدر ممكن من الاستفادة بشكل عام مع اى قاعدة وفق اى متغيرات اخرى اولا دالة لعمل مجلد او مجلدات وفق الكود التالى ' Function to create directories if they do not exist Public Function CreateDirectories(ByVal basePath As String, ByVal folderNames As String) As String Dim fullPath As String Dim folderArray() As String Dim folderName As Variant ' Split the folderNames string into an array folderArray = Split(folderNames, ",") fullPath = basePath ' Loop through each folder name and create the directory if it doesn't exist For Each folderName In folderArray fullPath = fullPath & "\" & Trim(folderName) If Dir(fullPath, vbDirectory) = "" Then MkDir fullPath End If Next folderName ' Return the final full path CreateDirectories = fullPath End Function دالة تصدير اى تقرير ' Function to export report to PDF Public Function ExportReportToPDF(ByVal reportName As String, ByVal outputFilePath As String) On Error GoTo ErrorHandler ' Export the report to PDF DoCmd.OutputTo acOutputReport, reportName, acFormatPDF, outputFilePath ' Notify the user MsgBox "Report has been exported to: " & outputFilePath, vbInformation Exit Function ErrorHandler: MsgBox "An error occurred: " & Err.Description, vbExclamation End Function واخيرا كود زر الامر Dim baseFolderPath As String Dim folderNames As String Dim finalFolderPath As String Dim outputFilePath As String Dim patientID As String Dim patientName As String Dim visitCodeORvisitDate As String Dim reportName As String Dim outputFileName As String ' Set the values for the parameters patientID = "12345" patientName = "Moh3sam" visitCodeORvisitDate = "2024-06-11" outputFileName = "YourOutputFileName" ' Set the values for the base path and folder names baseFolderPath = CurrentProject.path ' The base path of the current database folderNames = "results" & "," & patientID & "_" & patientName & "," & visitCodeORvisitDate ' Comma-separated folder names ' Create the directories and get the final path finalFolderPath = CreateDirectories(baseFolderPath, folderNames) ' Set the report name and output file path reportName = "rptTest" ' The name of the report outputFilePath = finalFolderPath & "\" & outputFileName & ".pdf" ' The desired output file name with full path ' Call the function to export the report to PDF ExportReportToPDF reportName, outputFilePath وهذا المرفق النهائى.. export report to PDF V. 2.accdb
  10. اسأل الله تعالى ان لا يحرمنا جمعكم الطيب المبارك واتمنى وجودكم فوق رؤوسنا دائما بالخير والصحة وان تكونوا حاضرين متربعين في قلوبنا بكل الحب والمودة كل عام وانتم الى الله تعالى اقرب وعلى طاعتة ادوم وباتباع نبينا صل الله علية وعلى اله وصحبة وسلم احرص.. كل عام وانتم بخير
  11. طيب وحتى لا يقال اننى ناقل عن الاستاذ @ناقل لن اقوم بتعديل الاكواد انا معقد و افضل العمل دائما وفق مرونة واحترافية بقدر الامكان وفقا لذلك هذه طريقتى اولا عمل موديول باسم : basExportReportToPDF الاكواد فى الموديول Option Compare Database Option Explicit ' Function to create directories if they do not exist Public Function CreateDirectoryIfNotExists(ByVal path As String) If Dir(path, vbDirectory) = "" Then MkDir path End If End Function ' Function to export report to PDF Public Function ExportReportToPDF(ByVal patientID As String, ByVal patientName As String, ByVal visitCode As String, ByVal reportName As String, ByVal outputFileName As String) Dim baseFolderPath As String Dim resultsFolderPath As String Dim patientFolderPath As String Dim visitFolderPath As String Dim outputFilePath As String ' Get the base folder path of the current database baseFolderPath = CurrentProject.path ' Define the path for the results folder resultsFolderPath = baseFolderPath & "\results" ' Create the results folder if it does not exist CreateDirectoryIfNotExists resultsFolderPath ' Define the path for the patient folder patientFolderPath = resultsFolderPath & "\" & patientID & "_" & patientName ' Create the patient folder if it does not exist CreateDirectoryIfNotExists patientFolderPath ' Define the path for the visit folder visitFolderPath = patientFolderPath & "\" & visitCode ' Create the visit folder if it does not exist CreateDirectoryIfNotExists visitFolderPath ' Define the output file path outputFilePath = visitFolderPath & "\" & outputFileName & ".pdf" ' Export the report to PDF DoCmd.OutputTo acOutputReport, reportName, acFormatPDF, outputFilePath ' Notify the user MsgBox "Report has been exported to: " & outputFilePath, vbInformation End Function ثانيا زر امر فى النموذج على ان يكون الكود داخل زر الامر كالاتى Dim patientID As String Dim patientName As String Dim visitCode As String Dim reportName As String Dim outputFileName As String ' Set the values for the parameters patientID = "12345" patientName = "Moh3sam" visitCode = "2024-06-11" reportName = "rptTest" outputFileName = "YourOutputFileName" ' Call the function to export the report to PDF ExportReportToPDF patientID, patientName, visitCode, reportName, outputFileName وطبعا تحياتى وكل تقدير لاستاذى الجليل ومعلمى القدير الاستاذ @ناقل قطعا بدأت مشاركتى بمداعبة استاذى القدير . وهذه قاعدة البيانات بالتطبيق export report to PDF.accdb
  12. ممكن نفكر بصوت عالى انا موافق بعمل الاتى فى المجلد الاساسى الحالى لقاعدة البيانات يتم عمل مجلد باسم results وبداخل المجلد results يتم عمل مجلد ID لكود المريض مع اسم المريض وبداخل مجلد ID يتم عمل مجلد بكود الزيارة او بالتاريخ لسهولة تتبع التقارير مستقبلا من المجلدات حتى وبدون فتح قاعدة البيانات ايه راي حضرتك يا دكتور ؟؟ واعتقد اسم التقرير فقط مجموعة التحاليل يكون افضل
  13. نصيحتى اليك لا تسعى ان يقدم احد اليكم الحل ولكن اسعى جااهدا لتعلم كيف يتم الحل لا تطلب سمكة بل اطلب ان تتعلم كيف تصطادها بنفسك
  14. انظر الى القاعدة الان هذا البناء الافضل اكمل باقى الجداول على هذا المنوال ومن ثم نكمل المراد خطوة بعد خطوة برنامج الحد الادنى (V. 2) .accdb
  15. اليك النصائح الاتية وهى مهمه طالما انت فى البدايات 1- اختر للجداول دائما وباقى العناصر والكائنات اسماء مختصرة تدل على وظيفتها 2-استعمل اختصارات البادئات المتعارف عليها قدر الامكان مثل Table=tbl Form=frm Query=qry Module=bas وسوف ارفق لك ملف كنت حاولت جاهدا تجميعه قبل فترة هذه الاختصارات اثناء التعامل مع الاكواد تجعلك على دراية بما تتعامل معه بسهولة وتجعل اى مطور نظم ان كنتم تعملون فى مجموعة عمل سهولة فهم الية الاكواد وتتبع المشروع ومعك انت شخصيا انت الان وقت التصميم تكون على دراية بكل صغيرة وكبيرة ولكن بعد فترة سوف تنسى كل شئ هذه البادئات تجعلك دائما على دراية مع ماذا تتعامل من العناصر والكائنات المختلفة فتسهل عليك مراجعة وتتبع وتذكر الاكواد والية العمل 3- دائما لا تبخل على نفسك فى استخدام الجداول المساعدة التى تغنيك عن فتح التصميم مستقبلا لاضافة شئ او حذف وتعديل شئ على سبيل المثال وليس الحصر الاولى بك فى قاعدتك الحالية عمل جدول للوظائف بدلا من كتابة الوظائف فى حقل واحد بهذه الطريقة مستقبلا لو اردت تغير اسم وظيفه او اضافتها لابد لك من الدخول الى التصميم وناهيك عن المشاكل التى لا حصر لها لو اردت تغير مسمى مثلا وانت تعتمد فى الاكواد على هذا المسمى دعنى اعيد بناء قاعدتك بالشكل الامثل من وجهة نظرى المتواضعة وانت اكمل باقى خطاك فى هذا الدرب بناء على ما اقدمه اليكم اولا اليك الاختصارات المتعارف عليها بين مطورى النظم والمبرمجين فى ملف نصى prefix.zip
  16. ممكن تجرب الكود ده Dim ImagePath As String s1 = Str(Me![رقم الجلوس]) s1 = Right(s1, Len(s1) - 1) ImagePath = "D:\صور\" & s1 & ".jpg" On Error Resume Next Me![Image_Std].Picture = ImagePath If Err.Number <> 0 Then MsgBox "لا توجد صورة مطابقة لرقم الجلوس", vbExclamation, "خطأ" Err.Clear End If On Error GoTo 0 End Sub
  17. هل تريد مجرد الاجابة للوضع الحالى لقاعدتك ام تريد النصيحة لعمل ذلك بالشكل الصحيح و الاحترافى كما ينبغى ان يكون لاضفاء المرونة والاحترافية فى التعامل ومعالجة البيانات ؟! لن اضع الاجابة قبل ردكم
  18. ومشاركة مع اخى الحبيب الأستاذ @Foksh ممكن أيضا مع الحدث "On Key Press" Private Sub Combo4_KeyPress(KeyAscii As Integer) KeyAscii = 0 End Sub وهذا افضل للمصمم ومطور النظم لان ما تفضل بها اخى الحبيب يمنع الدخول الى محرر الاكواد اثناء فتح النموذج من خلال - الضغط على مفتاحى Alt + F11 من لوحة المفاتيح - او من خلال الضغط علىم فتاحى Ctrl +G من لوحة المفاتيح واحيانا نحتاج الى الدخول الى محرر الاكواد بدون اغلاق النموذج لانه احيانا نستخدم امر الطباعة Debug.Print فى الاكواد لتتبع الاكواد وسير الكود لطباعة النتائج فى نافذة Immediate مش قولت لك هافوق لك يا حاج @Foksh كده انا افضل اجابة بالعند فيك
  19. لسه دورك جاى با قمر لما افوق بس لبرنامج الصلوات انا الفترة اللى فاتت مكنتش فاضى لك ولا عارف اتابع الموضوع من بدايته ولسه والله مضغوط شويه بين الشغل و والدتى بس صدقنى حفوق لك انت كمان
  20. يا جماعة الخير ممكن نعمل زى الموضوع فى المرحلة الاولى نمشى خطوة بعد خطوة لانى مش فاهم عنه اى شئ مش قادر اساعد حددوا النقاط المطلوب الوضول اليها اجمالا بإيجاز وبعدين نستعين بالله ونحاول نحقق كل نقطة على حدة
  21. طيب لو فاكر يا دكتور انا قلت وبعد ذلك سوف اخبركم برأى فى الاخر وهذا هو رأى عمليا فى المرفق الاتى نموذج غير منضم وحقول غير منضمة ايون زيمبئولك كده فعلا نموذج غير منضم اصلا ومن خلاله نستعرض البيانات ونتحرك بين السجلات ونعدل البيانات ونحذف البيانات ونضيف سجل جديد مش انت عاوز تذاكر كلمة مرور التعديل : 123 كلمة مرور الحذف : 000 حفظ وتعديل (3).accdb
×
×
  • اضف...

Important Information