تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ممكن شرح جملة الاستعلام علي Quary معين في ACcessوعرضه عليDataveiwo والتعديل عليه
#1
السلام عليكم 
ممكن من حضرتكم شرح الاستعلام علي Quary معين داخل قاعدة الـــ DataBase Access واستدعاه داخل الفيجوال بيسك والتعديل عليه والاضافه والحدف علي Quary
متلا اني عملت قاعدة بيانات متكونه من عدة جدوال وعملت استعلام معين علي 3 جدوال في اكسس والحمد الله الامور كويسه الي حد الان 
بس واجهتني مشكلة علي عند التعديل او الاضافة عللي الاستعلام داخل DatGridViewo 
انه لا يمكن الحدف او الاضافة علي البيانات داخل ال DatagridVieow
سوف ادرج المشروع 
كود :
End Sub
   Function selectdata(cmdstr As String) As DataTable
       Dim cmd As New OleDbCommand(cmdstr, con)
       Dim da As New OleDbDataAdapter(cmd)
       Dim dt As New DataTable
       da.Fill(dt)
       da.Dispose()
       da = Nothing
       Return dt

   End Function

كود :
Public Sub GetData(cmdstr As String)
       'اضافة/تعديل/حدف
       Dim cmd As New OleDbCommand(cmdstr, con)
       If con.State = ConnectionState.Open Then con.Close()
       con.Open()
       cmd.ExecuteNonQuery()
       con.Close()

   End Sub
كود :
Sub _loaddata()
       Dim str As String = "SELECT *from Query2 "
       Dim dt As DataTable = d.selectdata(str)
       DGV1.DataSource = dt
   End Sub
PHP كود :
Dim da As New OleDbDataAdapter("select *from Query2"con)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
       DGV1.DataSource dt
        d
.custmoizeDGV(DGV1)
 
       _clearText()
 
       _cleartxt() 
PHP كود :
Sub _cleartxt()
 
       Dim str As String "select Max(Ac_ID) FROM Query2"
 
       TextID.Text d.codeno(str)
 
       TextNM.Text 0
        TextSp
.Text String.Empty
 
       TextName.Text String.Empty
 
       TextAccount.Text 0
        TextBank
.Text String.Empty
 
       TextSalary.Text 
PHP كود :
Sub _clearText()
 
       Dim str As String "SELECT max(Ac_ID) from Query2"
 
       TextBox1.Text d.codeno(str)

 
   End Sub 
PHP كود :
Private Sub BtnSave_Click(sender As ObjectAs EventArgsHandles BtnSave.Click
        Dim ndx 
As Integer
        If _save 
False Then
            
'Edit
            '
MessageBox.Show("ToDo")
 
           If String.IsNullOrWhiteSpace(TextNM.TextThen
                MessageBox
.Show("ادخل الرقم المالي ")
 
               TextNM.Text String.Empty
 
               TextNM.Select()
 
               Return
            End 
If
 
           If String.IsNullOrWhiteSpace(TextName.TextThen
                MessageBox
.Show("ادخل الاسم رباعي ")
 
               TextName.Text String.Empty
 
               TextName.Select()
 
               Return
            End 
If
 
           
            Dim id 
As Integer DGV1(0DGV1.SelectedRows(0).Index).Value.ToString
            Dim str2 
As String String.Format("update Query2 set Ac_NM={0},R_Sp='{1}',Ac_Name='{2}',
                                             Ac_Account={3},BName='{4}', Ac_Bs={5}  where Ac_ID={6}"
,
 
                                             TextNM.Text,
 
                                              TextSp.Text,
 
                                              TextName.Text,
 
                                              TextAccount.TextTextBank.TextTextSalary.Textid)

 
           'Dim da As New OleDbDataAdapter("select *from Query2", con)
            '
Dim dt As New DataTable
            
'da.Fill(dt)
            '
DGV1.DataSource dt
            d
.custmoizeDGV(DGV1)
 
           d.GetData(str2)
 
           MessageBox.Show("تم عمليةالتعديل بنجاح ")
 
           ndx DGV1.CurrentRow.Index

            _loaddata
()
 
           _cleartxt()
 
           cleardata()
 
           DGV1.Rows(ndx).Selected True

        Else
            _save 
True 'Add
            '
ادا كان صندوق الملاحظات فارغ اكتب القيمة لا يوجد
            If String
.IsNullOrWhiteSpace(TextNM.Text) Or
 
                   String.IsNullOrWhiteSpace(TextName.TextThen Return
 
           ndx DGV1.Rows.Count
            
'If String.IsNullOrWhiteSpace(TextNote.Text) Then TextNote.Text = "لا يوجد"

            Dim str As String = String.Format("insert into Query2(Ac_ID,Ac_NM,R_Sp,Ac_Name,
                                         Ac_Account,BName,Ac_Bs) values ({0},
                                         {1},'
{2}','{3}',{4}).'{5}',{6}",
                                    TextID.Text, TextNM.Text, TextSp.Text,
                                    TextName.Text, TextAccount.Text, TextBank.Text, TextSalary.Text)


            '
Dim da As New OleDbDataAdapter("select *from Query2"con)
 
           'Dim dt As New DataTable
            '
da.Fill(dt)
 
           'DGV1.DataSource = dt
            d.custmoizeDGV(DGV1)
            d.GetData(str)
            MessageBox.Show("تمت الاضافة بنجاح")
            DGV1.Rows(ndx).Selected = True
            DGV1.FirstDisplayedScrollingRowIndex = ndx
            _loaddata()
            _cleartxt()
            cleardata()




        End If
    End Sub 
الرد
تم الشكر بواسطة:



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


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