DataGrid в VB6 - PullRequest
       8

DataGrid в VB6

0 голосов
/ 22 октября 2019

Я работаю над проектом VB6, который использует базу данных MS Access. Я хочу отобразить значение столбца в DataGrid, используя следующую логику:

  1. 1 для значения 1
  2. 2 для значения 2
  3. 0для других значений

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 22 октября 2019

Вы можете добавить логику непосредственно в свой оператор SQL, используя оператор IIF:

Select IIF(YourValue < 2, YourValue, 0) as NewValue, * FROM YourTable

Этот код загружает записи из таблицы YourTable (обновите, указав имя таблицы), и применяет описанную логикув поле YourValue (если значение меньше 2, вернуть 0):

Dim objConnection As ADODB.Connection
Dim objRecordset As New ADODB.Recordset
Dim sSQLStatement As String

Set objConnection = New ADODB.Connection
Set objRecordset = New ADODB.Recordset

sSQLStatement = "Select IIF(YourValue < 2, YourValue, 0) as NewValue, * FROM YourTable"

objConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\YourDatabase.mdb"
objConnection.Open

objRecordset.CursorLocation = adUseClient
objRecordset.Open sSQLStatement, objConnection, adOpenStatic, adLockOptimistic

Set DataGrid1.DataSource = objRecordset

Вы можете добавить эту логику к большему количеству столбцов, вам просто нужно добавить дополнительные IIF отметки к вашему sSQLStatement строка:

Select IIF(Value1 < 2, Value1, 0) as NewValue1, IIF(Value2 < 2, Value2, 0) as NewValue2, IIF(Value3 < 2, Value3, 0) as NewValue3 FROM YourTable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...