Я работаю над Visual Basic Express 2010 и Microsoft Access. Я сделал базу данных и отношения с Access, подключил их к VB просто отлично. Моя проблема в том, что у меня есть таблица с именем Address_Table, она содержит только одно поле с именем Address_Name. Таблица Address_Table связана с таблицей The_Student с полем Student_Address с параметром «Принудительно ссылочная целостность».
Я не могу загрузить изображения, мне очень жаль, я действительно пытался.
Проблема № 1: в Visual Basic я хочу создать поле со списком, в котором пользователь выбирает один из вариантов, импортированных из Address_Name, а затем после того, как он нажимает кнопку добавления, выбор будет добавлен в базу данных в поле Student_Address. Я имею в виду, что Address_Name будет содержать такие значения, как A, B, C. Я хочу, чтобы эти значения отображались в поле со списком, и после того, как он выберет одно из них, он нажмет «Добавить», и выбор будет вставлен в базу данных.
Проблема № 2: Ах, извините, это также о выпадающем списке. речь идет о двух выпадающих списках, где, когда вы выбираете из первого, например, из таблицы страны, вы выбираете Америку, тогда в другом выпадающем списке появятся только штаты Америки. Или когда вы выберете Англию, появятся только города Англии и так далее.
* В таблице Country есть одно поле с именем: Country_Name. *Таблица Scholarship содержит поля: Scholarship_To, Country_Name, City_Name *Таблица City содержит поля: City_Name, Country
*Таблица Scholarship и Country связаны с таблицей Student_Info, Country связана с полем ABC, а Scholarship с новым полем. *Таблица Country связана с таблицами Scholarship и City со следующими полями: Country_Name в таблице Scholarship и Country в таблице City. *Таблица стипендий связана с таблицей City: City_Name с полями Country. Все, у которых есть «Обеспечить ссылочную целостность».
О Боже, я надеюсь, что кто-то меня понимает, я старался предоставить все, пожалуйста, помогите мне.
Public Class frmStudent
Dim cnn As New OleDb.OleDbConnection
Private Sub RefreshData()
If Not cnn.State = ConnectionState.Open Then
'open connection
cnn.Open()
End If
Dim da As New OleDb.OleDbDataAdapter("SELECT Student_ID as [ID], " & _
"Student_Name as [Name], Student_Gender, Student_Phone, Student_Address " & _
" FROM The_Student ORDER BY Student_ID", cnn)
Dim dt As New DataTable
'fill data to datatable
da.Fill(dt)
'offer data in data table into datagridview
Me.dgvData.DataSource = dt
'close connection
cnn.Close()
End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
Dim cmd As New OleDb.OleDbCommand
If Not cnn.State = ConnectionState.Open Then
'open connection if it is not yet open
cnn.Open()
End If
cmd.Connection = cnn
'check whether add new or update
If Me.txtstdID.Tag & "" = "" Then
'add new
'add data to table
cmd.CommandText = "INSERT INTO The_Student(Student_ID, Student_Name, Student_Gender, Student_Phone)" & _
" VALUES(" & Me.txtstdID.Text & ",'" & Me.txtStdName.Text & "','" & _
Me.cboGender.Text & "','" & Me.txtPhone.Text & "')"
cmd.ExecuteNonQuery()
Else
'update data in table
cmd.CommandText = "UPDATE The_Student " & _
" SET Student_ID=" & Me.txtstdID.Text & _
", Student_Name='" & Me.txtStdName.Text & "'" & _
", Student_Gender='" & Me.cboGender.Text & "'" & _
", Student_Phone='" & Me.txtPhone.Text & "'" & _
", Student_Address='" & Me.txtAddress.Text & "'" & _
" WHERE Student_ID=" & Me.txtstdID.Tag
cmd.ExecuteNonQuery()
End If
'refresh data in list
RefreshData()
'clear form
Me.btnClear.PerformClick()
'close connection
cnn.Close()
End Sub
Private Sub frmStudent_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
cnn = New OleDb.OleDbConnection
cnn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" & Application.StartupPath & "\data.mdb"
'
'get data into list
Me.RefreshData()
End Sub