• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

ammarvb

اعضاء جدد
  • عدد المشاركات

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

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

السمعه بالموقع

11 عادي

عن ammarvb

  • الرتبة
    عضو جديد
  1. اسعدني انك استفدت من هذا البرنامج و وفقت لكل خير اخوك عمار من العراق 
  2. add Masked Textbox---> Masked-->00 /00 /0000
  3. use masked text box with the property masked text= 0000/00/00
  4. استفسار حفظ البيانات في اكثر من جدول

    اي شيء جدا طبيعي تفتح اتصال و داتا ادابتر و وداتا ست لجدول معين  ثم داتاست لجدول اخر و تعدل و تحفظ هذا اذا كان الوضع منفصل  اما اذا متصل يمكن انشاء اوامر ال update  وال insert  و تنفيذها بكوماند و كل عمليه لها كوماند خاص 
  5. اريد حل للحذف من دليل الحسابات

    اذا كان الاب في جدول رئيسي و الابن في جدول فرعي تربطهما علاقه واحد الى مجموعه يمكنك فرض data delete integrity  عند  انشاء ال relationship و تحذف الاب و سيتم تلقائيا بحذف الابن ثم تعيد تحميل الشجرة  
  6. هذا الكود مع تعليقات على كل جزء Imports System.Data.OleDbImports System.StringPublic Class Form1 Dim myCatId As Integer ' رقم الصنف Dim myCatName As String ' اسم الصنف Dim myPos As Integer = 0 ' موقع السجل Dim dtList As New DataTable ' داتا ست لقائمة الشراء Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' فتح اتصال وتحميل بيانات الاصناف Me.WindowState = FormWindowState.Maximized Dim con As New OleDbConnection con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Application.StartupPath & "\db.mdb'" con.Open() Dim da As New OleDbDataAdapter("select * from ItemsCat", con) Dim ds As New DataSet da.Fill(ds, "ItemsCat") con.Close() ' تحميل بيانات العناصر و انشاء الازرار For i = 0 To ds.Tables("ItemsCat").Rows.Count - 1 Dim btn As Button = New Button() btn.Parent = Me btn.Name = "btn" & ds.Tables("ItemsCat").Rows(i).Item("CatId") btn.Top = 10 btn.Left = 100 + i * 100 btn.Height = 50 btn.Width = 100 btn.Text = ds.Tables("ItemsCat").Rows(i).Item("CatName") ' ربط الازرار بحدث كلك AddHandler btn.Click, AddressOf HandleDynamicButtonClick Next ' انشاء جدول القائمة dtList.Columns.Add("Cat", GetType(String)) dtList.Columns.Add("Item", GetType(String)) dtList.Columns.Add("Count", GetType(Integer)) dtList.Columns.Add("Cost", GetType(Double)) dtList.Columns.Add("Total", GetType(Double)) dgvList.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells End Sub Private Sub HandleDynamicButtonClick(ByVal sender As Object, ByVal e As EventArgs) ' عند ضغط احد ازرار الاصناف يتم جلب العناصر التابعه للصنف ' انشاء زر يكون عباره عن الزر الذي انشء الحدث Dim btn As Button = DirectCast(sender, Button) ' اسم الزر يكون رقم العنصر و التكست يكون اسم العنصر myCatId = CInt(Microsoft.VisualBasic.Right(btn.Name, Microsoft.VisualBasic.Len(btn.Name) - 3)) myCatName = btn.Text ' الغاء الازرار التابعه للصنف Dim killall As Boolean = True While (killall) killall = False For Each tmp As Control In Me.Controls If Microsoft.VisualBasic.Left(tmp.Name, 5) = "Items" Or tmp.Name = "btnNext" Then Me.Controls.Remove(tmp) killall = True End If Next End While Dim con As New OleDbConnection con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Application.StartupPath & "\db.mdb'" con.Open() Dim da As New OleDbDataAdapter("select * from Items where CatId=" & myCatId, con) Dim ds As New DataSet da.Fill(ds, "Items") con.Close() ' انشاء زر التالي اذا كان عدد العناصر اكثر من 25 If ds.Tables("Items").Rows.Count > 25 Then Dim btnNext As Button = New Button() btnNext.Parent = Me btnNext.Name = "btnNext" btnNext.Top = 6 * 70 btnNext.Left = 100 + 5 * 100 btnNext.Height = 50 btnNext.Width = 100 btnNext.Text = "التالي" AddHandler btnNext.Click, AddressOf btnNextClick End If myPos = 0 ' انشاء ازرار العناصر و ربطها بحدث كلك For i = 1 To 5 For j = 1 To 5 If myPos + 1 > ds.Tables("Items").Rows.Count Then myPos = 0 : Exit Sub Dim btn2 As Button = New Button() btn2.Parent = Me btn2.Name = "Items" & ds.Tables("Items").Rows(myPos).Item("ItemId") btn2.Top = i * 70 btn2.Left = 100 + j * 100 btn2.Height = 50 btn2.Width = 100 btn2.Text = ds.Tables("Items").Rows(myPos).Item("ItemName") AddHandler btn2.Click, AddressOf HandleChildDynamicButtonClick myPos += 1 Next Next End Sub Private Sub HandleChildDynamicButtonClick(ByVal sender As Object, ByVal e As EventArgs) ' يتنفذ هذا الحدث عند النقر على العنصر Dim btn As Button = DirectCast(sender, Button) Dim con As New OleDbConnection con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Application.StartupPath & "\db.mdb'" con.Open() Dim da As New OleDbDataAdapter("select * from Items where CatId=" & myCatId & " and ItemId=" & Microsoft.VisualBasic.Right(btn.Name, Microsoft.VisualBasic.Len(btn.Name) - 5), con) Dim ds As New DataSet da.Fill(ds, "Items") con.Close() Dim newitem As Boolean = True ' البحث عن العنصر اذا كان موجود يتم زيادة العدد و السعر اذا لم يكن موجود يتم اضافته For i = 0 To dtList.Rows.Count - 1 If myCatName = dtList.Rows(i).Item("Cat") And btn.Text = dtList.Rows(i).Item("Item") Then dtList.Rows(i).Item("Count") = dtList.Rows(i).Item("Count") + 1 dtList.Rows(i).Item("Total") = dtList.Rows(i).Item("cost") * dtList.Rows(i).Item("Count") newitem = False Exit For End If Next If newitem = True Then dtList.Rows.Add(myCatName, btn.Text, 1, ds.Tables("Items").Rows(0).Item("ItemCost"), ds.Tables("Items").Rows(0).Item("ItemCost")) End If FillGrid(dgvList, dtList) End Sub Private Sub btnNextClick(ByVal sender As Object, ByVal e As EventArgs) ' يقوم بجلب العناصر الجديده ال 25 Dim btn As Button = DirectCast(sender, Button) Dim killall As Boolean = True While (killall) killall = False For Each tmp As Control In Me.Controls If Microsoft.VisualBasic.Left(tmp.Name, 5) = "Items" Then Me.Controls.Remove(tmp) killall = True End If Next End While Dim con As New OleDbConnection con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Application.StartupPath & "\db.mdb'" con.Open() Dim da As New OleDbDataAdapter("select * from Items where CatId=" & myCatId, con) Dim ds As New DataSet da.Fill(ds, "Items") con.Close() For i = 1 To 5 For j = 1 To 5 If myPos + 1 > ds.Tables("Items").Rows.Count Then myPos = 0 : Exit Sub Dim btn2 As Button = New Button() btn2.Parent = Me btn2.Name = "Items" & ds.Tables("Items").Rows(myPos).Item("ItemId") btn2.Top = i * 70 btn2.Left = 100 + j * 100 btn2.Height = 50 btn2.Width = 100 btn2.Text = ds.Tables("Items").Rows(myPos).Item("ItemName") AddHandler btn2.Click, AddressOf HandleChildDynamicButtonClick myPos += 1 Next Next End Sub Private Sub FillGrid(ByRef myDataGrid As DataGridView, ByVal myTable As DataTable) ' ملئ الكرد من جدول myDataGrid.Rows.Clear() If myTable.Rows.Count < 1 Then Exit Sub Dim i As Integer Dim j As Integer Dim mystr(0 To myTable.Columns.Count - 1) As String For i = 0 To myTable.Rows.Count - 1 For j = 0 To myTable.Columns.Count - 1 If IsDBNull(myTable.Rows(i).Item(j)) Then mystr(j) = "" Else mystr(j) = myTable.Rows(i).Item(j) End If Next j myDataGrid.Rows.Add(mystr) Next End SubEnd Class
  7. مشكور الاستاذ محمد فؤاد تركي على و ضعه رابط الموضوع .. لقد عملت المثال الى الاستاذ ابو حمزة و لم اجد الوقت لاضيف الرابط.. ارجو ان تجده نافعا و تدعو لي بظهر الغيب 
  8. الملف WindowsApplication2.rar
  9. فورم نقطه بيع يصلح لشاشات اللمس يستمد بيانات الاصناف من جدول في الداتا بيس و يتحدث مع تحديث معلومات الجدول . عند اختيار الماده يتم اضافتها في كرد فيو و اذا اختارينا نفس المادة مره اخرى يقوم بزياده العدد واحد   برنامج روعه جاهز بين يديكم يرجى التحميل من المرفقات بشرط ان ترد على الموضوع و تدعو لي دعاء صادقا .
  10. السلام عليكم اخواني اني حاليا اطور برنامج مبيعات يحتوي اصناف و موظفين و عملاء و موردين و فواتير و سندات صرف و سندات دفع  لقد اكملت الجزء المتعلق بالاصناف و الموظفين و العملاء و الموردين و احتاج منكم طريقه عمل فواتير عندما يسحب العميل بضاعه يتم اضافتها على مديونيته , وعندما يسدد يرجع من مديونيته و كذلك الحال للموردين ادناه الشاشات التي صممتها  
  11. ست زهره لا اعرف ما السبب الذي يدعوكي الى تكرار سجل معين حيث هذا يتعارض مع  ما بنيت عليه قواعد البيانات العلائقيه و على العموم لحل مشكلتكي استخدمي عداد for i=1 to 3'your inset code'next
  12. اخي العزيز لقد اعطيتك طريقه تحل بها مشكلتك و انا متاكد انها تحلها 100% لكنك لم تقم بتطبيقها على العموم اذا اردت ان اتدخل برمجيا عليك ان ترسل مشروعك على اميلي: ammar . c     . 87 على بريد جي ميل 
  13. تعبئة الكومبوبوكس

    طبعا هذا هو عمل الكومبو اصلا تقوم بخزن القيمه الرقميه القادمة من ال help table 
  14. طلب مساعدة في برمجة فورم فاتورة البيع لمطعم

    الاخ العزيز ابو حمزة من اجل حل مشكلة الازرار تكدر تعمل واجهه بيها عدد من الازرار مثلا 30 زر تقوم عن طريق الكود بتغيير text الازرار  وتعمل زر "التالي" و زر "السابق" من اجل اضهار باقي الاصناف و عندما تكون الاصناف اقل من 30 تقوم باخفاء الازرار الزائدة اما عن كيفيه تغيير ال text يمكنك عمل اجراء ياخذ الاسماء من list  و  عندما تكون عدد عناصر ال list  اقل من 30 يقوم باخفاء المتبقي 
  15. خطأ في كود FileCopy

    استخدم برنامج setup factory