تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ممكن مساعدة بخصوص كويري معين حدتت به اخطاء
#1
السلام عليكم 
ممكن مساعدة بخصوص المشكلة التي حددت بالــــ DGV
تفاصيل المشكلة 

انا عملت فورم فاتورة المشتريات
وهدا صورة الفورم


الفورم شغال تمام من ناحية التعديل والحدف واضافة صنف والداتا تتغير حسب المدخلات 
المشكلة التي تواجهني  عند اضافة فاتورة جديدة ومسح الداتا الحالية من DGV حسب التسلسل الي هو موضح بالصورة رقم 8 فتكون الفاتورة الحديدة 9
من خلال الـــ Query بين الجدولين Items و Operations عملت علاقة بينهم 
حسب الكود التالي 
كود :
SELECT OperID,.BuyID, OperItem, Items.ItemPrice, Items.ItemQty, Items.ItemPlace, Operations.BuyQty, Operations.BuyTotalG, Operations.BuyDiscound, Operations.BuyUnitPrice, Operations.BuyTotalB, Operations.BuyEarn, Operations.BuyNotes, Operations.OperDate, Operations.OperTime, Operations.OperUser
FROM Items INNER JOIN Operations ON Items.ItemName = Operations.OperItem;

والـــ Sub الخاص بتحميل الــ Query اسمه Load_BuyQ()
وهد الكود الخاص به
كود :
Public Sub Load_BuyQ()

       Try
           '==== load BuyPill Query=====
           Dim dt As New DataTable
           Dim Da As New OleDbDataAdapter
           dt.Clear()
           Da = New OleDbDataAdapter("SELECT Operations.OperID, Operations.BuyID, Operations.OperItem,Operations.OperItemExp,
Items.ItemPrice, Items.ItemQty, Items.ItemPlace, Operations.BuyQty, Operations.BuyTotalG, Operations.BuyDiscound,
Operations.BuyUnitPrice, Operations.BuyTotalB, Operations.BuyEarn, Operations.BuyNotes, Operations.OperDate,
Operations.OperTime, Operations.OperUser
(FROM Items INNER JOIN Operations on   Items.ItemName = Operations.OperItem   ", con
           Da.Fill(dt)
           DGV.DataSource = dt
       Catch ex As Exception

       End Try

   End Sub
فعند اضافة شرط معين الي Query لانشاء فاتورة جديدة بعد Items.ItemName=Operations.OperItem

كود :
and Operations.BuyID= " & BuyID.Text & "

عند تشغبل البرنامج تظهر الــDGV كالاتي





وهدي الصورة بعد الغاء الشرط



وهدا الكود الخاص بفورم ByuPill
كود :
Imports System.Data.OleDb

Public Class BuyPill
   Public Sub Load_BuyQ()

       Try
           '==== load BuyPill Query=====
           Dim dt As New DataTable
           Dim Da As New OleDbDataAdapter
           dt.Clear()
           Da = New OleDbDataAdapter("SELECT Operations.OperID, Operations.BuyID, Operations.OperItem,Operations.OperItemExp,
Items.ItemPrice, Items.ItemQty, Items.ItemPlace, Operations.BuyQty, Operations.BuyTotalG, Operations.BuyDiscound,
Operations.BuyUnitPrice, Operations.BuyTotalB, Operations.BuyEarn, Operations.BuyNotes, Operations.OperDate,
Operations.OperTime, Operations.OperUser
FROM Items INNER JOIN Operations on   Items.ItemName = Operations.OperItem and Operations.BuyID= " & BuyID.Text & "  ", con)
           Da.Fill(dt)
           DGV.DataSource = dt
       Catch ex As Exception

       End Try

   End Sub
   Public Sub NewPill()
       Max_BuyPill()
       ClearControls()
       'DataGridViewHeaderText(DGV)

   End Sub

   Private Sub BuyImporter_TextChanged(sender As Object, e As EventArgs) Handles BuyImporter.TextChanged
       If BuyImporter.Text <> Nothing Then
           GroupBox1.Visible = True
       Else
           GroupBox1.Visible = False

       End If
   End Sub

   Private Sub BuyPill_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       'BuyUser.Text = MainPage.Label2.Text
       Load_BuyPill()
       '==================

       GroupBox1.Visible = False
       BuyID.Text = Max_BuyPill() + 1
       'DataGridViewHeaderText(DGV)
       NewPill()
       Load_BuyQ()

       '===========coloring the entered value  ====================
       Try
           DGV.Columns(2).DefaultCellStyle.BackColor = Color.Yellow
           DGV.Columns(3).DefaultCellStyle.BackColor = Color.Yellow
           DGV.Columns(7).DefaultCellStyle.BackColor = Color.Yellow
           DGV.Columns(9).DefaultCellStyle.BackColor = Color.Yellow
           DGV.Columns(13).DefaultCellStyle.BackColor = Color.Yellow
       Catch ex As Exception

       End Try
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Importer_Search.ShowDialog()


   End Sub
   Public Sub ClearControls()
       Me.BuyID.Text = Max_BuyPill() + 1
       Me.BuyDate.Value = Today
       Me.BuyTime.Value = Today
       Me.BuyInvoiceNo.Text = 0
       Me.BuyImporter.Text = vbNullString
       Me.BuyCash.Checked = True
       Me.BuyPostpone.Checked = False
       Me.BuyUser.Text = vbNullString
       Me.BuyTotalG.Text = 0
       Me.BuyTotalB.Text = 0
       Me.BuyItemCount.Text = 0
       Me.BuyEran.Text = 0
       Me.BuyEranPercent.Text = 0
       Me.BuyAdd.Text = 0
       Me.BuyMinus.Text = 0
   End Sub

   Private Sub BtnNew_Click(sender As Object, e As EventArgs) Handles BtnNew.Click
       NewPill()
       Load_BuyQ()


   End Sub
   Public Sub save_BuyPill()
       BuyPillDT.Rows.Add()
       Dim last As Integer = BuyPillDT.Rows.Count - 1
       BuyPillDT.Rows(last).Item("BuyID") = BuyID.Text
       BuyPillDT.Rows(last).Item("BuyDate") = BuyDate.Value
       BuyPillDT.Rows(last).Item("BuyTime") = BuyTime.Value
       BuyPillDT.Rows(last).Item("BuyInvoiceNo") = BuyInvoiceNo.Text
       BuyPillDT.Rows(last).Item("BuyImporter") = BuyImporter.Text
       BuyPillDT.Rows(last).Item("BuyCash") = BuyCash.Checked
       BuyPillDT.Rows(last).Item("BuyPostpone") = BuyPostpone.Checked
       BuyPillDT.Rows(last).Item("BuyUser") = BuyUser.Text
       BuyPillDT.Rows(last).Item("BuyTotalG") = BuyTotalG.Text
       BuyPillDT.Rows(last).Item("BuyTotalB") = BuyTotalB.Text
       BuyPillDT.Rows(last).Item("BuyItemCount") = BuyItemCount.Text
       BuyPillDT.Rows(last).Item("BuyEran") = BuyEran.Text
       BuyPillDT.Rows(last).Item("BuyEranPercent") = BuyEranPercent.Text
       BuyPillDT.Rows(last).Item("BuyAdd") = BuyAdd.Text
       BuyPillDT.Rows(last).Item("BuyMinus") = BuyMinus.Text
       Dim save As New OleDbCommandBuilder(BuyPillDA)
       BuyPillDA.Update(BuyPillDT)
       BuyPillDT.AcceptChanges()


   End Sub

   Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click
       save_BuyPill()
       MsgBox("تم حفظ البيانات بنجاح", MsgBoxStyle.Information, "حفظ")
       Load_BuyPill()

       NewPill()
       Load_BuyQ()

   End Sub
   'Public Sub DataGridViewHeaderText(ByVal DGV As DataGridView)
   '    If DGV.RowCount > 0 Then
   '        With DGV
   '            .Columns("BuyID").HeaderText = "تسلسل"
   '            .Columns("BuyID").Width = 50
   '            .Columns("BuyDate").HeaderText = "التاريخ"
   '            .Columns("BuyDate").Width = 100
   '            .Columns("BuyTime").HeaderText = "الوقت"
   '            .Columns("BuyTime").Width = 100
   '            .Columns("BuyInvoiceNo").HeaderText = "رقم الفاتورة"
   '            .Columns("BuyInvoiceNo").Width = 100
   '            .Columns("BuyImporter").HeaderText = "المورد"
   '            .Columns("BuyImporter").Width = 100
   '            .Columns("BuyCash").HeaderText = "كاش"
   '            .Columns("BuyCash").Width = 50
   '            .Columns("BuyPostpone").HeaderText = "أجل"
   '            .Columns("BuyPostpone").Width = 50
   '            .Columns("BuyUser").HeaderText = "المستخدم"
   '            .Columns("BuyUser").Width = 150
   '            .Columns("BuyTotalG").HeaderText = "اجمالي الجمهور"
   '            .Columns("BuyTotalG").Width = 120
   '            .Columns("BuyTotalB").HeaderText = "اجمالي الشراء"
   '            .Columns("BuyTotalB").Width = 120
   '            .Columns("BuyItemCount").HeaderText = "عدد الاصناف"
   '            .Columns("BuyItemCount").Width = 100
   '            .Columns("BuyEran").HeaderText = "الربح المتوقع"
   '            .Columns("BuyEran").Width = 100
   '            .Columns("BuyEranPercent").HeaderText = "نسبة الربح"
   '            .Columns("BuyEranPercent").Width = 100
   '            .Columns("BuyAdd").HeaderText = "اضافة المصروفات"
   '            .Columns("BuyAdd").Width = 120
   '            .Columns("BuyMinus").HeaderText = "الخصم"
   '            .Columns("BuyMinus").Width = 100
   '        End With
   '    End If
   'End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

       Item_Serach.Show()
   End Sub

   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       Dim dt As New DataTable
       Dim cmd As New OleDbCommand
           dt.Clear()
           cmd = New OleDbCommand(" Delete from Operations  where OperID =" & DGV(0, DGV.CurrentRow.Index).Value & "", con)
           con.Open()
           cmd.ExecuteNonQuery()
           con.Close()
           Load_BuyQ()



   End Sub


   Private Sub DGV_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DGV.CellEndEdit
       Dim Qty As Double
       Dim Discu As Double
       Dim Notee As String
       Dim expireed As Date
       Dim OpID As Integer
       Qty = DGV(7, DGV.CurrentRow.Index).Value
       Discu = DGV(9, DGV.CurrentRow.Index).Value
       Notee = DGV(13, DGV.CurrentRow.Index).Value
       expireed = DGV(3, DGV.CurrentRow.Index).Value
       OpID = DGV(0, DGV.CurrentRow.Index).Value
       Dim dt As New DataTable
       Dim cmd As New OleDbCommand
       dt.Clear()
       cmd = New OleDbCommand("Update  Operations set BuyQty=" & Qty & ",BuyDiscound=" & Discu & ",BuyNotes='" & Notee & "',OperItemExp=#" & expireed & "#  where OperID = " & OpID & "", con)
       con.Open()
       cmd.ExecuteNonQuery()
       con.Close()
       Load_BuyQ()

   End Sub

   Private Sub BuyUser_TextChanged(sender As Object, e As EventArgs) Handles BuyUser.TextChanged
       'BuyUser.Text = MainPage.Label2.Text

   End Sub
End Class
الرد
تم الشكر بواسطة:
#2
لو سمحت وضح سؤال
مثلا انت قلت في سؤال العبارة التالية

------فعند اضافة شرط معين الي Query لانشاء فاتورة جديدة بعد Items.ItemName=Operations.OperItem----
 ما هو الشرط الذي يسبب المشكلة في الكود
سورس كود برنامج محاسبة ومبيعات احترافي ومتكامل- قم بالاطلاع على البرنامج 
 مجاناااااا
واتساب 00963951283515
الرد
تم الشكر بواسطة: عبد العزيز البسكري
#3
اولا مشكور اخي الفاضل علي الرد
اللي بقصده يا اخي في كود sub Load_BuyQr
وفي جملة Select عند اضافة الشرط
Operations.BuyID= " & BuyID.Text & "
فعندما يتم تحمل الفورم لا تظهر بيانات الداتا قرد فيو كما في الصورة الموضحة اعلاه
وعند الغاء الكود تظهر بيانات الداتا قرد فيو
الرد
تم الشكر بواسطة: ابو انس
#4
نعم الان فهمت عليك
السبب هو BuyID.Text فارغ
عند تشيل الفورم اي فورم فان اول حدث يتم تنفيذه هو حدث LOAD
ما قمت به انت انك ادخلت كود جلب بيانات مشروط بقيمة موجودة في BuyID.Text وهو فارغ
يجب قبل كتابة الكود ان تحمل بيانات مناسبة للشرط في BuyID.Text
طبعا انا ما بعرف وظيفة BuyID.Text ولكن لنفترض انها تحتوي على رقم الفاتورة مثلا
فيجب في حدث LOAD اول شي تعبئة BuyID.Text برقم الفاتورة
سورس كود برنامج محاسبة ومبيعات احترافي ومتكامل- قم بالاطلاع على البرنامج 
 مجاناااااا
واتساب 00963951283515
الرد
تم الشكر بواسطة:
#5
مشكور وبارك الله فيك شوف الصورة تحت بعد الغاء الشرط داخل جمله Select الخاص بالـــ Query BuyPill تظهر DGV وبداخلها البيانات BuyID.text = 8
وعند ارجاع الشرط تظهر الـــ DGV بدون بيانات


الرد
تم الشكر بواسطة:
#6
هل جربت ماقلته لك
في حدث sub Load_BuyQr اكتب قبل كل شي السطر البرمجي التالي
"BuyID.Text="3
طبعا هذا مثال لتضح الصورة
الفكرة انه لديك خطأ في تسلسل الاكواد

اما اذا كنت تقصد انها فارغة من الاسطر فهذا موضوع ثاني
طبعا للعلم داتا جريد فيو الوضع الطبيعي لها ان تكون فارغة
عند فتح الفورم نضع في حدث load الكود التالي لاضافة اسطر

كود :
 For I As Integer = 0 To 99
           DGV.Rows.Add

       Next

هذا كود بيضيف 100 سطر
سورس كود برنامج محاسبة ومبيعات احترافي ومتكامل- قم بالاطلاع على البرنامج 
 مجاناااااا
واتساب 00963951283515
الرد
تم الشكر بواسطة:
#7
طيب ممكن اتواصل معاك وابعتلك مشروع واتشوف الخطاء فين
الرد
تم الشكر بواسطة:
#8
تفضل اخي اهلا وسهلا
00963951283515    واتساب
سورس كود برنامج محاسبة ومبيعات احترافي ومتكامل- قم بالاطلاع على البرنامج 
 مجاناااااا
واتساب 00963951283515
الرد
تم الشكر بواسطة: عبد العزيز البسكري


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة في views sql cordava 3 83 منذ 1 ساعه مضت
آخر رد: fish
  [VB.NET] السلام عليكم عندي استفسار بخصوص الكلاسات AhmedRamadan 3 162 منذ 3 ساعة مضت
آخر رد: العطر الرايق
  استفسار بخصوص فيجوال ستوديو 2013 AhmedRamadan 3 89 , 09:02 PM
آخر رد: العطر الرايق
  [VB.NET] استفسار بخصوص التقارير في .net Core 5 mrfenix93 1 57 , 08:17 PM
آخر رد: asemshahen5
  محتاج مساعدة ضرورية معاذ السامرائي 1 135 , 10:59 AM
آخر رد: العطر الرايق
  استفسار بخصوص اختصار اسم الصنف في شاشة المبيعات ahmedbezia 4 103 , 02:53 AM
آخر رد: ahmedbezia
  مساعدة في اعادة ايقونة تشغيل المشروع exe العطر الرايق 2 88 16-09-21, 02:50 AM
آخر رد: العطر الرايق
Exclamation استفسار بخصوص مشروع عمل ختمة قرآنية بتوزيع الصفحات (لأصحاب الصدقات الجارية) elsayedhasan 10 559 11-09-21, 07:01 PM
آخر رد: dalas
  مساعدة في إظهار القيم من جداول مرتبطة nssj 1 149 11-09-21, 12:07 PM
آخر رد: nssj
  مساعدة في تحكم في Textbox cordava 2 155 10-09-21, 11:19 PM
آخر رد: ابراهيم ايبو

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم