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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. شكرا جزيلا أخي الكريم على هذه اللفته الجميلة منك اما بالنسبة لطلبك ، فتلاحظ اننا عملنا استعلام بهذه الاسطر: mySQL = "SELECT Sum(nz([CREDIT],0)) AS C, Sum(nz([DEBIT],0)) AS D, Sum(nz([CREDIT],0)-nz([DEBIT],0)) AS B" mySQL = mySQL & " FROM Trans" mySQL = mySQL & " WHERE " & Parent_and_Children . وعلى اساس حاجة الاستعلام ، ذللنا Parent_and_Children وجعلنا نتيجتها تخدم الاستعلام بهذه الخطوات: 'Remove the 1st A, the the node key is something like this: A385 Parent_and_Children = Mid(Parent_and_Children, 2) 'Remove the extra ; Parent_and_Children = Replace(Parent_and_Children, ";;", ";") 'Remove the "A"s Parent_and_Children = Replace(Parent_and_Children, "A", "") 'prepare the results a Criteria for the WHERE condition Parent_and_Children = "[Account_ID] = " & Replace(Parent_and_Children, ";", " Or [Account_ID] = ") . فنعم ، يمكنك تغيير هذا الاستعلام الى ما شئت ، وعليه يجب تغيير Parent_and_Children لتتناسب قيمه مع المطلوب جعفر
  2. حياك الله أخوي حسين بس طلب لوسمحت تجرب وتخبرنا النتيجة: 1. مال مشاركتي الاخيرة اللي فيها Application.Echo False ، 2. وكذلك مال اخينا ابوعارف ، لأني اعرف اننا لا يمكن ان نعمل setfocus على حقل مخفي في نموذج ، فما ادري اذا ممكن نستخدم Docmd.SelectObject على تقرير مخفي جعفر
  3. السلام عليكم أخي إسلام اعتذر منك ، فلم اتذكر رسالتك الاخيرة ، إلا في وقت متأخر البارحة ، حيث جهدي كان في احد مواضيع المنتدى الاخرى بس بسم الله ماشاء الله اشوفكم اكملت العمل عن طريق الاستعلام كذلك جعفر
  4. أخي العزيز محمد شكرا لك على تشجيعك المستمر والامتناهي ، تحية إجلال وإحترام لشخصك الكريم جعفر
  5. السلام عليكم . ايه والله ، صار لي من امس وانا احاول فيه ، لكن الحمدلله النتيجة: والكود: Option Compare Database Option Explicit Public Add_Them As String Private Sub TreeView1_nodeClick(ByVal node As Object) On Error GoTo err_TreeView1_nodeClick Dim Pos As Integer If node.Index > 1 Then Dim tt As String tt = Split(node.Key, ";")(0) TempVars.add "Acc1", Mid(tt, 2) ' DoCmd.OpenForm "acc1", acNormal End If Pos = InStr(1, TreeView1.SelectedItem, "..") - 1 If Pos > 0 Then If Left(TreeView1.SelectedItem, Pos) = "1299999" Then ' DoCmd.OpenForm "Form1" End If End If Dim Parent_and_Children As String Dim mySQL As String Dim rst As DAO.Recordset Parent_and_Children = node.Key 'Call TraverseChildren(node) Add_Them = "" 'get the insert the Parent node, and ask for the Childern nodes Parent_and_Children = Add_Them & ";" & node.Key & ";" & TraverseChildren(node) 'Remove the 1st A, the the node key is something like this: A385 Parent_and_Children = Mid(Parent_and_Children, 2) 'Remove the extra ; Parent_and_Children = Replace(Parent_and_Children, ";;", ";") 'Remove the "A"s Parent_and_Children = Replace(Parent_and_Children, "A", "") 'prepare the results a Criteria for the WHERE condition Parent_and_Children = "[Account_ID] = " & Replace(Parent_and_Children, ";", " Or [Account_ID] = ") 'Debug.Print Parent_and_Children 'do a Recordset to get the results mySQL = "SELECT Sum(nz([CREDIT],0)) AS C, Sum(nz([DEBIT],0)) AS D, Sum(nz([CREDIT],0)-nz([DEBIT],0)) AS B" mySQL = mySQL & " FROM Trans" mySQL = mySQL & " WHERE " & Parent_and_Children 'Debug.Print mySQL Set rst = CurrentDb.OpenRecordset(mySQL) MsgBox "Credit=" & rst!C & vbCrLf & _ "Debit=" & rst!D & vbCrLf & _ "Balance=" & rst!B Exit Sub On Error Resume Next Debug.Print "node.Child; " & node.Child Debug.Print "node.Children; " & node.Children Debug.Print "node.Expanded; " & node.Expanded Debug.Print "node.FirstSibling; " & node.FirstSibling Debug.Print "node.FullPath; " & node.FullPath Debug.Print "node.Index; " & node.Index Debug.Print "node.Key; " & node.Key Debug.Print "node.LastSibling; " & node.LastSibling Debug.Print "node.Next; " & node.Next Debug.Print "node.Parent; " & node.Parent Debug.Print "node.Previous; " & node.Previous Debug.Print "node.Root; " & node.Root Debug.Print "node.Selected; " & node.Selected Debug.Print "node.Sorted; " & node.Sorted Debug.Print "node.Tag; " & node.Tag Debug.Print "node.Text; " & node.Text Debug.Print "----------------------" err_TreeView1_nodeClick: If Err.Number = 3075 Then 'only one condition, remove the extra bits Parent_and_Children = Replace(Parent_and_Children, " Or [Account_ID] = ", "") mySQL = "SELECT Sum(nz([CREDIT],0)) AS C, Sum(nz([DEBIT],0)) AS D, Sum(nz([CREDIT],0)-nz([DEBIT],0)) AS B" mySQL = mySQL & " FROM Trans" mySQL = mySQL & " WHERE " & Parent_and_Children 'Debug.Print mySQL Set rst = CurrentDb.OpenRecordset(mySQL) Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub Function TraverseChildren(node As MSComctlLib.node) ' 'from http://www.access-programmers.co.uk/forums/showpost.php?p=589097&postcount=5 'modified by jjafferr 21-11-2015 ' ' writes the text of each child node to the debug window ' or a message if no child nodes exist Dim n As MSComctlLib.node Dim i As Integer 'using the 'Child' property of the node, get the first child Set n = node.Child 'traverse the children using the 'Children' property of the node For i = 1 To node.Children 'display the text of the child node 'Debug.Print n.Key & vbTab & n.Text Add_Them = Add_Them & ";" & n.Key 'to affect recursion, uncomment this line TraverseChildren n 'using the 'Next' property of the current child, get the next child Set n = n.Next Next i 'indicate no children If i = 0 Then Debug.Print "Node has zero children" TraverseChildren = Add_Them End Function . انا تركت لك في الكود بعض الاوامر اللي قد تفيدك في عملية الشجرة ، واعتقد بإمكانك ان تستعمل النتائج في المكان اللي تريد ، فانا عملت لك النتيجة على هيئة Recordset: Set rst = CurrentDb.OpenRecordset(mySQL) MsgBox "Credit=" & rst!C & vbCrLf & _ "Debit=" & rst!D & vbCrLf & _ "Balance=" & rst!B جعفر 273.1.Tree.accdb.zip
  6. . رحم الله والديك ، كنت افتش على هذا الامر وما لقيته جعفر
  7. الظاهر ان الامر Docmd.Printout يطبع النموذج/التقرير اللي في الامام ، ولما كان التقرير مخفي ، فالتقرير هو اللي اصبح ظاهر ، فطبعه طيب ، هذه حيلة استخدمها بعض الاوقات: بعض الاوقات لما اريد اعمل شئ وما اريد المستخدم يشوفه ، فاطلب من اكسس ان: يوقف صورة الشاشة ، يعمل المطلوب (بينما المستخدم يشاهد الشاشة التي لم تتجدد ، يقوم البرنامج بعمل المطلوب) ، يعطينا الشاشة الجديدة جرب هذه الطريقة: Application.Echo False DoCmd.OpenReport "medicine", acViewPreview, , , acHidden DoCmd.PrintOut , , , Me.t3 DoCmd.Close acReport, "medicine" Aplication.Echo True جعفر
  8. الحمدلله في الأمر docmd.printout اعتقد نقدر نخبره بإسم التقرير ، فعليه لن يأخذ من النموذج. جرب وشوف جعفر
  9. الحمدلله انك توصلت إلى حل بين الحلول جعفر
  10. واذا ما اردت المستخدم يشوف التقرير ، اخفيه DoCmd.OpenReport "medicine", acViewPreview, , , acHidden DoCmd.PrintOut , , , , Me.t3 DoCmd.Close acReport, "medicine" جعفر
  11. وعليكم السلام احذف الكود اللي عندك ، وجرب هذا الكود: DoCmd.OpenReport "medicine", acViewPreview DoCmd.PrintOut , , , , Me.t3 DoCmd.Close acReport, "medicine" جعفر
  12. في الواقع ، معظم الصعوبات لها اجابات ، ولكن الجواب مرتبط بطريقة شرح السؤال وبإسهاب وبالتفصيل الممل وبأكثر من مثال ، وانا وامثالي ، عندنا وقت محدود نحاول نساعد ، فاذا رأينا السؤال مبهم وبدون تفاصيل ، فعادة نتركه ، حتى يستفيد من وقتنا اكبر قدر ممكن من الاسئلة جعفر
  13. وعليكم السلام . نعم ، اعمل استعلام جديد ، استخدم الاستعلام qry_Sum_Crosstab كمصدر ، استعمل جميع الحقول ، ثم اعمل الفرز على الحقول التي تريد ، فتلقائيا ترى النتيجة في النموذج ولا تستطيع عمل فرز مباشرة من الاستعلام qry_sum_Crosstab ، لأن البيانات ليست جاهزة ، وانما هي في قيد التحضير ، بينما لما تعمل استعلام جديد ، والاستعلام qry_Sum_Crosstab كمصدر ، فتكون البيانات جاهزة للخطوة التالية شفت ، حل جميع مشاكلك طلع الاستعلام جعفر
  14. أخي حسين الأن مالنا شغل في الاستعلام ، والشغل كله في تصفية النموذج بس اضف ActiveX مال CodeBar ، لأني اضطررت ان ازيله جعفر 272.BARCODE.accdb.zip
  15. تفضل يا سيدي الاستعلام . والنموذج . ولا ، لا يمكن حذف روكرز لأنه فاضي وجعفر 271.مشكلة الصفر وباقى المحلات.accdb.zip
  16. شكرا على التوضيح انا مب محاسب ، فصدقني ما اعرف شئ عن برامج المحاسبة وكيفية عملها!! لوسمحت تخبرني: لما انقر على الموجودات ، او الموجودات المتداولة ، في نموذج Tree ، اي جدول ، واي الحقول اللي فيها المعلومات المطلوبة ، يعني كيف توصلت للرقم 108750 ؟ سبب سؤالي هو ، على حسب جوابك اعمل لك البرمجة ان شاء الله جعفر
  17. هل جربت المرفق كما هو؟ جعفر
  18. وبما ان الاستعلام الذي استعملته هنا هو استعلام جدولي ، فاليك نصيحة كلفتني غاليا حتى عرفتها: http://www.officena.net/ib/topic/61853-فلتر-التاريخ-نصف-سنوى/?do=findComment&comment=401042 جعفر
  19. شوف الاستعلامات اللي كنت عاملهم لك هنا: http://www.officena.net/ib/topic/64965-الرصيد-بشرطين-اسم-المحل-اسم-العميل/?do=findComment&comment=423098 جعفر
  20. أخي الفاضل ، الظاهر أن وقتك جدا ثمين وما عندك حتى وقت لتساعدنا علشان نساعدك!!! شكرا
  21. اسحب اطراف الاستعلام فوق/تحت و يمين/يسار ، وراح تطلع لك تفضل الطريقة لإظهار باقي الاستعلام: جعفر
  22. ولا يهمك ، هذه الطريقة: 1. انت عملت استعلام كمصدر لنموذجك ، انا استعملته في استعلام ، وذلك لأن به جميع الحقول التي تريدها لنموذجك: . وهاي نتائجه: . ثم استعملت هذا الاستعلام لعمل استعلام ثاني ، فقط لأحسب اسماء العملاء في الاستعلام السابق: . والنتيجة: . والان اصبح عندي استعلام به الحقول ، واستعلام آخر به عدد اسماء العملاء ، فعملت استعلام ثالث ، وجبت فيه الاستعلام الاول و الثاني ، وربطت الاستعلامين باسم العميل (لاحظ اسم العميل موجود في الاستعلامين): . والنتيجة ، جميع الحقول التي نريدها ، مع حساب اسماء العملاء: جعفر
  23. احنا نحاول نستغنى عن Dcount, Dsum, Dlookup ، .... قدر الامكان ، لأنها معقدة ، وبطيئة ، وخصوصا اذا كان عندنا بديل من الاستعلام مباشرة جعفر
  24. تفضل تمت العمليه بإستخدام 3 استعلامات ، والنتيجة: جعفر 274.dcount in form.accdb.zip
×
×
  • اضف...

Important Information