Vb.net вызов функции
Здравствуйте, может ли кто-нибудь помочь мне, как сделать это правильно.
Я хочу сделать функцию для select в файле ms access
Сначала у меня есть Func.vb
Public Sub ReadTables(ColumNamer As String, Datatable As String) Try With cmd .Connection = conn .CommandText = "Select * From @ColumnName" .Parameters.AddWithValue("@ColumnName", ColumNamer) ds.Tables.Add(dt) Adapter.SelectCommand = cmd Dim cb = New OleDbCommandBuilder(Adapter) cb.QuotePrefix = "[" cb.QuoteSuffix = "]" Adapter.Fill(dt) Datatable.DataSource = dt.DefaultView .Parameters.Clear() End With Catch ex As Exception MsgBox(ex.Message) Finally Adapter.Dispose() dt.Dispose() cmd.Dispose() If conn IsNot Nothing Then conn.Close() End If End Try End Sub
Затем в моей форме 2 я добавил Datagridview1
и в загрузке формы я хочу, чтобы отправить информацию/получите для загрузки в поисковой форме Form2
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load ReadTables("Accounts",Datagridview1)
Как это сделать?
- Потому что я хочу использовать эту функцию для большего количества вызовов в разных таблицах в ms access.
- Первый вызов должен быть "имя таблицы", чтобы позвонить , вторая - "практическое руководство" называть
В моей форме 2 datagridview называется "datagridview1", так что если бы я переименовал его в
ReadTables("счета","переименовать элемент") и отображения результатов, когда форма загружается
Что я уже пробовал:
Когда я пытаюсь использовать код внутри Form2, работает правильно, но при попытке использовать функцию ничего не показывает Datagridview1 в Form2 не активен вообще никаких результатов не показывает.
Никаких сообщений об ошибках не отображается.
Edit: я забыл поставить Datagridview1 - от "друга" до "публики", но все равно не работает правильно
Richard MacCutchan
Ты звонишь ReadTables
с двумя параметрами, строкой и ссылкой DataGridView. Но для объявления функции требуется две строки.
diablo22
да вот почему я пишу тему, для поддержки как должно быть где есть проблемы советы по ее решению.
Richard MacCutchan
Вы хотите сказать, что не понимаете, как писать и вызывать функцию?
F-ES Sitecore
Вы уверены, что не имеете в виду что-то вроде
ReadTables Публичных Суб(ColumNamer Как Строки DataTable В Datagridview В)
diablo22
если я использую как DataTable в datagridview в
он не может выполнить функцию Datatable = dt.DefaultView
F-ES Sitecore
Сделайте его любым типом "Datagridview1".
diablo22
если я сделаю его (Datatable As DataGridView1), то он будет подчеркивать это имя как опцию
Richard MacCutchan
Вы не можете сделать так, чтобы DataGridView1 был объектом, а не типом; используйте DataGridView
, который является фактическим типом. Однако вам все равно нужно проверить эту подпрограмму, чтобы ссылаться на правильные имена переменных.