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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. لما نقرت على الصورة : . ولكن السؤال ، ليش ما ترفقها في الموضوع مباشرة : في اسفل المشاركة ستجد هذا الشكل : 1. امسك الصورة من مجلدك ، وافلته في اي مكان في المربع الاحمر الكبير (الرقم 1 ) ، 2. او انقر هنا واختار ملفاتك ، وسترى ان الصور جاهزة ، اذهب الى المشاركة ، وفي المكان الذي تريد ان تظهر الصورة ، اترك المؤشر يومض ، 3. انقر على زر + وسترى الصورة في مكان المؤشر ، واذا اردت ان تغير مكانها ، انقر على الصورة في المشاركة واضغط على زر الحذف من الكيبورد ، 4. اما اذا اردت حذف الصورة ، فانقر على زر سلة المهملات 🙂 . جعفر
  2. اخي الفاضل 🙂 هنا منتدى الاكسس لمساعدة المبرمجين الذين يحتاجون حل لمشاكل في برامجهم ، اما اذا اردت عمل برنامج جاهز ، فرجاء افتح موضوع جديد هنا: إعلانات شخصية بأجر للاعضاء - أوفيسنا (officena.net) جعفر
  3. وعليكم السلام 🙂 انا عندي هذه المسطرة العائمة ، ما لها علاقة بالاكسس ، ولكن يمكن الاستفادة منها ، مثلا : عرض هذا الحقل حوالي 5.889 سنتيمتر او المسافة بين السهمين حوالي 5.650 سنتيمتر جعفر ImRuler.zip
  4. وعليكم السلام 🙂 استخدم هذه الجزئية من الكود الذي عندك ، لأن الباقي مافي له داعي ، وهو الذي يبطئ العملية : Private Sub أمر43_Click() Dim LastValue As double ' Dim x As Long LastValue = Me.HNO ' x = Me.ID 'MsgBox x DoCmd.GoToRecord , , acNewRec ' DoCmd.RunCommand acCmdSaveRecord ' DoCmd.RunCommand acCmdRefresh Me.HNO = LastValue + 0.1 ' x = Me.ID ' Me.Requery ' Me.OrderBy = "HNO" 'MsgBox x ' DoCmd.FindRecord x, acAnywhere, , acSearchAll Me.nass.SetFocus End Sub . يعني هاي الاسطر فقط : Dim LastValue As Double LastValue = Me.HNO DoCmd.GoToRecord , , acNewRec Me.HNO = LastValue + 0.1 Me.nass.SetFocus جعفر
  5. وعليكم السلام 🙂 يمكنك استخدام المرفق من هذه الطريقة : كتابة التاريخ بصيغة لا تتغير بتغير اعدادات الوندوز - قسم الأكسيس Access - أوفيسنا (officena.net) . هذا الجدول من الرابط اعلاه ، . اعمل حقل جديد للأشهر في الجدول tbl_Months ، ولنسميه Months_Turish ، وحقل آخر للأيام ، ولنسميه Days_Turkish ، ثم قم بتعبئة الحقول بالاسماء التركية (رجاء ملاحظة ترتيب السجلات حسب الارقام) . الآن يمكنك استخدام المسميات التركية ، سواء في استعلام او بالامر Dlookup كما هو موضح في الرابط اعلاه 🙂 نعم ، انا كذلك لم استطع فتح الملف ، مع اني استخدم الاكسس 2010 مع آخر التحديثات 🙂 جعفر
  6. رجاء ارفاق مرفق لأننا يجب ان نعمل تجارب ، فالافضل عمله على واقع المشكلة 🙂 جعفر
  7. وعليكم السلام اخوي ابو احمد 🙂 بالنسبة لفتح نافذة الوندوز إختيار الملفات ، فهناك طريقة اخرى لا تحتاج الى الكود اعلاه Windows API ، وتجده هنا مثلا: https://www.officena.net/ib/applications/core/interface/file/attachment.php?id=189174 ولكن اذا اردت النظر في الكود الذي ارفقه انت ، فهذه الاسطر من الكود لا تكفي للنظر في المشكلة ، فأنا محتاج الى مثال يعمل ، علشان اضبطه للنواتين 32 و 64بت 🙂 جعفر
  8. هذه الاسطر موجودة سابقا ، ولكن لم تلاحظها ، وتم عمل اللازم لهذه النقطة 🙂 الطريقة الصحيحة هي الاحتفاظ بجدول واحد فقط ، وتم اضافة حقل جديد في الجدول لكي تميز فيه بين سجلات الملفات ، والحقل هو اسم الملف ، وعليه ، تستطيع ان تعرف اي سجل لأي ملف 🙂 الطربقة الجديدة للعمل هي: 1. انقر على الزر ، ويمكنك ان تختار: ملف واحد ، او مجموعة ملفات ، او كل مرة تضيف اي عدد من الملفات ، سترى هذه الملفات في القائمة ، 2. وبعد ان تجهز القائمة ، انقر على هذا الزر حتى تستورد جميع الملفات اعلاه دفعة واحدة (لا تذهب الى الكود لتغيير اسم الملف) ، 3. وبعد ان تحصل على رسالة Done ، يمكنك الذهاب الى النموذج المستمر لترى جميع السجلات القديمة والتي قمت بإستيرادها الآن. . 1. جميع السجلات تظهر لك ، 2. تستطيع ان تختار اسم الملف ، ثم تنقر على زر 3 لإظهار سجلات الملف الذي اخترته ، كما يمكنك النقر مرتين في الحقل 2 ، فيتم تصفية الحقل ، ثم تنقر على الزر 3 لترى جميع السجلات مرة اخرى ، ولا تنسى انك تستطيع استخدام زر الفأرة اليمين على اي حقل ، لفرز و/او تصفية السجلات . جعفر 1322.1.تحويل.accdb.zip
  9. وعليكم السلام 🙂 انا اعرف انك ما تريد هذه الحلول ، ولكني اضعها هنا علشان اللي يرد يعرف انك ما تريد رد مثلها : استعلام عن طريق VBA - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
  10. حياك الله 🙂 الكود يأخذ بيانات حقل جدول الوورد الى المتغير myValue واللي حجمه يسمح ببيانات بحجم حوال 2 جيجابايت فقط ، من رؤيتي السريعة ، نظرت الى بداية ونهاية بعض الحقول ، والنتيجة كانت صحيحة ، اما التجربة والتأكد النهائي فهو عليك 🙂 انا لاحظت بعض الاضافات على حقلي Col_1 و Col_2 ، وحذفتهم بهذا الكود: بدلا عن !Col_3 = myValue جرب !Col_3 = Replace(myValue, Chr(7), "") جعفر
  11. همممم انا الآن جربت جميع روابط الصفحة الاولى ، وجميعها شغال ويتم انزال المرفق !! جعفر
  12. اخي الفاضل: اذا بحثت في المنتدى ستجد الكثير والكثير من المواضيع ، جعفر
  13. اخي عاطف 🙂 كنت اعتقد انك تريد مساعدتنا في عمل تقرير ، واذا بك تريدنا نعمل برنامج !! اذا تريد مساعدة ، فيجب عليك ان تجهز البيانات في صفحات اكسل كالتالي (هذا من واقع البيانات اللي رأيتها) : 1. صفحة لمعلومات الطالب: رقم تسلسل الطالب الاسـم النوع تاريخ الميلاد 2. صفحة بمعلومات المؤسسة: رقم تسلسل المؤسسة التعليمية المؤسسة التعليمية المنطقة الأزهرية الإدارة التعليمية المعهد 3. صفحة لمعلومات الطلب للسنة الدراسية: رقم تسلسل الطالب الحالة الفصل العام الدراسي رقم تسلسل المؤسسة التعليمية 4. صفحة للحضور والغياب: رقم تسلسل الطالب التاريخ حضور/غياب وبعدها ممكن ان نأتي للأكسس 🙂 جعفر
  14. وعليكم السلام 🙂 اذا اردت دمج اكثر من استعلام مع بعض ، فيجب استخدام استعلام التوحيد Union query ، ولعمل استعلام التوحيد: 1. ان يكون عدد الحقول الظاهره لكل استعلام ، هي نفسها لجميع الاستعلامات ، 2. اذا كان ناقصك حقل في احد الاستعلامات ، اضف حقل فارغ ، 3. نستعمل الامر Union او Union All بين استعلام وآخر. جعفر
  15. السلام عليكم 🙂 نستطيع ان نستورد جدول الوورد الى الاكسس مباشرة : . وهذا الكود يقوم بالعمل: Private Sub cmd_From_Word_Click() ' 'https://bytes.com/topic/access/insights/961343-importing-ms-word-tables-into-ms-access-tables-using-vba ' 'modified by jjafferr, 2021-01-07 ' Dim i As Long Dim myValue As String 'Dim appWord As Word.Application, doc As Word.Document Dim appWord As Object, doc As Object Dim dbs As DAO.Database, rst As DAO.Recordset, strDoc As String Set appWord = CreateObject("Word.Application") 'establish an instance of word strDoc = CurrentProject.Path & "\1322.تحويل أكسس.doc" 'set string to document path and file Set doc = appWord.Documents.Open(strDoc) 'establish the document appWord.Visible = False Set dbs = CurrentDb 'establish the database to use (this is our current Database) Set rst = dbs.OpenRecordset("tbl_From_Word") 'establish the recordset With doc.Tables(1) 'target table 1 in People.docx For i = 1 To .Rows.Count 'cycle through rows in Tables(1) [we skip the first row because the table has headers] With rst .AddNew 'creating a new record myValue = doc.Tables(1).Cell(i, 1).Range.Text ![Col_1] = Replace(Replace(myValue, Chr(13), ""), Chr(7), "") 'remove the extra characters myValue = doc.Tables(1).Cell(i, 2).Range.Text ![Col_2] = Replace(Replace(myValue, Chr(13), ""), Chr(7), "") myValue = doc.Tables(1).Cell(i, 3).Range.Text ![Col_3] = myValue .Update 'update the whole record End With Next 'go to next row in Tables(1) End With rst.Close: Set rst = Nothing 'close and clear recordset dbs.Close: Set dbs = Nothing 'close and clear database doc.Close: Set doc = Nothing 'close and clear document appWord.Quit: Set appWord = Nothing 'close and clear MS Word Me.Requery MsgBox "Done" End Sub . ولا تنسى تغيير اسم ومسار ملف الوورد في المتغير strDoc حسب الوضع في كمبيوترك ، جعفر 1322.تحويل.accdb.zip
  16. وعليكم السلام 🙂 هذا معناه ان البرنامج الذي يعمل الباركود ، كان تجريبيا ، وانتهت فترة التجربة ، والآن يجب عليك شراءه 🙂 ولكن هناك بدائل اخرى في المنتدى لعمل الباركود ، مجانا ، فما عليك إلا ان تبحث 🙂 جعفر
  17. السلام عليكم 🙂 فيه مغالطة وعدم وضوح الفرق عند الكثيرين بين حقل الترقيم التلقائي (المعرف الذي ينشأه الاكسس في الجدول) ، وبين حقل تسلسل تلقائي. فحقل الترقيم التلقائي (و كلام اخوي ابو خليل من ذهب 🙂) : اما حقل التسلسل التلقائي ، فهناك طرق لعمله : 1. اذا اردته في التقرير فقط ، 2. اذا اردته في الاستعلام والنموذج ، 3. اذا اردته في الجدول (مثل عمل ترقيم مستمر مثل سندات الصرف ، او فواتير سنوية) : عمل حقل بصيغة رقم (او نص ، حسب المطلب) ، وبرمجيا في النموذج تقوم بإضافة 1 اليه ، وبعدة طرق ، وابسط هذه الطرق : ترقيم تلقائي يتجدد كل سنة - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
  18. تفضل : . انا شرحت لك هنا: الآن وقد تم عمل جميع المتطلبات ، فإذا عندك سؤال جديد ، رجاء عمل موضوع جديد لسؤالك 🙂 جعفر 1311.3.Data.accdb.zip
  19. حياك الله 🙂 في تعديل بسيط ، حيث تم اضافة مربع النص NoFocus في النموذج الفرعي ، ويجب ان لا تجعله مخفي ، ويمكنك ان تجعله تحت اول زر امر اذا اردت ، السبب في احتياجه هو ، عندما نختار مادة وتظهر لنا رسالة بياناتها (طبعا انت لن تستعمل الرسالة ، وانما ستستخدم بياناتها 🙂) ، فلا تستطيع ان تختار من القائمة الرئيسية مرة اخرى : . واما في الكود ، فقد تم اضافته في كود النموذج الفرعي ، هكذا: . جعفر 1321.1.RestTest111.accdb.zip
  20. السلام عليكم 🙂 انا عملت تغيير في النموذج ، واصبح بسيط : . بس هذه طريقة المجلدات . كود النموذج الرئيسي: Option Compare Database Option Explicit Private Sub cmd_quit_Click() DoCmd.Close acForm, Me.Name End Sub Private Sub Form_Load() Dim rst As DAO.Recordset Dim Pics_Path As String Dim RC As Long, i As Long 'the main buttons Set rst = CurrentDb.OpenRecordset("Select [FN],[Resturant] From Query_S_S Where S_S is not null Order By S_S") rst.MoveLast: rst.MoveFirst: RC = rst.RecordCount For i = 1 To 6 'path to the pitures folder Pics_Path = Mid(Application.CurrentProject.Path, 1, InStrRev(Application.CurrentProject.Path, "\") - 1) Me("cmd" & i).Caption = rst!Resturant Me("cmd" & i).Picture = Pics_Path & "\my foto333\" & rst!FN rst.MoveNext Next i rst.Close: Set rst = Nothing 'show if 1st button clicked Me.WhichCMD = 1 Call sfrm_Controls End Sub Function cmd_Click() Me.WhichCMD = Right(Screen.ActiveControl.Name, 1) Call sfrm_Controls End Function Function sfrm_Controls() On Error GoTo err_sfrm_Controls Dim rst As DAO.Recordset Dim Pics_Path As String Dim RC As Long, i As Long, iStart As Long Dim ctl As Control 'the main buttons Set rst = CurrentDb.OpenRecordset("Select [FN],[ID], [iName] From qry_Table1 Where S_S=" & Me.WhichCMD & " Order By ID") rst.MoveLast: rst.MoveFirst: RC = rst.RecordCount For i = 1 To RC 'path to the pitures folder, then path with file name Pics_Path = Mid(Application.CurrentProject.Path, 1, InStrRev(Application.CurrentProject.Path, "\") - 1) Pics_Path = Pics_Path & "\my foto333\" & rst!FN Me("sfrm_items")("c" & i).BackColor = Me("cmd" & WhichCMD).BackColor 'Back Color Me("sfrm_items")("c" & i).ForeColor = Me("cmd" & WhichCMD).ForeColor 'Fore Color Me("sfrm_items")("c" & i).Caption = rst!INAME 'Caption 'picture If Dir(Pics_Path) <> "" Then Me("sfrm_items")("c" & i).Picture = Pics_Path Else 'file type was not found, trye jpg Me("sfrm_items")("c" & i).Picture = Mid(Pics_Path, 1, Len(Pics_Path) - 3) & "jpg" End If Me("sfrm_items")("c" & i).Tag = rst!ID 'ID in Tag , so when clicking on the button we know which one Me("sfrm_items")("c" & i).Visible = True 'show the control rst.MoveNext Next i 'hide all subform controls For Each ctl In Me("sfrm_items").Controls Me("sfrm_items")("c" & i).Visible = False i = i + 1 Next Exit_sfrm_Controls: rst.Close: Set rst = Nothing Exit Function err_sfrm_Controls: If Err.Number = 2220 Then 'No picture Me("sfrm_items")("c" & i).Picture = "" Resume Next ElseIf Err.Number = 2465 Then 'we passed the number of controls Resume Exit_sfrm_Controls Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function . ولما تنقر على اي من ازرار النموذج الفرعي ، تحصل على . وكود النموذج الفرعي: Option Compare Database Option Explicit Function myItems() 'get the items detail Dim A As String Dim x() As String Dim Resturant As String, S_S As Double, INAME As String, sal_price As Double, Qty1 As Integer, ID As Long A = DLookup("Resturant & '|' & S_S & '|' & INAME & '|' & sal_price & '|' & Qty1", "TABL1", "[ID]=" & Screen.ActiveControl.Tag) x = Split(A, "|") Resturant = x(0) S_S = x(1) INAME = x(2) sal_price = x(3) Qty1 = x(4) ID = Screen.ActiveControl.Tag MsgBox "Resturant =" & x(0) & vbCrLf & _ "S_S =" & x(1) & vbCrLf & _ "INAME =" & x(2) & vbCrLf & _ "sal_price =" & x(3) & vbCrLf & _ "Qty1 =" & x(4) & vbCrLf & _ "[ID]=" & Screen.ActiveControl.Tag End Function جعفر 1321.1.RestTest111.accdb.zip
  21. اخي الشامل 🙂 اذا كانت البيانات ذو اهمية ، فيمكنك الاتصال مع احد الشركات المتخصصه في استرجاع بيانات الاكسس ، وسيخبروك عن التكلفة وعن مايمكنهم استرداده ، ومنها هذه الشركة : EverythingAccess.com File Upload Form جعفر
  22. هذه يمكن ان تعمل لها وحدات نمطية ، بدل كتابتها في الاستعلام مباشرة 🙂 جعفر
  23. وعليكم السلام اخوي ابو الكرم 🙂 الآن تذكرت موضوع سابق مع اخونا السهران ، وصادفت نفس مشكلة التاريخ ، فقمت بعلاجها بطريقة تشبه طريقتك ، عن طريق الدالة DateFormat : هدية: استخدام التاريخ بطريقة تعمل مع مجموعة السجلات - قسم الأكسيس Access - أوفيسنا (officena.net) وعليه ، يصبح الكود : Dim myWhere As String myWhere = "[pc]='" & [Text0] & "'" myWhere = myWhere & " And [StartDate]=" & DateFormat([StartDate]) myWhere = myWhere & " And [txt]='" & [Text2] & "'" DoCmd.OpenForm "Table1", acNormal, , myWhere, acReadOnly, acNormal . اخوي السهران : رجاء ، دائما استخدم الدالة في برامجك (او طريقة اخرى مثل ما وضع اخوي ابو الكرم) ، لأنه دائما تصير لك مشكلة مع التاريخ في برامجك🙂 جعفر __nbm2.zip
  24. اخي هاني الافضل هو العمل على الاستعلام بدل الكود ، لذا ، رجاء اعطنا الاستعلام او الكود او صورة من الخطأ ، او اي معلومة ممكن تساعدنا علشان نساعدك 🙂 جعفر
×
×
  • اضف...

Important Information