اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

Moosak

أوفيسنا
  • Posts

    2,034
  • تاريخ الانضمام

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

  • Days Won

    51

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

  1. وعليكم السلام ورحمة الله وبركاته 🙂 لا أعلم طريقة لتكبير الخط .. ولكن كمقترح يمكنك بناء نموذج خاص بك لعرض الرسائل وتتحكم فيه بالحجم والشكل والألوان كما تحب 🙂
  2. وهذا درس يشرح طريقة عمل الشكل البيضاوي في التقرير 🙂
  3. بوركت @AbuuAhmed بقي لك أن تتخلص من رسائل التحديث المزعجة عند كل تحديث يحصل 🙂 وتغيرر هاتين من Long إلى LongPtr لكي تعمل الدالة على النواة 64 بت :
  4. لا تثريب عليك أخي العزيز @أبو إبراهيم الغامدي 😄✋🏻 بالعكس استفدت من طريقتك وتعلمت أسلوب جديد 👍🏼😁
  5. سلمت يمناك أبو أحمد 🙂 استوقفتني هذه الجملة وقد مررت سابقا بموقف مشابه ، والآن مع وجود الذكاء الاصطناعي سألته يعطيني دالتين للتحويل بين أكواد ال RGB وال Hex فما قصر وأعطاني التالي ( بدون تجربة ) 🙂 : '=================== (To convert RGB to Hex:) Function RGBToHex(ByVal red As Integer, ByVal green As Integer, ByVal blue As Integer) As String RGBToHex = "#" & Right("0" & Hex(red), 2) & Right("0" & Hex(green), 2) & Right("0" & Hex(blue), 2) End Function '=================== (To convert Hex to RGB:) Function HexToRGB(ByVal hexCode As String) As Variant Dim red As Integer, green As Integer, blue As Integer If Left(hexCode, 1) = "#" Then hexCode = Right(hexCode, Len(hexCode) - 1) End If red = Val("&H" & Mid(hexCode, 1, 2)) green = Val("&H" & Mid(hexCode, 3, 2)) blue = Val("&H" & Mid(hexCode, 5, 2)) HexToRGB = Array(red, green, blue) End Function '=================== (Here's an example of how you can use these functions:) Sub TestColorConversion() Dim red As Integer, green As Integer, blue As Integer Dim hexCode As String Dim rgbResult As Variant ' Convert RGB to Hex red = 255 green = 0 blue = 128 hexCode = RGBToHex(red, green, blue) Debug.Print "Hex Code: " & hexCode ' Convert Hex to RGB hexCode = "#00FF00" rgbResult = HexToRGB(hexCode) red = rgbResult(0) green = rgbResult(1) blue = rgbResult(2) Debug.Print "RGB: (" & red & ", " & green & ", " & blue & ")" End Sub
  6. لم أجد .. ولم يمر علي سابقا 🙂 حتى الذكاء الاصطناعي عجز عنها 😅
  7. تفضل أخي العزيز .. ولزيادة الخير وضعت لك أكواد جميع الإجراءات الأساسية : الإجراءات الإعتيادية للسجلات ( حفظ - جديد - حذف - إضافة - تكرار - التالي - السابق - الأول - الأخير - .....) '===================================== حفظ السجل والذهاب لسجل جديد Private Sub SaveRecBtn_Click() On Error GoTo Err_SaveRecBtn_Click DoCmd.RunCommand acCmdSaveRecord DoCmd.GoToRecord , , acNewRec Exit_SaveRecBtn_Click: Exit Sub Err_SaveRecBtn_Click: MsgBox Err.Description Resume Exit_SaveRecBtn_Click End Sub '===================================== حذف السجل Private Sub DeleteBtn_Click() On Error GoTo Err_DeleteBtn_Click DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdDeleteRecord Exit_DeleteBtn_Click: Exit Sub Err_DeleteBtn_Click: MsgBox Err.Description Resume Exit_DeleteBtn_Click End Sub '===================================== إضافة سجل جديد Private Sub AddNewBtn_Click() On Error GoTo Err_AddNewBtn_Click DoCmd.GoToRecord , , acNewRec Exit_AddNewBtn_Click: Exit Sub Err_AddNewBtn_Click: MsgBox Err.Description Resume Exit_AddNewBtn_Click End Sub '===================================== السجل التالي Private Sub NextBtn_Click() On Error GoTo Err_NextBtn_Click DoCmd.GoToRecord , , acNext Exit_NextBtn_Click: Exit Sub Err_NextBtn_Click: MsgBox Err.Description Resume Exit_NextBtn_Click End Sub '===================================== السجل السابق Private Sub PreviousBtn_Click() On Error GoTo Err_PreviousBtn_Click DoCmd.GoToRecord , , acPrevious Exit_PreviousBtn_Click: Exit Sub Err_PreviousBtn_Click: MsgBox Err.Description Resume Exit_PreviousBtn_Click End Sub '===================================== السجل الأول Private Sub FirstBtn_Click() On Error GoTo Err_FirstBtn_Click DoCmd.GoToRecord , , acFirst Exit_FirstBtn_Click: Exit Sub Err_FirstBtn_Click: MsgBox Err.Description Resume Exit_FirstBtn_Click End Sub '===================================== السجل الأخير Private Sub LastBtn_Click() On Error GoTo Err_LastBtn_Click DoCmd.GoToRecord , , acLast Exit_LastBtn_Click: Exit Sub Err_LastBtn_Click: MsgBox Err.Description Resume Exit_LastBtn_Click End Sub '===================================== البحث عن سجل Private Sub FinedRecBtn_Click() On Error GoTo Err_FinedRecBtn_Click Screen.PreviousControl.SetFocus DoCmd.RunCommand acCmdFind Exit_FinedRecBtn_Click: Exit Sub Err_FinedRecBtn_Click: MsgBox Err.Description Resume Exit_FinedRecBtn_Click End Sub '===================================== تكرار السجل Private Sub DublicateRecBtn_Click() On Error GoTo Err_DublicateRecBtn_Click DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdCopy DoCmd.RunCommand acCmdRecordsGoToNew DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdPaste Exit_DublicateRecBtn_Click: Exit Sub Err_DublicateRecBtn_Click: MsgBox Err.Description Resume Exit_DublicateRecBtn_Click End Sub '===================================== حفظ السجل Private Sub SaveRecBtn_Click() On Error GoTo Err_SaveRecBtn_Click DoCmd.RunCommand acCmdSaveRecord Exit_SaveRecBtn_Click: Exit Sub Err_SaveRecBtn_Click: MsgBox Err.Description Resume Exit_SaveRecBtn_Click End Sub '===================================== طباعة السجل الحالي Private Sub PrintRecBtn_Click() On Error GoTo Err_PrintRecBtn_Click DoCmd.RunCommand acCmdSelectRecord DoCmd.PrintOut acSelection Exit_PrintRecBtn_Click: Exit Sub Err_PrintRecBtn_Click: MsgBox Err.Description Resume Exit_PrintRecBtn_Click End Sub '===================================== التراجع عن التسجيل Private Sub UndoRecBtn_Click() On Error GoTo Err_UndoRecBtn_Click DoCmd.RunCommand acCmdUndo Exit_UndoRecBtn_Click: Exit Sub Err_UndoRecBtn_Click: MsgBox Err.Description Resume Exit_UndoRecBtn_Click End Sub '===================================== فتح التقرير وطباعة السجل المحدد بدلالة الرقم التسلسلي Private Sub Print_Click() On Error GoTo Err_OpenReportBtn_Click Dim stDocName As String stDocName = "ReportName" DoCmd.OpenReport stDocName, acViewReport, , "ID =" & Me.ID DoCmd.RunCommand acCmdPrintPreview DoCmd.RunCommand acCmdPrint Exit_OpenReportBtn_Click: Exit Sub Err_OpenReportBtn_Click: If Err.Number = 2501 Then Resume Exit_OpenReportBtn_Click 'print cancelled MsgBox Err.Number & vbCr & Err.Description Resume Exit_OpenReportBtn_Click End Sub '===================================== طباعة تقرير Private Sub PrintReportBtn_Click() On Error GoTo Err_PrintReportBtn_Click Dim stDocName As String stDocName = "ReportName" DoCmd.OpenReport stDocName, acNormal Exit_PrintReportBtn_Click: Exit Sub Err_PrintReportBtn_Click: MsgBox Err.Description Resume Exit_PrintReportBtn_Click End Sub '===================================== معاينة تقرير Private Sub VeiwReportBtn_Click() On Error GoTo Err_VeiwReportBtn_Click Dim stDocName As String stDocName = "ReportName" DoCmd.OpenReport stDocName, acPreview Exit_VeiwReportBtn_Click: Exit Sub Err_VeiwReportBtn_Click: MsgBox Err.Description Resume Exit_VeiwReportBtn_Click End Sub '===================================== فتح تقرير Private Sub OpenReportBtn_Click() On Error GoTo Err_OpenReportBtn_Click Dim stDocName As String stDocName = "ReportName" DoCmd.OpenReport stDocName, acViewReport Exit_OpenReportBtn_Click: Exit Sub Err_OpenReportBtn_Click: MsgBox Err.Description Resume Exit_OpenReportBtn_Click End Sub '===================================== حفظ تقرير بصيغة Private Sub SendReportToBtn_Click() On Error GoTo Err_SendReportToBtn_Click Dim stDocName As String stDocName = "ReportName" DoCmd.OutputTo acReport, stDocName Exit_SendReportToBtn_Click: Exit Sub Err_SendReportToBtn_Click: MsgBox Err.Description Resume Exit_SendReportToBtn_Click End Sub
  8. أهلا بك أخي @دروب مبرمج في قائمة الخبراء ، تستحقها بجدارة 🙂 🌹 أنت البركة وحلت عليك البركات تلو البركات ☺️
  9. وعليكم السلام ورحمة الله وبركاته أخي حسين 🙂 تفضل : If t = b Then msgbox "القيمة الرقمية الموجود في حقل t تساوي القيمة التي في حقل b " ' "ثم تكتب هنا ما تريد من البنامج فعله لو تحقق الشرط" End If
  10. وعليكم السلام ورحمة الله وبركاته 🙂 تفضل أخي جمال .. [order_code] & "." & [report_No] & "." & Format([Received_date];"mm") & "." & Format([Received_date];"yy")
  11. كما قال المهندس @Eng.Qassim .. تم فقد الاتصال بقاعدة البيانات الخلفية .. وإليك هذا الكود لفحص إذا كانت الجداول المرتبطة متصلة أم لا .. عندما يكون البرنامج مقسم لنسختين FE و BE وضيفة الكود أن تعطيه اسم أحد الجداول المرتبطة فيفحصه إذا كان متصل أم لا ويعطيك النتيجة True / False .. وبعدها يمكنك إعطاء أي أمر في حال تم فقد الإتصال كغلق البرنامج مثلا .. Private Function TableLinkOkay(strTableName As String) As Boolean 'Function accepts a table name and tests first to determine if linked 'table, then tests link by performing refresh link. 'Error causes TableLinkOkay = False, else TableLinkOkay = True Dim CurDB As dao.Database Dim tdf As TableDef Dim strFieldName As String On Error GoTo TableLinkOkayError Set CurDB = DBEngine.Workspaces(0).Databases(0) Set tdf = CurDB.TableDefs(strTableName) TableLinkOkay = True If tdf.Connect <> "" Then '#BGC updated to be more thorough in checking the link by opening a recordset 'ACS 10/31/2013 Added brackets to support spaces in table and field names strFieldName = CurDB.OpenRecordset("SELECT TOP 1 [" & tdf.Fields(0).Name & "] FROM [" & tdf.Name & "];", dbOpenSnapshot, dbReadOnly).Fields(0).Name 'Do not test if nonlinked table End If TableLinkOkay = True TableLinkOkayExit: Exit Function TableLinkOkayError: TableLinkOkay = False GoTo TableLinkOkayExit End Function '==========================================(مجربة تمام)==(وهذي دالة ثانية تقوم بنفس الوظيفة) Public Function IsConnectedToBE(strLinkedTable As String) As Boolean Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb On Error Resume Next Set rs = db.TableDefs(strLinkedTable).OpenRecordset IsConnectedToBE = (Err = 0) Set rs = Nothing Set db = Nothing End Function طريقة الاستدعاء : TableLinkOkay("strTableName")
  12. جرب بنفسك وأخبرنا عن تجربتك .. هذا كان تكملة الجملة وهي القاعدة التي ساعدتنا في التعلم .. 🙂
  13. هذا كود لتنصيب الخطوط المضمنة في البرنامج إلى مجلد بجانب البرنامج وضيفة الكود هو استخراج الخطوط المخزنة في جدول الخطوط FontsT إلى مجلد Fonts بجانب قاعدة البيانات ثم يضيفها لبرنامج الأكسس بدون تنصيبها على الجهاز .. وذلك لكي تعمل معك الخطوط التي صممت بها البرنامج. لكي يعمل الكود معك : 1- قم بإنشاء جدول في برنامجك واسمه FontsT وبه حقل مرفقات اسمه Fonts ويتم تخزين الخطوط داخله 2 - قم بإضافة المكتبة التالية : Microsoft Scripting Runtime 3 - قم بمناداة الدالة التي تقوم بالمهمة AddFonts() من أي مكان تريده ( هنا أنا وضعتها في ماكرو Autoexec) Option Compare Database Option Explicit 'Designed By: Moosa AlKalbani Private Declare PtrSafe Function AddFontResource Lib "gdi32.dll" Alias "AddFontResourceA" ( _ ByVal lpFileName As String) As Long Public Function AddFonts() Dim ExtractPath As String Dim FontPath As String Dim FSO As Object Dim File As File Dim FontFolder As Folder Set FSO = CreateObject("Scripting.FileSystemObject") ' إنشاء مجلد للخطوط بجانب قاعدة البيانات ExtractPath = CurrentProject.Path & "\fonts" If Not FSO.FolderExists(ExtractPath) Then FSO.CreateFolder (ExtractPath) ' استخراج جميع الخطوط من الجدول إلى مجلد الخطوط ExtractAllAttachments "FontsT", "Fonts", ExtractPath Set FontFolder = FSO.GetFolder(ExtractPath) For Each File In FontFolder.Files If Right(File.Name, 3) = "TTF" Or Right(File.Name, 3) = "OTF" Then FontPath = ExtractPath & "\" & File.Name Debug.Print vbCr & FontPath AddOneFont FontPath Debug.Print File.Name, "Added" End If Next Set FSO = Nothing End Function Public Function AddOneFont(Font_Name_Path As String) Dim result As Long result = AddFontResource(Font_Name_Path) ' MsgBox result & " fonts added" End Function Public Function ExtractAllAttachments(ByVal TableName As String, ByVal AttchmentColumnName As String, ByVal ExtractToFolder As String) ' TableName : اسم الجدول ' AttchmentColumnName : اسم حقل المرفقات ' ExtractToFolder: المكان المراد استخراج الملفات إليه مثال : "C:\ExtractHere" Dim RsMainrecords As dao.Recordset2 Dim RsAttachments As dao.Recordset2 Set RsMainrecords = CurrentDb.OpenRecordset("select " & AttchmentColumnName & _ " from " & TableName & _ " where " & AttchmentColumnName & ".FileName is not Null") Do Until RsMainrecords.EOF Set RsAttachments = RsMainrecords.Fields(AttchmentColumnName).Value Do Until RsAttachments.EOF Dim OutputFileName As String OutputFileName = RsAttachments.Fields("FileName").Value OutputFileName = ExtractToFolder & "\" & OutputFileName If Len(Dir(OutputFileName, vbDirectory)) = 0 Then On Error Resume Next Debug.Print OutputFileName RsAttachments.Fields("FileData").SaveToFile OutputFileName End If RsAttachments.MoveNext Loop RsAttachments.Close RsMainrecords.MoveNext Loop RsMainrecords.Close Set RsMainrecords = Nothing Set RsAttachments = Nothing End Function ويمكنك استدعائه عن طريق مناداة الدالة باسمها : AddFonts() مثال : Add Fonts.accdb
  14. وعليكم السلام 🙂 هذا كود لحفظ أو استخراج المرفقات من حقل نوع مرفق إلى جهاز الكمبيوتر .. الدالة الأولى هي دالة استخراج المرفقات .. الدالة الثانية هي دالة الحصول على مسارات المجلدات الخاصة ( سطح المكتب مثلا ..) Public Sub AttachmentToDisk(strTableName As String, _ strAttachmentField As String, strPrimaryKeyFieldName As String) Dim strFileName As String Dim db As DAO.Database Dim rsParent As DAO.Recordset2 Dim rsChild As DAO.Recordset2 Dim fld As DAO.Field2 Dim strPath As String On Error Resume Next strPath = SpecialFolderPath("MyDocuments") & "\" & Form_Main.TB1.Value & "\" ' مكان حفظ المرفقات ' strPath = " Application.CurrentProject.Path" & " \ " & Form_Main.TB1.Value & "\" Set db = CurrentDb Set rsParent = db.OpenRecordset(strTableName, dbOpenSnapshot) With rsParent If .RecordCount > 0 Then .MoveFirst While Not .EOF ' our picture is in the field "pics" Set rsChild = rsParent(strAttachmentField).Value If rsChild.RecordCount > 0 Then rsChild.MoveFirst While Not rsChild.EOF ' this is the actual image content Set fld = rsChild("FileData") ' create full path and filename strFileName = strPath & .Fields(strPrimaryKeyFieldName) & "\" & rsChild("FileName") ' create directory if it does not exists If Len(Dir(strPath & .Fields(strPrimaryKeyFieldName), vbDirectory)) = 0 Then VBA.MkDir strPath & .Fields(strPrimaryKeyFieldName) ' remove any previous picture from disk it there is any If Len(Dir(strFileName)) <> 0 Then Kill strFileName ' save our picture to disk fld.SaveToFile strFileName ' move to next attachment rsChild.MoveNext Wend ' move record pointer of parent .MoveNext Wend End With Set fld = Nothing Set rsChild = Nothing Set rsParent = Nothing Set db = Nothing End Sub Public Function SpecialFolderPath(strFolder As String) As String ' Find out the path to the passed special folder. User on of the following arguments: ' Options For specical folders ' AllUsersDesktop ' AllUsersStartMenu ' AllUsersPrograms ' AllUsersStartup ' Desktop ' Favorites ' Fonts ' MyDocuments ' NetHood ' PrintHood ' Programs ' Recent ' SendTo ' StartMenu ' Startup ' Templates On Error GoTo ErrorHandler 'Create a Windows Script Host Object Dim objWSHShell As Object Set objWSHShell = CreateObject("WScript.Shell") 'Retrieve path SpecialFolderPath = objWSHShell.SpecialFolders(strFolder & "") CleanUp: ' Clean up Set objWSHShell = Nothing Exit Function '************************************** '* Error Handler '************************************** ErrorHandler: MsgBox "Error finding " & strFolder, vbCritical + vbOKOnly, "Error" Resume CleanUp End Function
  15. تفضل 🙂 استخدم هذا الكود على زر أمر بحيث تغير رابط الملف النصي وتغير اسم مربع النص اللي بيلصق النص فيه: Private Sub btnGetText_Click() ' Declare variables to hold the text from the online file and the textbox Dim strText As String Dim txtTarget As TextBox ' Set the URL of the online text file Dim strURL As String strURL = "http://www.website.com/text.txt" ' Use the XMLHTTP object to retrieve the text from the online file Dim objXMLHTTP As Object Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") objXMLHTTP.Open "GET", strURL, False objXMLHTTP.Send ' Check if the request was successful If objXMLHTTP.Status = 200 Then ' Get the text from the response strText = objXMLHTTP.responseText ' Get a reference to the textbox on the form Set txtTarget = Me.txtTextBox ' Put the text from the online file into the textbox txtTarget.Value = strText Else ' Show an error message if the request was not successful MsgBox "There was an error retrieving the text from the online file." & vbCrLf & _ "HTTP Status: " & objXMLHTTP.Status, vbExclamation End If ' Clean up Set objXMLHTTP = Nothing Set txtTarget = Nothing End Sub وهذا مثال : Read Online Txt File.accdb
  16. وعليكم السلام ورحمة الله وبركاته 🙂 حبذا لو تدعم طلبك بمثال مرفق .
  17. وعليكم السلام ورحمة الله وبركاته .. حياك الله أخي @TQTHAMI 🙂 لو تضع نوع المشاكل التي واجهتك بالتحديد لسهلت الموضوع على الإخوة 🙂 وأعتقد أنا أغلب المشاكل هي دوال ال API وطريقة جعلها تعمل على النواتين 32 بت و 64 بت .. ولحلها يمكنك مراجعة هذا الموضوع للمهندس الكبير @jjafferr : ويمكنك البحث عن المواضيع المشابهة عن طريق برنامج البحث الرائع في مواضيع المنتدى للحصول على الحل المناسب لك :
  18. وعليكم السلام ورحمة الله وبركاته باش مهندسنا 🙂 وهذه رااائعة من روائعك لم تعط حقها من الإشادة .. بارك الله فيك وأحسن الله إليك وجعلها في ميزان حسناتك تمت التجربة بنجاح ولله الحمد 😉👌🏼 وتم إضافة الموضوع لـ:
  19. لم يتم حذف أي رد .. وإنما تم (إخفاء) كل ما لا يمت لصلب الموضوع بصلة .. تهدئة للنفوس والبعد عن مسببات التشاحن ..وهذا دور الإشراف على ما أحسب.. ✋🏻 والأمر واضح جليا أن النفوس بها تحامل على هذه الإدارة المسكينة نتيجة تراكمات سابقة وربما تصرفات فردية ، وخير لهذه النفوس أن تحسن الضن .. وتلقي بهذه الأحمال من على عواتقها .. لا أن تشحن نفسها بما لا تطيقة .. وتؤجج الرأي العام لصالحها .. والله في عون العبد ما كان العبد في عون أخيه .. 🙂
×
×
  • اضف...

Important Information