على الرغم من اني امتلك نسخه Smart Eset حديثه ومحدثه ولكن لا ادري من اين ياتي هذا الفايروس
وعلى العموم
بالنسبه للسؤال
لدي واجهتين والواجه الاولى للاضافه وهي كما في الشكل التالي
[ATTACH=CONFIG]3745[/ATTACH]
وهي تعمل معي والكود الخاص بها
كود :
Imports System.Data.OleDb
Imports System.IO
Public Class FORM1
Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source=" & Application.StartupPath & "\MR.mdb;")
Dim DS As New DataSet
Dim OP As New OpenFileDialog
Dim BB As Byte()
Private Sub FORM1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds As New DataSet
Dim da As New OleDb.OleDbDataAdapter("select * from country", Cost)
da.Fill(ds, "country")
ComboBox1.DataSource = ds.Tables("country")
ComboBox1.ValueMember = "country_name"
Dim dss As New DataSet
Dim daa As New OleDb.OleDbDataAdapter("select * from city", Cost)
daa.Fill(dss, "city")
ComboBox2.DataSource = dss.Tables("city")
ComboBox2.ValueMember = "city_name"
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim ds As New DataSet
Dim da As New OleDb.OleDbDataAdapter("select * from country,city where city.country_id=country.tid and country_name='" & ComboBox1.Text & "'", Cost)
da.Fill(ds, "country")
ComboBox2.DataSource = ds.Tables("country")
ComboBox2.ValueMember = "city_name"
End Sub
Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
Dim dss As New DataSet
Dim daa As New OleDb.OleDbDataAdapter("select * from city,Cost where cost.Mall_id=city.tid and city_name='" & ComboBox2.Text & "'", Cost)
daa.Fill(dss, "city")
ComboBox3.DataSource = dss.Tables("city")
ComboBox3.ValueMember = "Cost_Center"
End Sub
Private Sub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged, TextBox13.TextChanged, TextBox18.TextChanged, TextBox29.TextChanged, TextBox24.TextChanged, TextBox19.TextChanged, TextBox44.TextChanged, TextBox39.TextChanged, TextBox34.TextChanged, TextBox59.TextChanged, TextBox54.TextChanged, TextBox49.TextChanged
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
' To add the Head Data
Dim SavCom As New OleDbCommand
With SavCom
.Connection = Cn
.CommandType = CommandType.Text
.CommandText = "insert into HeadInv_Tbl (Region,Mall_Name,MRNo,MRDate,Send_To_HO,Cost_Center,JTNo,Description_JT,Grand_Total,Notes_MR) values(?, ?, ?, ?,?, ?, ?, ?, ?, ?)"
.Parameters.Clear()
.Parameters.AddWithValue("@Region", OleDbType.VarChar).Value = ComboBox1.Text.Trim
.Parameters.AddWithValue("@Mall_Name", OleDbType.VarChar).Value = ComboBox2.Text.Trim
.Parameters.AddWithValue("@MRNo", OleDbType.VarChar).Value = TextBox1.Text.Trim
.Parameters.AddWithValue("@MRDate", OleDbType.Date).Value = DateTimePicker1.Value.Date
.Parameters.AddWithValue("@Send_To_HO", OleDbType.Date).Value = DateTimePicker2.Value.Date
.Parameters.AddWithValue("@Cost_Center", OleDbType.VarChar).Value = ComboBox3.Text.Trim
.Parameters.AddWithValue("@JTNo", OleDbType.VarChar).Value = TextBox2.Text.Trim
.Parameters.AddWithValue("@Description_JT", OleDbType.VarChar).Value = TextBox3.Text.Trim
.Parameters.AddWithValue("@Grand_Total", OleDbType.VarChar).Value = TextBox65.Text.Trim
.Parameters.AddWithValue("@Notes_MR", OleDbType.VarChar).Value = TextBox64.Text.Trim
End With
Cn.Open()
SavCom.ExecuteNonQuery()
Cn.Close()
' To get the added last record ID
Dim getID As Integer
DS.Clear()
Dim DP As New OleDbDataAdapter("SELECT Max(ID) FROM HeadInv_Tbl", Cn)
DP.Fill(DS, "HeadInv_Tbl")
getID = DS.Tables("HeadInv_Tbl").Rows(0).Item(0)
' To add the Details Data
'================================
Dim SavCom1 As New OleDbCommand
With SavCom1
.Connection = Cn
.CommandType = CommandType.Text
.CommandText = "insert into InvDetail_Tbl (HeadInvNo, Costt, DescriFw, Quantity, Unitt, Price_Unit) values(?, ?, ?, ?, ?, ?)"
.Parameters.Clear()
.Parameters.AddWithValue("@HeadInvNo", OleDbType.VarChar).Value = getID
.Parameters.AddWithValue("@Costt", OleDbType.VarChar).Value = TextBox4.Text.Trim
.Parameters.AddWithValue("@DescriFw", OleDbType.VarChar).Value = TextBox5.Text.Trim
.Parameters.AddWithValue("@Quantity", OleDbType.VarChar).Value = TextBox6.Text.Trim
.Parameters.AddWithValue("@Unitt", OleDbType.VarChar).Value = TextBox7.Text.Trim
.Parameters.AddWithValue("@Price_Unit", OleDbType.VarChar).Value = TextBox8.Text.Trim
End With
Cn.Open()
SavCom1.ExecuteNonQuery()
Cn.Close()
Dim SavCom2 As New OleDbCommand
With SavCom2
.Connection = Cn
.CommandType = CommandType.Text
.CommandText = "insert into InvDetail_Tbl (HeadInvNo, Costt, DescriFw, Quantity, Unitt, Price_Unit) values(?, ?, ?, ?, ?, ?)"
.Parameters.Clear()
.Parameters.AddWithValue("@HeadInvNo", OleDbType.VarChar).Value = getID
.Parameters.AddWithValue("@Costt", OleDbType.VarChar).Value = TextBox9.Text.Trim
.Parameters.AddWithValue("@DescriFw", OleDbType.VarChar).Value = TextBox10.Text.Trim
.Parameters.AddWithValue("@Quantity", OleDbType.VarChar).Value = TextBox11.Text.Trim
.Parameters.AddWithValue("@Unitt", OleDbType.VarChar).Value = TextBox12.Text.Trim
.Parameters.AddWithValue("@Price_Unit", OleDbType.VarChar).Value = TextBox13.Text.Trim
End With
Cn.Open()
SavCom2.ExecuteNonQuery()
Cn.Close()
Dim SavCom3 As New OleDbCommand
With SavCom3
.Connection = Cn
.CommandType = CommandType.Text
select * from city,country where city.country_id=country.tid and where mallname=srchtext.text
2- البحث العاام
استبدل = بـ Like
اخي الكريم سجاد
بصراحه لم افهم عليك ماذا تقصد
لاني الكود لدي مثل هذا الشكل
كود :
Imports System.Data
Imports System.Data.OleDb
Public Class Form2
Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source =" & Application.StartupPath & "\MR.mdb"
Dim Conn As New OleDbConnection(ConStr)
Dim DataSet1 As New DataSet
Dim SQLstr As String
Dim m As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Static m As Integer = 0
If TextBox1.Text = Trim("") Then Exit Sub
If RadioButton4.Checked = True Then
ExactSearch()
ElseIf RadioButton5.Checked = True Then
GeneralSearch()
End If
Conn.Open()
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
DataAdapter1.Fill(DataSet1, "TheTable")
Conn.Close()
TextBox7.DataBindings.Add("Text", DataSet1, "TheTable.Mall")
TextBox2.DataBindings.Add("Text", DataSet1, "TheTable.Code")
TextBox55.DataBindings.Add("Text", DataSet1, "TheTable.Repair_Cost")
TextBox5.DataBindings.Add("Text", DataSet1, "TheTable.MR_D")
TextBox3.DataBindings.Add("Text", DataSet1, "TheTable.Description_repairs")
TextBox6.DataBindings.Add("Text", DataSet1, "TheTable.Expiry_date_repairs")
DataGridView1.DataSource = DataSet1
DataGridView1.DataMember = "TheTable"
Button1.Enabled = False
If Me.BindingContext(DataSet1, "TheTable").Count = 0 Then
MsgBox("No Result, Please Try Again ")
Exit Sub
End If
Button2.Enabled = True
Button3.Enabled = True
End Sub
Public Sub ExactSearch()
If RadioButton1.Checked = True Then
SQLstr = "SELECT * FROM TheTable WHERE Code = '" & TextBox1.Text & "'"
ElseIf RadioButton2.Checked = True Then
SQLstr = "SELECT * FROM TheTable WHERE Mall = '" & TextBox1.Text & "'"
End If
End Sub
Public Sub GeneralSearch()
If RadioButton1.Checked = True Then
SQLstr = "SELECT * FROM TheTable WHERE Code LIKE '%" & TextBox1.Text & "%'"
ElseIf RadioButton2.Checked = True Then
SQLstr = "SELECT * FROM TheTable WHERE Mall LIKE '%" & TextBox1.Text & "%'"
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
FORM1.Show()
Me.Close()
End Sub
End Class
المشكله في اسماء الجداول
الجدول الاول اسمه الرئيسي HeadInv_Tbl
الجدول الثاني اسمه InvDetail_Tbl
طبعا قاعده الييانات اسمها MR
الان بالنسبه للكود الذي وضعته
على ما اعتقد يتم وضعه هكذا
للبحث الخاص
كود :
Public Sub ExactSearch()
If RadioButton1.Checked = True Then
SQLstr = "SELECT * FROM InvDetail_Tbl,HeadInv_Tbl WHERE InvDetail_Tbl.HeadInvNo=HeadInv_Tbl.ID and where Mall_Name=textbox1.text"
ElseIf RadioButton2.Checked = True Then
SQLstr = "SELECT * FROM InvDetail_Tbl,HeadInv_Tbl WHERE InvDetail_Tbl.HeadInvNo=HeadInv_Tbl.ID and where MRNo=textbox1.text"
End If
End Sub
للبحث العام
كود :
Public Sub GeneralSearch()
If RadioButton1.Checked = True Then
SQLstr = "SELECT * FROM InvDetail_Tbl,HeadInv_Tbl WHERE InvDetail_Tbl.HeadInvNo Like HeadInv_Tbl.ID and where Mall_Name Like '%" & TextBox1.Text & "%'"
ElseIf RadioButton2.Checked = True Then
SQLstr = "SELECT * FROM InvDetail_Tbl,HeadInv_Tbl WHERE InvDetail_Tbl.HeadInvNo Like HeadInv_Tbl.ID and where MRNo Like '%" & TextBox1.Text & "%'"
End If
End Sub
يبقى الجزء هذا
قمت ببعض التعديلات ولكن لا ادري هل هي صحيحيه ام لا
ولكن بالنسبه ل "TheTable"
لم اعرف كيف اغيرها هل اضعها اسم الجدول الاول او الجدول الثاني وهل يلزم ان اضع الجدولين مع بعض
شاهد الكود
كود :
Static m As Integer = 0
If TextBox1.Text = Trim("") Then Exit Sub
If RadioButton4.Checked = True Then
ExactSearch()
ElseIf RadioButton5.Checked = True Then
GeneralSearch()
End If
Conn.Open()
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
DataAdapter1.Fill(DataSet1, "HeadInv_Tbl")
DataAdapter1.Fill(DataSet1, "InvDetail_Tbl")
Conn.Close()
TextBox7.DataBindings.Add("Text", DataSet1, "TheTable.Mall")
TextBox2.DataBindings.Add("Text", DataSet1, "TheTable.Code")
TextBox55.DataBindings.Add("Text", DataSet1, "TheTable.Repair_Cost")
TextBox5.DataBindings.Add("Text", DataSet1, "TheTable.MR_D")
TextBox3.DataBindings.Add("Text", DataSet1, "TheTable.Description_repairs")
TextBox6.DataBindings.Add("Text", DataSet1, "TheTable.Expiry_date_repairs")
DataGridView1.DataSource = DataSet1
DataGridView1.DataMember = "HeadInv_Tbl"
DataGridView1.DataMember = "InvDetail_Tbl"
Button1.Enabled = False
If Me.BindingContext(DataSet1, "HeadInv_Tbl").Count = 0 Then
MsgBox("No Result, Please Try Again ")
Exit Sub
End If
Button2.Enabled = True
Button3.Enabled = True
End Sub