前提・実現したいこと
Visual Basicで事務システムを作っています。
Datasourceの有無でボタンの押下フラグを変更する方法が分かりません。
データベースに接続して持ってきたDatasourceAとBをLEFT JOINで
事務マスタという画面のDataGridに表示しているのですが、
DataGridに持ってきたDatasourceBのデータが空の場合は、
事務マスタの画面のDataGridにはデータソースAのデータしか見えないようになっています。
ここまでは完成しているのですが、
DataGridに持ってきたDatasourceAが存在し、Bのデータが空の場合に、
ボタンの押下フラグをTrueにしたいのですが、やり方が分からず、
ご質問させていただきました。
ご教示いただけますと幸いです。宜しくお願い致します。
発生している問題・エラーメッセージ
'構文的に無理だと分かっているのですが、やり方が分かりません。 IF Dim stbSql As New System.Text.StringBuilder stbSql = New System.Text.StringBuilder stbSql.AppendLine("SELECT *") stbSql.AppendLine("FROM DatasourceB") stbSql.AppendLine("WHERE TargetYear = 2019") BindingSource.DataSource = GetData(stbSql.ToString) Then 'DatasourceBのデータが1件もない場合は下記の処理を行う If BindingSource.Count = 0 Then 'ボタン制御 btnYearUp.Enabled =True Else 'ある場合はこちらの処理↓ btnYearUp.Enabled =False End If End IF
該当のソースコード
'割愛させていただきますが、 'DatasourceAにはTargetYear=2019のデータソースが入っているとします。 'そして事務マスタの画面のDataGridにはDatasourceABが画面上に見えていますが、 '実際にはDatasourceBのデータが空のためDatasourceAしか見えていないとします。 Private Sub CheckYear() 'このSQL構文に条件文を書きたいと思っています。 Dim stbSql As New System.Text.StringBuilder stbSql = New System.Text.StringBuilder stbSql.AppendLine("SELECT *") stbSql.AppendLine("FROM DatasourceB") stbSql.AppendLine("WHERE TargetYear = 2019") BindingSource.DataSource = GetData(stbSql.ToString) 'DatasourceBのデータが1件もない場合は下記の処理を行う If BindingSource.Count = 0 Then 'ボタン制御 btnYearUp.Enabled =True Else 'ある場合はこちらの処理↓ btnYearUp.Enabled =False End If
試したこと
補足情報(FW/ツールのバージョンなど)
Windows Formsを作っています。
OSはWindows10です。
Visual Studio2017
Microsoft SQL Server Management Studio 2017
回答2件
あなたの回答
tips
プレビュー