Страница: 1 |
Страница: 1 |
Вопрос: access, access.... надоел мне уже
Добавлено: 23.05.05 07:09
Автор вопроса: psinetron | ICQ: 218945948
Здравствуйте. у меня вот какой вопросик.
Мне нужно заполнить ListView данными из access таблицы.
Я умею заполнять так:
i = 1
Set rs = cn.Execute("select * from tab1")
Do While Not rs.EOF
ListView1.ListItems.Add i, , rs!idnm
ListView1.ListItems(i).SubItems(1) = rs!surname
ListView1.ListItems(i).SubItems(2) = rs!Name
ListView1.ListItems(i).SubItems(3) = rs!telephon
ListView1.ListItems(i).SubItems(4) = rs!address
ListView1.ListItems(i).SubItems(5) = rs!groupp
i = i + 1
rs.MoveNext
Но на этот раз я не знаю имена столбцов в Access. Т.е. мне дано количетво столбцов (KN), и такая схемка: каждый столбик называется "id" & kn, Например id1, id2,id3, ..., idn
Как же заполнить List View??? Пробовал различные варианты типа ListView1.ListItems(i).SubItems(1) = rs! & "id" & i - но они не работают :(((
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 23.05.05 11:18
rs(i)
rs("id" & i)
Номер ответа: 2
Автор ответа:
Shark
ICQ: 284036855
Вопросов: 35
Ответов: 155
Web-сайт:
Профиль | | #2
Добавлено: 24.05.05 23:52
Используй не List а какой - нибудь Grid
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 25.05.05 00:32
эх...
'Отображает базу в ListView
Dim Db As Database, rs As Recordset
ListView.View = lvwReport
Set Db = OpenDatabase(DBPath$, False, False, "MS Access;pwd=" & Password$)
Set rs = Db.OpenRecordset("select * from [" & Table$ & "]"
For i = 0 To rs.Fields.Count - 1 'Создаём столюцы
ListView.ColumnHeaders.Add , , rs.Fields(i).Name
Next
If rs.EOF = False Then
'Заполняем значениями столбцы
While Not rs.EOF
Set lvItm = ListView.ListItems.Add(, , IIf(IsNull(rs(0)), "", rs(0)))
For i = 1 To rs.Fields.Count - 1
lvItm.SubItems(i) = IIf(IsNull(rs(i)), "", rs(i))
Next
sno = sno + 1
DoEvents
rs.MoveNext
Wend
End If
End Sub
Номер ответа: 4
Автор ответа:
Скептик
Вопросов: 2
Ответов: 24
Профиль | | #4
Добавлено: 16.07.05 14:58
Ув. HACKER
зачем в вашем коде используется переменная sno?
1. Она на инициализированно
2. Присваивание ради присваивания?
По поводу DoEvents - может оценить rs.RowCount и принять решение о его использовании
Или хотя б вставлять его в каждый десятый(например) прогон цикла...