منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : حول الاستعلام المشروط VB.Net
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله ويبركاته

 ارجوا الافادة بي كيف عمل شرط في Text box متصل بقاعدة بيانات بالاتصال مباشر بحيث لايقوم بتكرار البيانات ولا ينسى اضافة البيانات

واكون شاكرة لكم
شكراً لك

لكن المثال التطبيقي لم يعمل لدي
انا اعمل على فيجوال بيسك 10
شاكر لك مساعدتك ولكن لم يضبط الكود لدي علماً اني اعمل على الفيجوال 10

هذا الفورم عندي يليت تشوف وين الغلط عندي

Imports System.Data.OleDb
Public Class Form6
Public con As New OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=" & Application.StartupPath & "\mydata.accdb ")

Private Sub Form6_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.CenterToScreen()
'Dim cmd As New OleDbCommand
'Dim dt As New DataTable
'cmd = New OleDbCommand("select * from tb4", con)
'con.Open()
'dt.Load(cmd.ExecuteReader)
'con.Close()
'DataGridView1.DataSource = dt
Dim dt1 As New DataTable
Dim da1 As New OleDbDataAdapter
da1 = New OleDbDataAdapter("select * from tb4 where Project ='" & TextBox8.Text & "'", con)
da1.Fill(dt1)
DataGridView1.DataSource = dt1

End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs)



End Sub

Private Sub Button1_Click_1(sender As System.Object, e As System.EventArgs)




End Sub

Private Sub DataGridView1_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

End Sub

Private Sub TextBox5_TextChanged(sender As System.Object, e As System.EventArgs)

End Sub

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

Dim cmd As New OleDbCommand
cmd = New OleDbCommand("Insert Into tb4([Project],[Project Name],[class],[n],[f],[r])values('" & TextBox8.Text & "','" & TextBox9.Text & "','" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "')", con)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
MsgBox("Saved successfully", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "Save")
Dim dt As New DataTable
cmd = New OleDbCommand("select * from dt3", con)
con.Open()
dt.Load(cmd.ExecuteReader)
con.Close()
DataGridView1.DataSource = dt
End Sub

Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
Me.Hide()
Form18.Show()

End Sub

Private Sub LinkLabel1_Click(sender As Object, e As System.EventArgs) Handles LinkLabel1.Click
If LinkLabel1.Text = "Show" Then
Me.Height = "692"
LinkLabel1.Text = "Hide"
Else
LinkLabel1.Text = "Show"
Me.Height = "463"
End If

End Sub

Private Sub LinkLabel1_LinkClicked(sender As System.Object, e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

End Sub

Private Sub Button1_Click_2(sender As System.Object, e As System.EventArgs) Handles Button1.Click
If MsgBox("هل تريد إضافة بيانات جديدة ", vbYesNo + vbQuestion, "إضافة جديدة") = MsgBoxResult.Yes Then
TextBox1.Text = ""
TextBox1.Enabled = True
TextBox2.Text = ""
TextBox4.Text = ""
TextBox3.Text = ""
End If
'ButEdit.Enabled = False
'txtName.Focus()
End Sub

Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click

End Sub

Private Sub TextBox8_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox8.TextChanged
Dim dt1 As New DataTable
Dim da1 As New OleDbDataAdapter
da1 = New OleDbDataAdapter("select * from tb4 where Project ='" & TextBox8.Text & "'", con)
da1.Fill(dt1)
DataGridView1.DataSource = dt1

End Sub

Private Sub TextBox6_TextChanged(sender As System.Object, e As System.EventArgs)

End Sub

Private Sub Button5_Click(sender As System.Object, e As System.EventArgs)
Dim dt1 As New DataTable
Dim da2 As New OleDbDataAdapter
da2 = New OleDbDataAdapter("select * from tb4 where Project ='" & TextBox8.Text & "'", con)
da2.Fill(dt1)
DataGridView1.DataSource = dt1

End Sub

Private Sub TextBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Enter Then
TextBox2.Focus()


End If
End Sub

Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged

End Sub

Private Sub TextBox2_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox2.KeyDown
If e.KeyCode = Keys.Enter Then
TextBox3.Focus()


End If
End Sub

Private Sub TextBox2_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox2.TextChanged

End Sub

Private Sub TextBox3_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox3.KeyDown
If e.KeyCode = Keys.Enter Then
TextBox4.Focus()


End If
End Sub

Private Sub TextBox3_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox3.TextChanged

End Sub

Private Sub TextBox4_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox4.KeyDown
If e.KeyCode = Keys.Enter Then



End If
End Sub

Private Sub TextBox4_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox4.TextChanged

End Sub

Private Sub TextBox9_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox9.KeyDown
If e.KeyCode = Keys.Enter Then
TextBox1.Focus()


End If
End Sub

Private Sub TextBox9_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox9.TextChanged

End Sub

Private Sub TextBox4_Validated(sender As Object, e As System.EventArgs) Handles TextBox4.Validated

End Sub
End Class
شكراً اخي منصور

اريد عمل شرط في Text box متصل بقاعدة بيانات بالاتصال مباشر بحيث لايقوم بتكرار البيانات في 1 Text box ولا ينسى اضافة البيانات
PHP كود :
Imports System.Data.OleDb

Public Class Form6

    
Public con As New OleDbConnection("Provider=Microsoft.ACE.OleDb.12.0;Data Source=" Application.StartupPath "\mydata.accdb ")

    Private 
Sub Form6_Load(sender As System.ObjectAs System.EventArgsHandles MyBase.Load
        Me
.CenterToScreen()
        
FillDataGridView(TextBox8.Text)

    
End Sub

    
Private Sub Button2_Click(sender As System.ObjectAs System.EventArgsHandles Button2.Click

        Dim sqlSELECT 
As String "SELECT COUNT(*) FROM [tb4] WHERE [Project]=@prj"

        
Dim sqlINSERT As String "INSERT INTO [tb4] ([Project], [Project Name], [class], [n], [f], [r]) VALUES (@prj, @prjName, @class, @n, @f, @r )"

        
Using cmd As New OleDbCommand(sqlSELECTcon)
            
cmd.Parameters.AddWithValue("@prj"TextBox8.Text)
            If 
con.State <> ConnectionState.Open Then con.Open()

            If 
cmd.ExecuteScalar 0 Then
                MsgBox
("Exist")
                Return

            Else
                
cmd.CommandText sqlINSERT
                cmd
.Parameters.AddWithValue("@prjName"TextBox9.Text)
                
cmd.Parameters.AddWithValue("@class"TextBox1.Text)
                
cmd.Parameters.AddWithValue("@n"TextBox2.Text)
                
cmd.Parameters.AddWithValue("@f"TextBox3.Text)
                
cmd.Parameters.AddWithValue("@r"TextBox4.Text)


                
Dim ret As Integer cmd.ExecuteNonQuery()
                
con.Close()

                If 
ret 0 Then

                    MsgBox
("Saved successfully"MsgBoxStyle.Information MsgBoxStyle.MsgBoxRight"Save")

                    
FillDataGridView()

                Else
                    
MsgBox("Saving failed"MsgBoxStyle.Exclamation MsgBoxStyle.MsgBoxRight"Save")

                
End If

            
End If

        
End Using
    End Sub

    
Private Sub Button3_Click(sender As System.ObjectAs System.EventArgsHandles Button3.Click
        Me
.Hide()
        
Form18.Show()
    
End Sub

    
Private Sub LinkLabel1_Click(sender As ObjectAs System.EventArgsHandles LinkLabel1.Click
        
If LinkLabel1.Text "Show" Then
            Me
.Height "692"
            
LinkLabel1.Text "Hide"
        
Else
            
LinkLabel1.Text "Show"
            
Me.Height "463"
        
End If
    
End Sub

    
Private Sub Button1_Click_2(sender As System.ObjectAs System.EventArgsHandles Button1.Click
        
If MsgBox("هل تريد إضافة بيانات جديدة "vbYesNo vbQuestion"إضافة جديدة") = MsgBoxResult.Yes Then
            TextBox1
.Text ""
            
TextBox1.Enabled True
            TextBox2
.Text ""
            
TextBox4.Text ""
            
TextBox3.Text ""
        
End If
    
End Sub

    
Private Sub TextBox8_TextChanged(sender As System.ObjectAs System.EventArgsHandles TextBox8.TextChanged
        FillDataGridView
(TextBox8.Text)
    
End Sub

    
Private Sub Button5_Click(sender As System.ObjectAs System.EventArgsHandles Button5.Click
        FillDataGridView
(TextBox8.Text)
    
End Sub

    
Private Sub FillDataGridView(Optional prj As String "")
        
Dim sql As String "SELECT * FROM [tb4] " IIf(prj.Trim """"" WHERE [Project]=@prj")

        
Using da As New OleDbDataAdapter(sqlcon)
            If 
prj.Trim <> "" Then da.SelectCommand.Parameters.AddWithValue("@prj"prj)

            
Dim dt As New DataTable
            da
.Fill(dt)
            
DataGridView1.DataSource dt
        End Using
    End Sub


End 
Class 
ممتنا للجهودك اخي الكريم

واعتذر لاني لم ابين الفكرة كاملة من البداية

يوجد لدي عدة مشاريع ولكل مشروع اسم ورقم اريد المواد تتكرر في كل المشاريع ولكن لا تتكر ر في نفس المشروع اتمنى اني استطعت ان ابين الفكرة الان
ضع مشروعك مع شرح ما تريد
شكراً تعبتك معاي بس انا ماكنت اعرف شرط اني احمل البرنامج بس نسخت اكواد الفورم كامل 

https://up.harajgulf.com/downloadf-14947...1-rar.html
اريد المواد التي تدخل في خانة الكلاس لا تتكرار في المشروع اكثر من مرة ويظهر مسج عند تكرار المواد و تتكرار في باقي المشاريع وعندما تكون الخانه فارغة يظهر مسج بذلك

ولكم جزيل الشكر