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

أبو إبراهيم الغامدي

أوفيسنا
  • Posts

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

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

  • Days Won

    13

كل منشورات العضو أبو إبراهيم الغامدي

  1. وعليكم السلام ورحمة الله وبركاته النموذج الذي أدرجته كمثال؛ مبني على تصفية البيانات وليس البحث فيها، وذلك بناء على طلب صاحب المشاركة.. وإذا أردنا أن نظلل السجلات التي تتضمن المعلومات المطلوبة، فهذا يعني أن السجلات جميعها سوف تظلل! وهذا لا يحقق المطلوب.. البحث في البيانات: يعني أن تكون جميع البيانات معروضة وعند البحث يقف المؤشر على السجل الذي فيه البيانات.. أرجو أن تحدد متطلباتك بصورة أكثر وضوحا منذ البداية حتى لا ندخل في دوامة الأسئلة المتلاحقة 😉
  2. وعليكم السلام ورحمة الله وبركاته أهلا بك.. في الشفرة التالية عدل الدليل الموصل للصور إلى الدليل الموصل للسيرفر Function WorkerCard(F As Form) Dim RS As dao.Recordset Dim ImgFile As String Dim H As String Set RS = CurrentDb.OpenRecordset("select * From WorkerSubQ where " _ & "[Depart Id]=" & Nz(F.cboDepart, True)) If RS.RecordCount = 0 Then Exit Function Do Until RS.EOF ImgFile = CurrentProject.Path & "\" & RS!Worker & ".jpg" '... الدليل هنا يشير إلى قاعدة البيانات الواجهة H = H & "<div class='card'>" H = H & "<div class='container'>" H = H & "<a href=#ID:" & RS!WorkerID & "><img src='" & ImgFile & "'></a>" H = H & "<h3><b>" & RS!Worker & "</b></h3>" H = H & "<p>" & RS!Depart & "</p>" H = H & "</div>" ' end of container H = H & "</div>" ' end of card RS.MoveNext Loop WorkerCard = H Set RS = Nothing End Function لم توضح لي الطريقة التي تستخدمها في إضافة الصور.. وفي تصوري أسهل طريقة أن تعمل Map Driver للسيرفر على كل الأجهزة ومن ثم تضع الصورة في مجلد الصورة برقم الموظف.. لن يكون باستطاعتي مساعدتك بالقدر الكافي لأنه يوجد لدي بيئة مماثلة لبئية السيرفر.. تنبيه للجميع.. في المرات القادمة أرجو فتح مشاركة جديدة مع الإشارة إلى الموضوع السابق لكي يتمكن من يجيب على مشاركتك بأفضل إجابة خاصة به 😉🤑
  3. وعليكم السلام ورحمة الله بركاته الإجرائان التاليان للتشفير، وفك التشفير Sub EncodeBinaryFileToBase64(BinaryFileName As String, Base64FileName As String) Dim XML, Node, InputFile, OutputFile, XPath Dim FSO, Output, InStream, ReadBytes, Base64Encode XPath = CurrentProject.Path & "\" InputFile = XPath & BinaryFileName OutputFile = XPath & Base64FileName Set InStream = CreateObject("ADODB.Stream") InStream.Open InStream.Type = 1 'TypeBinary InStream.LoadFromFile (InputFile) ReadBytes = InStream.Read() InStream.Close Set XML = CreateObject("Msxml2.DOMDocument") Set Node = XML.createElement("base64") Node.DataType = "bin.base64" Node.nodeTypedValue = ReadBytes Base64Encode = Node.Text Set FSO = CreateObject("Scripting.Filesystemobject") Set Output = FSO.CreateTextFile(OutputFile, 1) Output.Write Base64Encode Output.Close End Sub Sub DecodeBase64ToBinaryFile(Base64FileName As String, BinaryFileName As String) Dim InputFile, OutputFile, XPath, Contents Dim FSO, XML, Node, BinaryStream, XInput XPath = CurrentProject.Path & "\" InputFile = XPath & Base64FileName OutputFile = XPath & BinaryFileName Set FSO = CreateObject("Scripting.Filesystemobject") Set XInput = FSO.OpenTextFile(InputFile, 1) Contents = XInput.ReadAll() XInput.Close Set XML = CreateObject("Msxml2.DOMDocument") Set Node = XML.createElement("base64") Node.DataType = "bin.base64" Node.Text = Contents Set BinaryStream = CreateObject("ADODB.Stream") BinaryStream.Type = 1 'adTypeBinary BinaryStream.Open BinaryStream.Write Node.nodeTypedValue BinaryStream.SaveToFile OutputFile End Sub Base64.accdb
  4. أهلا بك @Moosak أشكرك على ثناءك العطر.. لكن لا تبالغ 😊 أقول لك بصدق؛ إن الأفكار كثرت عليّ، وما أدري ما الذي أقدم منها فقلت أبدأ بالأيسر، ثم أتناقش معكم ماهو الأفضل والأنسب.. بعد أن أستعرض معكم مفاتيح البحث التي يوفرها الموقع. هذا صحيح! لأن الهدف هو جلب البيانات من الموقع وتكديسها في قاعدة البيانات، ثم النظر فيما بعد في كيفية استثمار تلك البيانات وفقاً لمتطلبات المطور..
  5. السلام عليكم أهلا بكم... هذه مشاركة بسيط ضمن هذا العنوان العريض.. نموذج يقوم بالبحث في المنتى ويعيد البيانات التالية (رقم المشاركة، عنوان المشاركة، موضوع المشاركة) ويخزنها في جدول البيانات، مع ربط عنوان المشاركة بالموقع.. البحث في عناوين المشاركات فقط.. إذا كان مجال البحث يتضمن صفحات متعددة فإنه يعيد بيانات الصفحة الأولى في هذه المرحلة... سوف أناقش إن شاء الله،، فيما بعد مفاتيح البحث التي يقدمها الموقع وكيفية الاستفادة منها.. إليكم المشاركة.. SearchInOfficena.accdb
  6. لا تقلق عزيزي.. نريد أن يكون لدينا تصور لما عليه برنامجك، لكي نصل إلى الحلول المناسبة بأسرع الطرق.. إذا لم يكن لديك بئية مستخدمين فهذا يعني أن معرفات ويندوز هي الحل الأنسب لك.. لماذا يتطلب الأمر بيئة مستخدمين؟ لأنه وبكل بساطة لا يمكن أن يستخدم البرنامج مجهول! ولا أن ترسل الرسائل إليه!! نأتي إلى أحد المسائل الفنية: هل الرسائل تحتاج إلى تأكيد الاستلام؟ وهل يلزم إشعار المرسِل باستلام رسالته بتنبيه راجع؟ :: إذا كانت الإجابة: نعم، فهذا يعي أن الرسالة سوف تتكرر بعدد المرسل إليهم، حتى ولو اخترنا قسماً معينا أو إدارة بها عدد من الأقسام أو الأفراد.. فأنت ترى ياعزيزي أن الاستمرار في المشاركة يتطلب بعض النقاش حتى نصل إلى متطلباتك، ويتطلب أن تساهم أنت في البناء! لا أن تكون مستهلكاً فقط! والأعضاء المشاركين يخسرون بعض وقتهم في بناء وتشفير أشياء من تصوراتهم، ولا تمت إلى قاعدة بيانات بصلة! لذا أرجو منك أن تكون متفاعلا، وتقوم ببناء قاعدة بيانات فيها متطلباتك حتى أتمكن مساعدتك، لأني وبكل احترام؛ لا يمكن أن أذهب إلى مشاركات الأعضاء وأستثمراها في تحقيق متطلباتك!
  7. هذا ينبني على قاعدة البيانات التي لديك! وما فعله الأستاذ خليفه والآخرين إنما هو حدس لما يمكن أن تكون عليه قاعدة بياناتك.. وبما أنك تعمل على شبكة نتوقع أن يكون لديك بئية مستخدمين، إما على مستوى الشبكة، وإما على مستوى قاعدة البيانات.. فهل ستفصح لنا عن الطريقة التي تستخدمها في إدارة صلاحية المستخدمين، أم تبقها سراً؟!
  8. أهلا بك أياد.. وشكرا على التقييم لكن مازال هناك مسائل فنية تحتاج إلى نقاش وأيضا وجود عيبٍ في الشفرة بحاجة إلى إصلاح
  9. أهلا بكم.. للمراسلة في بيئة مشتركة؛ يجب أن يأسس لهذه المراسلات جدول بيانات يوضع في قاعدة البيانات الخلفية. هذا أمر متعارف عليه ولا جدال فيه. لكن يبقى السؤال كيف نصل إلى معرف المرسل إليه؟ وكيف نشعره بوجود رسائل تخصه؟ من أسهل الطرق للوصول إلى معرف منضبط للمرسل والمرسل إليه: هو استخدام معرف ويندوز.. يمكن الوصول إلى هذا المعرف في أكسس باستخدم التابع ()Environ. بهذه الطريقة Public Function UserName() UserName = Environ("UserName") End Function وإرسال الرسائل واستقبالها بحاجة إلى ثلاثة عناصر... جدول البيانات.. نموذج معالجة الرسائل.. وأيضا نموذج عرض الرسائل.. مما يجب التنبيه عليه هو أن نموذج عرض الرسائل يجب أن يُفتح في وضع (التخفي) مباشرة مع النموذج الرئيسي سيقوم نموذج عرض الرسائل في حدث المؤقت بالبحث عن أخر سجل أرسل للمرسل إليه ولم يقم بتأكيد استلامة.. (وذلك كل نصف دقيقة) فإذا وجد سجلا مطابقا للشرط تقوم الشفرة بإنشاء نسخة مماثل لنموذج العرض بالسجل الأخير مع التنبه، عند المصادقة يتم إغلاقه. وإذا أرسلت رسالة أخرى قبل المصادقة، فسوف تظهر الأخيرة في نموذج عرض أخر.. ** هناك مسائل فنية في تكوين الشفرة سوف أناقشها مع الزملاء إن شاء الله.. لتجربة المثال المرفق.. جعلت نموذج معالجة الرسائل هو النموج الرئيسي وستلاحظ أن معرفك في ويندوز ظهر تلقائيا في حقل [Sender ID] قم بفتح كلتا القاعدتين المخصصة للواجهة الأمامية في آن واحد، ومن ثم قم بإعادة ربط جدول البيانات فيهما.. قم بفتح النموذج الرئسي (نموذج معالجة الرسائل) في كلا القاعدتين، ومن ثم قم بإرسالة رسالة لمعرفك (أدخل معرفك في حقل [Receiver ID]) من أحد القاعدتين ستلاحظ أن نموذج عرض الرسائل ظهر في كلا القاعدتين وذلك لأن معرف المرسل والمرسل إليه واحد.. أدخل رسالة أخرى من القاعدة الثانية ولاتنس إدخال معرف المرسل إليه (معرفك) ستلاحظ أن الرسالة ظهرت أيضا في كلا القاعدتين.. تنبيه.. عند تأكيد الرسالة اللاحقة قبل السابقة سوف تقوم الشفرة بإعادة فتح الرسالة السابقة بإعتبارها آخر سجل وفق الشروط أعلاه... هذا العيب يمكن إصلاحه بمساعدة الزملاء.. .. آمل أن تحوز هذه المشار على رضاكم.. !! أعمل على Office-64 Messanger.zip
  10. أهلا بك.. يمكن استخدام الشفرة التالية في حدث النموذج KeyDown Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Static I As Integer, PgCnt As Integer PgCnt = Me.MyTabs.Pages.Count - 1 Select Case KeyCode Case Is = 34 If I <= 0 Then Me.MyTabs = 0 Else I = I - 1 Me.MyTabs = I End If Case Is = 33 If I >= PgCnt Then Me.MyTabs = PgCnt Else I = I + 1 Me.MyTabs = I End If End Select Debug.Print KeyCode End Sub TabCtrlNav.zip
  11. أهلا @محمد احمد لطفى أرجو لك مزيدا من التقدم والتوفيق.. إليك التعديل تعليمى (1).mdb
  12. هذا الإجراء متعلق بالنموذج، نقلته بالخطأ إلى الوحدة النمطية.. فضلا، قم بإعادته إلى النموذج فقط...
  13. إن شاء الله لن أخيبك، وسوف أعمل على هذا ما اتسع له وقت.. عند الرجوع إلى المشاركة التي جاء منها المثال؛ وجدت أني سبق وعملت على عارض الصور، فقمت بتحسين عرض الصور وبرمجة النموذج المنبثق.. لكني لست راضيا عن هذا العمل.. سوف أقوم في قابل الأيام؛ بعد توفيق الله ومشيئته بتحسن العمل لكي يعمل على مستعرض الويب بالكامل.. Photo.zip
  14. الآن وضحت الصورة! هل في إمكانية نتعرف على بيانات التقييم ومستوياتها، أو درجاتها.. إذا يوجد لديك قاعدة بيانات مصغرة بالبيانات المطلوب تمثيلها، فأنت تصنع معروفاََ
  15. وعليكم السلام ورحمة الله وبركاته أهلا بك... ممكن تلخص فكرتك بعيداً عن المثال المرفق؛ لأنه يضيّق التصور..
  16. أهلا @ابوخليل لا أعتقد أن هذه العبارة صحيحة، والسطر التالي يوضح المقصود DoCmd.TransferText acImportHTML ,,InputBox("plase Enter Table Name"),currentproject.Path & "\0125.html",true,"0125" DoCmd.TransferText acImportHTML ما هو إلا نهج مغلف لنفس الإجراء المقدم في إجابتي السابقة! وهي تعليمية أكثر منها إجابة، والنهبج المشار إليه سهل وبسيط! كما لا يفوتني أن أشكرك علي عتب المحب المغلف بهذه الإلماحة..😇
  17. أهلا @محمد احمد لطفى الشفرة التالية تفي بالغرض إن شاء الله.. Private Sub أمر0_Click() On Error GoTo ERR_CODES Dim HTML_FILE_NAME As String Dim HTML_TITLE As String Dim TABLE_NAME As String Dim SQL As String '-- ASSIGNING VALUES TO SQL STATMENT VARIABLES Const HTML_SPECIFICATION As String = " [HTML IMPORT;HDR=YES;] " HTML_FILE_NAME = CurrentProject.Path & "\" & "0125.HTML" '.. THE HTML FILE IS THE DATABASE HTML_TITLE = "0125" '.. THE HTML TABLE NAME IS THE HTML TITLE CREATE_TABLE_SQL: '-- ASSIGNING TABLE NAME USING INPUTBOX TABLE_NAME = InputBox(Err.Description & " Plase Enter New Table Name.", _ "New Table Name", , Me.WindowWidth / 2, Me.WindowHeight / 2) If Len(TABLE_NAME) = 0 Then GoTo EXIT_SUB End If '-- CREATE SQL STATMENT SQL = "" SQL = SQL & " SELECT * INTO " & TABLE_NAME SQL = SQL & " FROM " & HTML_TITLE SQL = SQL & " IN'" & HTML_FILE_NAME & "'" SQL = SQL & HTML_SPECIFICATION '-- EXECUTE SQL STATEMENT TO CREATE TABLE CurrentDb.Execute SQL Application.RefreshDatabaseWindow EXIT_SUB: Exit Sub ERR_CODES: If Err.Number = 3010 Then GoTo CREATE_TABLE_SQL Else MsgBox Err.Number & vbNewLine & Err.Description End If End Sub IMPORT_HTML_TABLE.zip
  18. وعليكم السلام ورحمة الله طباعة الصورة بحجم الورقة يتسبب في تباعد نقاط الرسم وبالتالي تصبح الصورة مشوه المنظر. لهذا أنت بحاجة إلى تنسيق حجم الصورة قبل الطباعة.. طباعه المرفقات.accdb
  19. وعليكم السلام رحمة الله أهلا بك @النجاشي أجريت تعديلا على بعض الإجراءات.. وأنشأت لك وظيفة تقوم بالبحث عن اسم الملف أبتداءً من الدليل الرئيسي إلى أدنى مستوىً من الأدلة الفرعية. فإن كان الملف موجودا؛ أعادة اسم الملف مع الدليل.. الوظيفة مع التعديلات Public Function XPath() XPath = CurrentProject.Path & "\src\" End Function Public Function FSO() As FileSystemObject Set FSO = New FileSystemObject End Function Public Function GetFileDirectory(MainPath As Object, Optional FileName As Variant) Dim OFIL As Scripting.File, OFILS As Scripting.Files Dim OMFD As Scripting.Folder, OSFD As Scripting.Folder Static XFileName As String, FilePath '.. Static Declaration reserved value when function recoll '-- get filename in first time call and reserved value If Not IsMissing(FileName) Then XFileName = FileName End If '-- loop for subfolders in his parent folder For Each OSFD In MainPath.SubFolders Set OMFD = FSO.GetFolder(OSFD.Path) Set OFILS = OSFD.Files '-- loop for file in each folder For Each OFIL In OFILS If OFIL.Name = XFileName Then FilePath = OFIL.Path GoTo TheEnd End If Next '-- Function recoll himself with subfolder GetFileDirectory OSFD Next TheEnd: '-- Function return filepath if file found GetFileDirectory = FilePath End Function اظهار المرفقات .zip
  20. وعليكم السلام أ. غريب عوداً حميداً وأهلاً بك.. أتمنى أن أرى ابداعك بعد هذا الغياب..
  21. https://get.adobe.com/reader/ عند التثبيت يظهر لك مربع حوار طلب الإذن باقتران أكروبات بمتصفح ويندوز.. وافق على الطلب
×
×
  • اضف...

Important Information