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

ابو جودي

أوفيسنا
  • Posts

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

  • Days Won

    186

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

  1. الموضوع تعبنى جدا والله وكان تحدى صعب احب التنويه الى شئ استخدام sleep اثناء العمل قد يصيب الأكسس بالتجميدوالشلل وقد يعلق فى الذاكرة ولذلك ابتعدت عن ضبط الاكواد من خلالها واليكم نتيجة التحدى اولا تم مراعاة وضع الاكواد فى وحدة نمطية ليتم استخدامها فى اكثر من نموذج حتى لو اختلف وتعددت الوان أزرار الأوامر ومهما اختلفت اسماء او عناوين الأزرار وفى حاجة كمان لو عاوزيين نلون لون الزرار بالاصفر بس ومنغيرش تسمية عنصر التسمية ممكن جدا جدا ومن نفس الكود يعنى كود ذكى وابن حلال وبيقدر يفهمنا من أول تكه على الزرار اه والله زيمبئولكم كده.. شغل فاخر من الاخر اومااااااااااال 1- أكواد الوحدة النمطية Option Compare Database Option Explicit ' Constant that specifies the time interval for color flashing (in seconds) Const dblTimeInterval As Double = 0.5 ' Constant that determines the number of times the colors will flash Const intFlashCount As Integer = 5 ' Variable to track whether Label flashing should occur Public AllowFlashing ' Public variables to store default values Public btnControlDefaultColor As Long Public lblControlDefaultColor As Long Public strLblControlCaption As String Public formIsClosing As Boolean ' Public variable to store the selected button Public selectedButton As CommandButton ' Function to return the highlighted color Function ApplyHighlighted() As Long ApplyHighlighted = RGB(255, 255, 0) End Function ' Subroutine to set the button color Sub ButtonColor(ByVal frm As Form, Optional btn As CommandButton = Nothing, Optional DisableLabelChange As Boolean) ' Set the default button color if not highlighted If Not btn Is Nothing Then If btn.BackColor <> ApplyHighlighted Then btnControlDefaultColor = btn.BackColor ' Clear the previous button's highlight If Not selectedButton Is Nothing Then selectedButton.BackColor = btnControlDefaultColor End If ' Set the new button as selected and highlight it btn.BackColor = ApplyHighlighted ' Save the caption of the current button If Not DisableLabelChange Then strLblControlCaption = btn.Caption End If Set selectedButton = btn End If End Sub ' Subroutine to flash the label control Sub FlashLabelControl(frm As Form, lblControl As Object, DisableLabelChange As Boolean) On Error GoTo ErrorHandler Dim flashingColor As Long Dim flashingInterval As Single Dim flashCount As Integer Dim flashTimer As Single Dim i As Integer On Error GoTo 0 ' Turn off error trapping. On Error Resume Next ' Defer error trapping. ' Set the default label color if not highlighted If lblControl.BackColor <> ApplyHighlighted Then lblControlDefaultColor = lblControl.BackColor flashingColor = ApplyHighlighted flashingInterval = dblTimeInterval flashCount = intFlashCount ' Reset the label color to the default when the form is loaded If TypeOf lblControl Is Access.Label And Not formIsClosing Then lblControl.BackColor = lblControlDefaultColor If Not DisableLabelChange Then lblControl.Caption = strLblControlCaption End If End If flashTimer = Timer + flashingInterval ' Flash the label color For i = 1 To flashCount Do While Timer < flashTimer And Not formIsClosing DoEvents Loop ' Update the label color during the flash If TypeOf lblControl Is Access.Label And Not formIsClosing Then If AllowFlashing Then ' Check the AllowLabelCaptionChange value to determine whether to change the caption If Not DisableLabelChange Then lblControl.Caption = IIf(lblControl.Caption = strLblControlCaption, strLblControlCaption, vbNullString) End If lblControl.BackColor = IIf(lblControl.BackColor = lblControlDefaultColor, flashingColor, lblControlDefaultColor) End If End If ' Update the flash timer flashTimer = Timer + flashingInterval Next i ' Reset the label color to the default after flashing If TypeOf lblControl Is Access.Label And Not formIsClosing Then lblControl.BackColor = lblControlDefaultColor If Not DisableLabelChange Then lblControl.Caption = strLblControlCaption End If End If ' 2467 Err.Clear ' Clear Err Exit Sub ' Exit to avoid handler. ErrorHandler: ' Error-handling routine. Select Case Err.Number ' Evaluate error number. Case Is = 2467 flashCount = 0 flashTimer = 0 Exit Sub ' Exit to avoid handler. Case Else ' Handle other situations here... MsgBox Err.Number & ": " & Err.Description Resume ' Resume execution at the same line End Select End Sub ' Subroutine to change the button color and control Label flashing Sub ChangeCommandButtonColor(frm As Form, Optional lblControl As Object, Optional DisableLabelChange As Boolean) On Error GoTo ErrorHandler Dim clickedButton As CommandButton Set clickedButton = frm.ActiveControl On Error GoTo 0 ' Turn off error trapping. On Error Resume Next ' Defer error trapping. ' Clear the previous button's highlight If Not selectedButton Is Nothing Then selectedButton.BackColor = btnControlDefaultColor lblControl.Caption = "" strLblControlCaption = "" End If ' Set the new button as selected and highlight it Set selectedButton = clickedButton ' Update the label caption If Not DisableLabelChange Then strLblControlCaption = clickedButton.Caption End If ' Apply the button color and control Label flashing ButtonColor frm, clickedButton, True ' Check if lblControl is provided and is a valid object If Not lblControl Is Nothing Then AllowFlashing = Not DisableLabelChange ' Determine whether to trigger flashing lblControl.Caption = strLblControlCaption FlashLabelControl frm, lblControl, False End If Err.Clear ' Clear Err Exit Sub ' Exit to avoid handler. ErrorHandler: ' Error-handling routine. Select Case Err.Number ' Evaluate error number. Case Is = 5 Exit Sub ' Exit to avoid handler. Case Else ' Handle other situations here... MsgBox Err.Number & ": " & Err.Description Resume ' Resume execution at the same line End Select End Sub 2- الاكواد للاستخدام من خلال النموذج ولا اسهل من كده.. يا عينى ع الدلع Private Sub Form_Load() formIsClosing = False End Sub Private Sub Form_Close() formIsClosing = True End Sub Private Sub Command1_Click() ' Call the ChangeCommandButtonColor subroutine with the current form and label control (lblDisplayTitle). ChangeCommandButtonColor Me, Me.lblDisplayTitle End Sub Private Sub Command2_Click() ' Call the ChangeCommandButtonColor subroutine with the current form and label control (lblDisplayTitle). ChangeCommandButtonColor Me, Me.lblDisplayTitle End Sub Private Sub Command3_Click() ' Call the ChangeCommandButtonColor subroutine with the current form and label control (lblDisplayTitle). ChangeCommandButtonColor Me, Me.lblDisplayTitle End Sub Private Sub Command4_Click() ' Call the ChangeCommandButtonColor subroutine with the current form and label control (lblDisplayTitle). ChangeCommandButtonColor Me, Me.lblDisplayTitle End Sub Private Sub Command5_Click() ' Call the ChangeCommandButtonColor subroutine with the current form only without label control (lblDisplayTitle). ' To disable Allow Label Caption Change = True ChangeCommandButtonColor Me, Me.lblDisplayTitle, True End Sub معلش انا شرحت كل شئ ع الأكواد بالانجليزى طبعا مش فلسفة علشان عارف انت هتقول ايه سامعك... علشان العربى بيعمل مشاكل فى الاعدادت الاقليمية للغة لو مكانت مضبوطه بس خلاص • وأخيرا المرفق FlashLabel.accdb
  2. الكود يقوم بانشاء جدول لاستيراد البيانات اليه وفى كل مرة يحذف سجلات البيانات من هذا الجدول قبل عملية الاستيراد اذا اردت اضافة بيانات او تحديث بيانات الى جدول اخر بناء على البيانات من هذا الجدول الذى تم استيراد البيانات اليه من الاكسل يمكنك عمل ذلك بكل سهولة ان تعذر عليك الامر ارفق قاعدة بياناتك وحدد اسم الجدول الذى تريد اضافة البيانات اليه
  3. السلام عليكم ورحمة الله تعالى وبركاته بارك الله فى اساتذتى الكرام كفو ووفو وما قصرو وزيادة فى الخير اضع حل بعد مواجهتى لمشكلة فى هذه النقطة عند التعامل مع ملفات الاكسل بسبب اختلاف النسخ والتسيق لملفات الاكسل تبعا لاختلاف الاصدارات اليكم الخطوات 1- انشاء وحدة نمطية عامة ليسهل استخدامها فى شتى زوايا التطبيق واعطها الاسم التالى basFileUtilityKit وضع بها هذا الكود ' Enumeration for the types of file dialogs Enum EnumFileDialogType msoFileDialogFilePicker = 1 msoFileDialogFolderPicker = 4 End Enum ' Enumeration for different file extensions Enum EnumFileExtensions AllFiles TextFiles ExcelFiles ImageFiles VideoFiles AudioFiles PDFFiles WordFiles ' You can add additional file extensions as needed here End Enum ' Enumeration for different options related to file paths Enum EnumOptionFile DirectoryWithoutFileName DirectoryWithFileName FileNameWithExtension FileNameWithoutExtension ExtensionOnly End Enum ' Function to open the folder dialog and return the selected folder path Function GetFolderDialog() As String On Error Resume Next Dim folderDialogObject As Object Set folderDialogObject = Application.FileDialog(EnumFileDialogType.msoFileDialogFolderPicker) With folderDialogObject .Title = "Select Folder" .AllowMultiSelect = False .Show End With If folderDialogObject.SelectedItems.Count > 0 Then GetFolderDialog = folderDialogObject.SelectedItems(1) Else ' Handle the case where no folder is selected MsgBox "No folder selected.", vbExclamation GetFolderDialog = "" End If Set folderDialogObject = Nothing On Error GoTo 0 End Function ' Function to open the file dialog and return the selected file path Function GetFileDialog(ByVal EnumFileExtension As EnumFileExtensions) As String On Error Resume Next ' Check if the Microsoft Office Object Library is referenced ' Make sure to go to Tools > References and select the appropriate version ' e.g., "Microsoft Office 16.0 Object Library" for Office 2016 Dim fileDialogObject As Object Set fileDialogObject = Application.FileDialog(EnumFileDialogType.msoFileDialogFilePicker) With fileDialogObject .Title = "Select File" .AllowMultiSelect = False .Filters.Clear ' Adding filters based on the selected file extension Select Case EnumFileExtension Case EnumFileExtensions.AllFiles .Filters.Add "All Files", "*.*" Case EnumFileExtensions.TextFiles .Filters.Add "Text Files", "*.txt" Case EnumFileExtensions.ExcelFiles .Filters.Add "Excel Files", "*.xlsx; *.xls" Case EnumFileExtensions.ImageFiles .Filters.Add "Image Files", "*.jpg; *.jpeg; *.png; *.gif" Case EnumFileExtensions.VideoFiles .Filters.Add "Video Files", "*.mp4; *.avi; *.mov" Case EnumFileExtensions.AudioFiles .Filters.Add "Audio Files", "*.mp3; *.wav; *.ogg" Case EnumFileExtensions.PDFFiles .Filters.Add "PDF Files", "*.pdf" Case EnumFileExtensions.WordFiles .Filters.Add "Word Files", "*.docx; *.doc" ' You can add additional file extensions as needed here End Select .Show End With If fileDialogObject.SelectedItems.Count > 0 Then GetFileDialog = fileDialogObject.SelectedItems(1) Else ' Handle the case where no file is selected MsgBox "No file selected.", vbExclamation GetFileDialog = "" End If Set fileDialogObject = Nothing Exit Function If Err.Number <> 0 Then Select Case Err.Number Case 3078: Resume Next ' Ignore error if user cancels the file dialog Case 0: Resume Next Case Else ' Call ErrorLog(Err.Number, Error$, strProcessName) End Select ' Clear the error Err.Clear End If End Function ' Function to get the desired option for a file path Function GetFileOption(ByRef strFilePath As String, Optional ByRef EnumOptionFile As EnumOptionFile = DirectoryWithFileName) As String On Error Resume Next Select Case EnumOptionFile Case DirectoryWithoutFileName GetFileOption = Left(strFilePath, InStrRev(strFilePath, "\")) Case DirectoryWithFileName GetFileOption = strFilePath Case FileNameWithExtension GetFileOption = Mid(strFilePath, InStrRev(strFilePath, "\") + 1) Case ExtensionOnly GetFileOption = Right(strFilePath, Len(strFilePath) - InStrRev(strFilePath, ".")) Case FileNameWithoutExtension GetFileOption = Mid(strFilePath, InStrRev(strFilePath, "\") + 1, InStrRev(strFilePath, ".") - InStrRev(strFilePath, "\") - 1) End Select On Error GoTo 0 End Function ' Function to get additional information about a file Function GetFileInfo(filePath As String) As String On Error Resume Next Dim fileInfo As String fileInfo = "File Information:" & vbCrLf fileInfo = fileInfo & "Path: " & filePath & vbCrLf fileInfo = fileInfo & "Size: " & FileLen(filePath) & " bytes" & vbCrLf fileInfo = fileInfo & "Created: " & FileDateTime(filePath) & vbCrLf GetFileInfo = fileInfo On Error GoTo 0 End Function 2- انشاء وحدة نمطية عامة ليسهل استخدامها فى شتى زوايا التطبيق واعطها الاسم التالى basExcelDataImport وضع بها هذا الكود Public Const strTableExcel As String = "tblImportExcel" Function ExcelDataImport(ByRef excelFilePath As String) On Error Resume Next ' Disable error handling temporarily Const xlOpenXMLWorkbook As Long = 51 ' Variables for Excel and Access Dim excelApp As Object Dim excelWorkbook As Object Dim excelOpened As Boolean Dim sourceFileName As String Dim mainDirectory As String Dim convertedExcelFilePath As String ' Check if the Excel file path is provided If Nz(excelFilePath, "") = "" Then Exit Function ' Check if the Excel file exists If Dir(excelFilePath) = "" Then Exit Function ' Extract file information sourceFileName = GetFileOption(excelFilePath, FileNameWithExtension) mainDirectory = GetFileOption(excelFilePath, DirectoryWithoutFileName) convertedExcelFilePath = excelFilePath ' Create Excel application object Set excelApp = CreateObject("Excel.Application") ' Check if Excel application is successfully created If Err.Number <> 0 Then Err.Clear Set excelApp = CreateObject("Excel.Application") excelOpened = False Else excelOpened = True End If ' Reset error handling On Error GoTo 0 ' Set Excel application visibility excelApp.Visible = False ' Open Excel workbook Set excelWorkbook = excelApp.Workbooks.Open(mainDirectory & sourceFileName) ' Save the workbook in xlsx format without displaying alerts excelApp.DisplayAlerts = False excelWorkbook.SaveAs Replace(mainDirectory & sourceFileName, ".xls", ".xlsx"), FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False excelApp.DisplayAlerts = True ' Close the workbook without saving changes excelWorkbook.Close False ' Quit Excel application if it was opened by the function If excelOpened = True Then excelApp.Quit ' Update the source file name with the new extension sourceFileName = sourceFileName & "x" ' Reset file attributes SetAttr mainDirectory & sourceFileName, vbNormal ' Import Excel data into Access table DoCmd.SetWarnings False 'acSpreadsheetTypeExcel8 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, strTableExcel, mainDirectory & sourceFileName, True ExitFunction: ' Enable system alerts before exiting the function DoCmd.SetWarnings True Exit Function ErrorHandler: ' Handle errors Select Case Err.Number Case 3078: Resume Next ' Ignore error if user cancels the file dialog Case 0: Resume Next Case Else ' Call ErrorLog(Err.Number, Error$, strProcessName) End Select End Function ' Function to delete all records from the specified table Sub DeleteAllRecords(Optional ByRef strTable As String = "") On Error Resume Next If Nz(strTable, "") = "" Then strTable = strTableExcel CurrentDb.Execute "DELETE FROM " & strTable ' Handle errors Select Case Err.Number Case 3078 If strTable = strTableExcel Then Resume Next Else Case Else ' HandleAndLogError strProcessName End Select End Sub 3- انشاء نموذج وفى الحدث عند النقر على زر الامر استخدم الكود التالى Private Sub cmdSubmit_Click() ' Get the path of the Excel file Dim strFilePath As String strFilePath = GetFileDialog(EnumFileExtensions.ExcelFiles) ' Check if a file was selected If strFilePath <> "Cancelled" Then ' Show status label Me!lblStatus.Visible = True Me!lblStatus.Caption = "Please wait ... " ' Clear TableData DeleteAllRecords ' Import data from Excel ExcelDataImport strFilePath ' Add Or Update Yor Table ' Hide the status label or reset any visual indicator Me!lblStatus.Visible = False Else ' User canceled the file selection MsgBox "File selection canceled", vbExclamation End If End Sub كل ما عليك الان يا صديقى العزيز شئ واحد عمل الاستعلام اللازم لاضاقة او تحديث وتعديل بياناتك طبقا لجدول الاكس حسب رغباتك وتطلعاتك واخيرا مرفق قاعدة البيانات ImportFromExel.accdb
  4. جزاكم الله خيرا اسأل الله تعالى ان يرزقكم فضل دعواتكم الطيبة وكل المسلمون
  5. بعد اذن اخوانى الكرام واساتذتى العظماء اذا انا قدرت افهم اصح هذه تجربتى بالمرفق ده لو كنت فهمت صح يعنى ملحوظة انا حذفت جدول sub_tbl لان انا لا ارى له اى اثر ولا اى فائدة اصلا على الاقل طبقا للمرفق الاتى اختنا الغالية @safaa salem5 راجعت الاكواد قدر المستطاع وحسب ما ترائى لى قمت بسد كل الثغرات التى قد تضيف سجلات فارغة او ينتج عنها اخطاء باستخدام كود تصيد الاخطاء وذلك حسب الخطوات فقط التى كنت اقوم بتجربتها اذا فى المرفق الفائدة اولا من تحقيق طلبك برجاء مراجعة الاكواد قمت بالعديد من الاضافات والتغييرات كذلك باتت القاعدة لن تحفظ اى بيانات الا بالضغط على زر الامر حفظ lab8.zip
  6. تم ايقاف دعم الاصدارات القديمة من مايكروسوفت طبعا انتقل لتواكب التطور تتنقل لاى اصدار انت قرر حسب متطلباتك وفقا للمقارنة الاتية... Microsoft Access Version Office 365 2021 2019 2016 2013 2010 2007 2003 2002 (XP) 2000 97 95 2.0 1.1 1.0 Original Release Date 2021 Oct 2021 Oct 2018 Sep 2015 Sep 2013 Feb 2010 Jul 2007 Jan 2003 Nov 2001 May 1999 Jun 1997 Jan 1995 Aug 1994 Apr 1993 May 1992 Nov Version Number 16.0 15.0 14.0 12.0 11.0 10.0 9.0 8.0 7.0 2.0 1.1 1.0 Latest Service Pack continuous -- -- -- SP1 SP2 SP3 SP3 SP3 SP3 SR2 -- 2.5 -- -- Minimum RAM 32 Bit: 2GB 64 Bit: 4GB 32 Bit: 1GB 64 Bit: 2GB 256 MB 256 MB 128 MB 72 MB 16 MB 16 MB 8 MB 4 MB -- -- Part of Microsoft Office Free Runtime Version Runtime Version Download Same as 365 Same as 365 Download Download Download Download Office Developer Edition 2003 Office Developer Edition 2002 Office Developer Edition 2000 Office Developer Edition 97 Access Developer's Toolkit 7.0 Access Developer's Toolkit 2.0 Access 1.1 Distribution Kit -- 64-bit Version Office 365 Installation Database Formats and Security Office 365 2021 2019 2016 2013 2010 2007 2003 2002 2000 97 95 2.0 1.1 1.0 Database Formats ACCDB & MDB ACCDB & MDB ACCDB & MDB ACCDB & MDB ACCDB & MDB ACCDB & MDB ACCDB & MDB MDB MDB MDB MDB MDB MDB MDB MDB MDB Format 2003 2003 2003 2003 2003 2003 2003 2003 2000 2000 97 2.0 2.0 1.1 1.0 Compiled MDE ACCDB Format Compiled ACCDE Jet Database Engine (DAO) ACE ACE ACE ACE ACE ACE ACE 4.0 4.0 4.0 3.5 3.0 2.0, 2.5 with SP 1.1 1.0 Access Database Engine (ACE) 16.0 Download 14.0 14.0 Download 12.0 Sandboxed ACE Workgroup Security (MDB format) ActiveX Data Objects (ADO) Record Locking, Unicode Storage Digital Signatures (MDB only) Does not support current code signing certificates Trusted Locations (Directories) Database Encryption (ACCDB) Data Macros (ACCDB) ODBC connection retry logic Access Data Projects (ADP) connected to SQL Server Access Web Apps (AWA) SharePoint 2013 SQL Server Office 365 SharePoint 2013 SQL Server SharePoint 2010 Lists Programming Office 365 2021 2019 2016 2013 2010 2007 2003 2002 2000 97 95 2.0 1.1 1.0 VBA Programming Language (VBA) Shared IDE with Visual Basic 6.0 Temporary Variables TempVars (ACCDB) Access Basic Programming Language Database Container Office 365 2021 2019 2016 2013 2010 2007 2003 2002 2000 97 95 2.0 1.1 1.0 Navigation Pane and Search Database Window Windows XP Themes Tabbed Interface Quick Access Toolbar Ribbons Change Office Theme Linked Tables Office 365 2021 2019 2016 2013 2010 2007 2003 2002 2000 97 95 2.0 1.1 1.0 Dataverse Enhanced Linked Table Manager Salesforce and Dynamics 365 365 Excel *.xlsx Format (ACCDB only) Saved Import/Export Specifications dBase Tables Lotus 1-2-3 Spreadsheets Paradox Tables Field Data Types Office 365 2021 2019 2016 2013 2010 2007 2003 2002 2000 97 95 2.0 1.1 1.0 Hyperlinks Link to SharePoint Lists Attachment Fields (ACCDB) Multi-value Fields (ACCDB) Memo Fields with History (ACCDB) Memo Fields as HTML (ACCDB) SQL Server BigInt 365 Date/Time Extended 365 Features Office 365 2021 2019 2016 2013 2010 2007 2003 2002 2000 97 95 2.0 1.1 1.0 ActiveX Controls Form Conditional Formatting of Fields Report Output to PDF Report View Alternating Row Colors Datasheet Totals Datasheet Multi-Select Column Filtering Simplified "Smart" Datasheet/Form Filtering Form Navigation Caption Form Buttons with Text and Image Form Object Anchoring and Resizing Date Picker Web Browser Control Image Control with Control Source Split Forms Navigation Forms Image Gallery (Shared Resources) Modern Charts Property Sheet sorting Enhanced Zoom Box 365 365 Add Tables Task Pane Highlighted Active Tab Dark Theme Support Query Designer, SQL and Relationship View Enhancements Command Bars Data Access Pages (DAP) Pivot Charts / Pivot Tables Smart Tags Visual SourceSafe Integration Upsizing Wizard Package Solution Wizard Data Collection Emails Microsoft References Office 365 2021 2019 2016 2013 2010 2007 2003 2002 (XP) 2000 97 95 2.0 1.1 1.0 New Features 2021 2019 2013 2010 Discontinued Features 2013 Windows Version Office 365 2021 2019 2016 2013 2010 2007 2003 2002 2000 97 95 2.0 1.1 1.0 Windows 11 * * * * Windows 10 * * * Windows 8.0/8.1 * * * Windows 7.0/SP1 * * Windows Vista SP1 * * Windows XP SP3 SP2 Windows 2000 SP3 Windows 98 Windows NT 4.0 SP6 SP2 SP2 Windows NT 3.51 SP5 Windows 95 Windows 3.1 Windows 3.0
  7. ولا تزعلى نفسك سهله ان شاء الله اتفضلى يا افندم غيرى الكود السابق بالكود اللاحق Private Sub pname_AfterUpdate() If Not NewRecord Then Exit Sub Dim strDLookupFlds As String Dim stLinkCriteria As String Dim MyVariable As String Dim Arry() As String MyVariable = Me.pname stLinkCriteria = "[pname] ='" & MyVariable & "'" '|String On Error GoTo ErrorHandler strDLookupFlds = DLookup("[pname] & '|' & [code] & '|' & [ptitle] & '|' & [bdate] & '|' & [gender] & '|' & [phone] & '|' & [mobile] & '|' & [adress] & '|' & [email] & '|' & [wt] & '|' & [ht]", "[reservation_tbl]", stLinkCriteria) Arry = Split(strDLookupFlds, "|") Me.code = Arry(1) Me.ptitle = Arry(2) Me.bdate = Arry(3) Me.gender = Arry(4) Me.phone = Arry(5) Me.mobile = Arry(6) Me.adress = Arry(7) Me.email = Arry(8) Me.wt = Arry(9) Me.ht = Arry(10) ExitHandler: Exit Sub ErrorHandler: Select Case Err.Number Case Is = 94: pname.Requery: Resume ExitHandler Case Else MsgBox "Error Number : " & Err.Number & vbNewLine & "Error Description : " & Err.Description Resume ExitHandler End Select End Sub وغيرى الكود الخاص بزر امر الاضافة الى الكود الاتى Private Sub Add_cmd_Click() On Error GoTo Err_NewRec DoCmd.Requery DoCmd.GoToRecord , , acNewRec Exit_Err_NewRec: Exit Sub Err_NewRec: MsgBox Err.Description Resume Exit_Err_NewRec End Sub وهذا مرفقكم بعد التعديل lab3(2).zip
  8. دى عاوزلها روقان واحلى سطل شااى بس والله عجبتنى الفوكيرة دى واوعدك افكر فيها
  9. اكيد وحتما سوف تجدين من هم افضل من بكثير من اخوانى الكرام او اساتذتى العظماء الذين اتعلم منهم فى هذا الصرح الشامخ فقط انا طويلب علم هاو الله يسلم حضرتك لا شكر على واجب اهلا بيكى فى اى وقت ولكن ارجوكى اقبلى نصيحتى بفصل بيانات المريض فى جدول منفصل بعيدا عن جدول التحاليل ونتائجها واخيــرا شرفتى المنتدى يا بنت بلادى
  10. طيب مبدئيا عندى اعتراضين 1- الافضل وضع بيانات المريض فى جدول منفضل بحيث لا تتكرر مع كل تحليل ومع كل زيارة اومااااااااااال 2- بسبب امكانية تكرار الاسم مع المرضى لا احبذ استخدام الاسم لجلب البيانات ولكن سوف اضع الاجابة على كل حال اولا مربع السرد اسم المريض يجب تامينه فى حالة وجود بيانات سابقة لا يجب تعديل الاسم وذلك بوضع الكود الاتى فى مربع سرد اسم المريض قبل التحديث Private Sub pname_BeforeUpdate(Cancel As Integer) If Not NewRecord Then Me.Undo: Cancel = True: Exit Sub End Sub ولجلب البيانات بوضع الكود الاتى فى مربع سرد اسم المريض بعد التحديث Private Sub pname_AfterUpdate() If Not NewRecord Then Exit Sub Dim strDLookupFlds As String Dim stLinkCriteria As String Dim MyVariable As String Dim Arry() As String MyVariable = Me.pname stLinkCriteria = "[pname] ='" & MyVariable & "'" '|String strDLookupFlds = DLookup("[pname] & '|' & [code] & '|' & [ptitle] & '|' & [bdate] & '|' & [gender] & '|' & [phone] & '|' & [mobile] & '|' & [adress] & '|' & [email] & '|' & [wt] & '|' & [ht]", "[reservation_tbl]", stLinkCriteria) Arry = Split(strDLookupFlds, "|") Me.code = Arry(1) Me.ptitle = Arry(2) Me.bdate = Arry(3) Me.gender = Arry(4) Me.phone = Arry(5) Me.mobile = Arry(6) Me.adress = Arry(7) Me.email = Arry(8) Me.wt = Arry(9) Me.ht = Arry(10) End Sub بالنسبة للعمر يفضل استخدام دالة حساب العمر بناء على تاريخ الميلاد نظرا لزيادة العمر بعد ذلك واخيرا المرفق lab3.zip
  11. وهنا من الاصدار 2021 الامتداد Mdb انتهى الى الاصدار 2003 لذلك ومع بداية الاوفيس 2007 وبداية التنسيق Accdb يكون فورمات قاعدة البيانات 2007 ومع التطور وكما أخبر استاذى الجليل ومعلمى القدير الاستاذ @شايب
  12. طيب من فضلك لو حضرتك مش عارفه تحقيقها موضوع جديد بسؤال جديد حفاظا على قوانين المنتدى
  13. جزانا الله واياكم كل الخير وامة محمد صل الله عليه وسلم ان شاء الله واتفضلى جربى اسف مشغول ولم يكن التركيز على القدر الكافى اعتذر لم انتبه لموضع اعادة الظهور كل التحاليل مرة أخرى عند اضافة مريض جديد الان لن يتم استخدام الترتيب اليومى اكثر من مرة فى نفس تاريخ الزيارة لن يتم حفظ اى بيانات غير مكتملة وهى الاسم الترتيب اليومى كود المريض التحاليل المطلوبة عند محاولة اختيار اى تجاليل للن يقبل الا بعد تسجيل التريب اليومى واسم المريض طبعا وضعت الحلول والافكار لحلول القصور الناتج عن المشاكل التى انتبهت اليها عند التجربة خللى بالك وخليكى فاكرة واوعى تنســــى انا كده يبقى لى خصم 200% على أول زيارة وطبعا مش حوصيكى نتيجة التحاليل ديلفرى lab (7).zip
  14. واتفضلى يا استاذة @safaa salem5 هذا تعديل جديد على القائمة الاولى testlist والخاصة بأسماء التحاليل التعديل كالاتى بسبب كثرة التحاليل اى نعم قمت بوضع شرط فى استعلام الاضافة لتدارك و منع تكرار اضافة تحليل تم اختيارة من قبل ولكن لم يملئنى الرضا فقمت بالتعديل الاتى وهو اخفاء التحليل من قائمة التحاليل عندما ينتقل الى قائمة المريض والعكس التعديل تم كما اشرت فى رأس الموضوع على مربع القائمة testlist فى مصدر بياناته وهو جملة الاستعلام تم التعديل بهذا الشكل باضافة استعلام اخر من داخل جملة Sql ليتم الربط بين الجدولين من خلال كود الاستعلام واضافة معيار لاخفاء التحاليل طبقا للقائمة تحاليل المريض SELECT test_tbl.test, test_tbl.tcode, test_tbl.patient_price, test_tbl.sub FROM test_order_tbl AS qryList2 RIGHT JOIN test_tbl ON qryList2.tcode = test_tbl.tcode WHERE (((test_tbl.sub) Like "*" & [Forms]![reservation_frm]![S1]) AND ((qryList2.tcode) Is Null)); واعتقد هذا هو طلبك بالتمام كما تريدين واخيرا المرفق lab (6).accdb
  15. نعم استاذى الجليل ومعلمى القدير و والدى الحبيب اتفق معكم تمام انا فقط اوضحت نفطة هامة من واقع تجربة شخصيية فى العمل على سبيل المثال الشخص X اجريت له جراحة فى 5/12/2023 سوف يعود الى العمل فى تاريخ 10/5/2024 فى هذه الحالة لن يأخذ رصيج الاجازات تبعا للدرجة كاملا ولكن يوف يخصم منها فترى ال 5 اشهر وكذلك العارضة لذلك اوضحت وجود حقلين فى جدول بيانات العاملين الاول للاجازات الاعتيادية والاخر للعارضة ليتم تسجيل الرصيد المستحق للعام الحالى اما الجدول الفرعة افضل تسجيل الاجازات بجميع انواعها فيه سجل لكل يوم يعنى لو ان الموظف X يريد 7 أيام اجازة يتم تسجيل 7سجلات على ان يبدأ السجل الاول بأول تاريح وهكذا وان اردتم اشاركم قاعدة بيانات انا بصدد تطويرها ان شاء الله على ان اضع بين اياديكم جزئية جزئية منها اثناء اعادة البناء
  16. طيب من الناحية العملية ليس افضل شئ اضافة الارقام التى تخص الرصيد الثابت وطرح منها الايام فى جدول واحد لما فيه من قصور فى نواح عدة لست بصدد ذكرها الان الافضل الاتى جدول بيانات العاملين يتم عمل حقلين فيه الاول لرصيد الاعتيادية فى بداية العام والاخر للعارضة جدول يوميات العاملين يتم اضافة اليوميات فيها بجميع انواعها اذنونات مأموريات عيادات تفرغ نقابى بلا بلا بلا .... الخ بذلك يمكن عمل حصر من خلال الجدول لكل العاملين او اخدهم بعينه بجميع انواع اليوميات او بتخصيص النوع المراد تخصيص حصره اما اجمالا او تفصيلا فى الفترة من الى
  17. كل شئ سليم معادا شئ واحد بس هذا الخطأ قبل التعديل وهذا التعديل الصحيح واخيرا المرفق و ياريت نركز شوية علشان نبقى شطار اكتر lab5.accdb
  18. بعد اذن استاذى الجليل و معلمى القدير و والدى الحبيب الاستاذ @ابوخليل تم تدارك عدم اضافة اسم الاختبار عند الضغط اكثر من مرة على اسمه من القائمة الاولى فلا يتم تكراره مرة أخرى فى القائمة الثانية تم اضافة باقى البنود ومجموع السعر كذلك lab4.accdb
  19. اتفضلى يا استاذة ان شاء الله يكون فى المرفق التالى كل طلباتك lab4.accdb
  20. العفو منكم يا دكتور انت فى مقام الوالد اسال الله تعالى ان يرزقكم البركة فى العمر والعمل 🤲 جزاكم الله خيرا
  21. هو شغال يا دكتور ولكن على كل حال هذا كود بطريقة أخرى With Me.Recordset If Not IsNumeric(x) Then MsgBox "Not numeric...": .MoveFirst: Exit Sub .FindFirst "catcods=" & Me.x If .NoMatch Then MsgBox "Not found" End With وهذا المرفق بحث منفرد (2).accdb
  22. استاذى الجليل تأمر يا أفندم If Not IsNumeric(x) Then MsgBox "Not numeric..." Else With Me.Recordset .FindFirst "catcods=" & Me.x If .NoMatch Then MsgBox "Not found" End If End With End If
×
×
  • اضف...

Important Information