Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
VB2019 オブジェクトの名前を読み込ませたい
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30489#CommentId83959
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
ロト君
 (社会人)
投稿日時
2020/5/9 10:02:49
自力で解決出来ましたのでコードを記載いたします。
コード ---
1)
Public Function FindControl(ByVal hParent As Control, ByVal stName As String) As Control
' hParent 内のすべてのコントロールを列挙する
For Each hControl As Control In hParent.Controls
' 列挙したコントロールにコントロールが含まれている場合は再帰呼び出しする
If hControl.HasChildren = True Then
Dim hFindControl As Control = FindControl(hControl, stName)
' 再帰呼び出し先でコントロールが見つかった場合はそのまま返す
If Not hFindControl Is Nothing Then
Return hFindControl
End If
End If
' コントロール名が合致した場合はそのコントロールのインスタンスを返す
If hControl.Name = stName Then
Return hControl
End If
Next hControl
End Function
2)
Private Sub Cmb_set(ByVal cmb_name As String, ByVal cmb_str As String)
Try
connect.ConnectionString = conections_str
connect.Open()
Dim oda As New OleDbDataAdapter
Dim ods As New DataSet
Dim sql As String
sql = "Select "
sql &= "key_name, "
sql &= "name1, "
sql &= "value1, "
sql &= "sort, "
sql &= "delflg "
sql &= "From m_env "
sql &= "Where delflg = 0 "
sql &= "And key_name = '" & cmb_str & "' "
sql &= "Order By sort Asc"
oda = New OleDbDataAdapter(sql, connect)
ods.Tables.Add("m_env")
oda.Fill(ods.Tables("m_env"))
Dim ctrl As ComboBox = FindControl(Me, cmb_name)
ctrl.DataSource = ods.Tables("m_env")
ctrl.DisplayMember = "name1"
ctrl.ValueMember = "value1"
'ComboBox のスタイルを指定します
ctrl.DropDownStyle = ComboBoxStyle.DropDownList
'先頭のアイテムを表示させる
ctrl.SelectedIndex = -1
connect.Close()
Catch ex As Exception
MsgBox("接続エラーです。", vbOKOnly, "接続エラー")
connect.Close()
Exit Sub
End Try
End Sub
3)
Cmb_set("Cmb_class", "区分")
Cmb_set("Cmb_landowner", "地権")
Cmb_set("Cmb_produce1", "作物名")
Cmb_set("Cmb_produce2", "作物名")
内容 ---
上記の記述で無事に動きました。
3)が呼び出し方
2)が*mdbでの参照
1)がコントロール名の取得です。
同じように困ってる方がいらっしゃったら使って見て下さい。