#vb.net #listview
#vb.net #listview
Вопрос:
Я попытался рассчитать 2 подпункта для отображения в 3-м подпункте или 3-м столбце, но это не сработало. Я просто не знаю как. Пожалуйста, помогите. Спасибо.
(Извините, коды находятся в классе. Забыл скопировать huhu.)
-Но в listview результат выглядит следующим образом.
____________________________________
Date |Debit | Credit | Balance| User|
Jan. | 20.0 | 0.00 | | yah |
Jan. | 12.0 | 10.0 | | yah |
____________________________________
ПРОБЛЕМА: Возможно ли вычислить
Дебет и кредит для отображения в
Столбец баланса?? если да, то как?
Информация:
-
База данных — это «Доступ» (платежи)
-
Нет столбца «Баланс» в Access
Извините за недостаток информации
.
Комментарии:
1. покажите свои работы, пожалуйста.
2. @phonemyatt Я обновляю сообщение. Я не знаю, достаточно ли этого. Извините.
Ответ №1:
Я надеюсь, что в вашей таблице есть столбец идентификатора автоматического номера.
Проектный вид в Access
Я просто заполняю DataGridView для быстрой демонстрации.
Мои данные
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dt As New DataTable
Dim strSql = "Select ID, [Date], Debit, Credit,
(Select Sum(Debit - Credit)
From MyLedger
Where ID <= ML.ID) As Balance, User
From MyLedger ML;"
Using cn As New OleDbConnection(My.Settings.AccessLedger)
Using cmd As New OleDbCommand(strSql, cn)
cn.Open()
dt.Load(cmd.ExecuteReader)
End Using
End Using
DataGridView1.DataSource = dt
End Sub
База данных выполняет всю работу. В инструкции Select мы создаем новое поле для загрузки под названием Balance. Это создается не в базе данных, а только в результирующем наборе. Это делается с помощью подзапроса, который получает сумму столбца debit минус столбец credit, но только там, где столбец ID меньше или равен идентификатору, извлекаемому в данный момент. ML является псевдонимом для таблицы MyLedger и должен использоваться для различения выбранных идентификаторов и текущего извлеченного идентификатора.
Конечно, вы хотели бы улучшить результаты с помощью форматирования.