С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
buhalo88
0 / 0 / 1
Регистрация: 08.02.2013
Сообщений: 19
1

LisBox со значениями из базы

08.02.2013, 22:23. Просмотров 806. Ответов 12
Метки нет (Все метки)

Всем добрый вечер!
Решил изучить vb6, но пока дела обстоят не очень.
Вообщем нужно сделать список значений из базы mdb в combo или list box'e.
Пробовал делать через dbgrid, но там не нашел события, возникающего после навигации по списку(нужно было получить позицию элемента).
Проект прикрепил.
Буду очень благодарен в решении данного вопроса!!
0
Вложения
Тип файла: zip bd.zip (11.6 Кб, 5 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2013, 22:23
Ответы с готовыми решениями:

выпадающий список со значениями из базы
Как сделать выпадающий список со значениями из базы через базу Mysqli Нашел как сделать через...

Заполнения поля базы случайными значениями из списка
Здравствуйте, у меня такой вопрос, подскажите пожалуйста как можно заполнить одно из полей БД...

Проверка соответствия пароля из базы данных с введёнными значениями
есть вот такой код procedure TMainForm.Button1Click(Sender: TObject); begin ...

Поиск по базе, получение значений из базы, работа со значениями
Показать по одному студенту со всех групп, у которых баллы по информатике максимальные. База: ...

Макрос: поиск совпадений в ячейках и сравнение их со значениями из базы
Приветствую. Суть такова: в прикрепленном файле два листа. В столбце "C" на первом листе...

12
dev.Free
Заблокирован
09.02.2013, 08:04 2
Вот тебе связка с DBGrid32. Внизу пример на твоем выложенном. Видать делал на примере книг. Data вообще лучше не использовать в качестве рабочего компонента на форме, работать надо на кнопках и прочем. Data в режиме скрытом. И как бы уже еще лучше использовать ADODB подключения. В общем смотри исходники я тебе выкладываю по работе с базами, писал студентам во фрилансе на них научишься. Будут вопросы пиши.

Вот еще примеры:

1. Выгрузка с форматированием: задать диапазон выгружаемых данных
2. Пример записи / чтения с Microsoft Excel в VB
3. Принцип работы SQL запросов в Visual Basic 6.0 (За основу взята Data)
4. Работа с элементом ListView с использованием ADODB - MS Access 2010
2
Миниатюры
LisBox со значениями из базы  
Вложения
Тип файла: rar БАЗА СТО.rar (27.7 Кб, 11 просмотров)
Тип файла: rar Sample.rar (18.2 Кб, 13 просмотров)
Тип файла: rar Часы(1).rar (317.4 Кб, 8 просмотров)
buhalo88
0 / 0 / 1
Регистрация: 08.02.2013
Сообщений: 19
09.02.2013, 16:15  [ТС] 3
Спасибо большое! Буду разбираться!
0
buhalo88
0 / 0 / 1
Регистрация: 08.02.2013
Сообщений: 19
16.02.2013, 18:58  [ТС] 4
Стал разбираться в файле Sample.rar и у меня возникло 2 вопроса:
1.как получить значения из базы, которого нет в ListView
2. что означает этот код
PureBasic
1
rs.Open SQL, conn, 3, 3
0
dev.Free
Заблокирован
16.02.2013, 19:35 5
Цитата Сообщение от buhalo88 Посмотреть сообщение
которого нет в ListView
Все делается методом SQL запроса. Если значения нет тогда пишется так:

SQL
1
SELECT * FROM TABLE WHERE NAME LIKE '%Null%'
Где TABLE имя вашей таблицы.
NAME это поиск по строке.

Добавлено через 1 минуту
Цитата Сообщение от buhalo88 Посмотреть сообщение
rs.Open SQL, conn, 3, 3
открытие соединения с параметрами.
0
buhalo88
0 / 0 / 1
Регистрация: 08.02.2013
Сообщений: 19
16.02.2013, 22:41  [ТС] 6
То есть, например, если мне нужно получить значение поля выбраной записи, то мне нужно написать такое ?
SQL
1
2
3
4
5
6
7
8
9
10
Private Sub Text4_Change()
DSNName = "DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=" & App.Path
    DSNName = DSNName & HomeDir & "\Database.accdb"
    conn.Open DSNName
    SQL = "SELECT * FROM Sample WHERE Отчество LIKE i"
    rs.Open SQL, conn, 3, 3
    Text4.Text = rs(X)
    SET rs = Nothing
    conn.Close
END Sub
Если так, то у меня пишет что "слишком мало параметров, требуется 1"
0
dev.Free
Заблокирован
17.02.2013, 07:59 7
Цитата Сообщение от buhalo88 Посмотреть сообщение
i
Какое еще (i) там писать надо писать так:

Visual Basic
1
SQL = "SELECT * FROM Sample WHERE Отчество LIKE '%i%'"
0
buhalo88
0 / 0 / 1
Регистрация: 08.02.2013
Сообщений: 19
17.02.2013, 12:51  [ТС] 8
inv.DS, я извиняюсь за мою неграмотность, но как вывести в текстовое поле текущее значение, которого нет в списке, но есть в базе. Т. е. при клике на текстовое поле (я к примеру) нужно снова открыть соединение с базой, создать запрос типа
SQL
1
SQL = "SELECT * FROM Sample WHERE Отчество LIKE '%i%'"
и в текстовое поле присвоить значение переменной. Но какой переменной? RS(x), RS(i)?
0
dev.Free
Заблокирован
17.02.2013, 12:52 9
Имя поля.
0
buhalo88
0 / 0 / 1
Регистрация: 08.02.2013
Сообщений: 19
17.02.2013, 14:02  [ТС] 10
Я в растроенных чувствах. У меня ничего не получается. Наверно скоро сниться будет.

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub ListView1_ItemClick(ByVal Item AS MSComctlLib.ListItem)
FOR i = 1 TO ListView1.ListItems.Count
    IF ListView1.ListItems(i).Selected = TRUE THEN
    DSNName = "DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=" & App.Path
    DSNName = DSNName & HomeDir & "\Database.accdb"
    conn.Open DSNName
    SQL = "SELECT * FROM Sample WHERE Отчество LIKE '%i%'"
    rs.Open SQL, conn, 3, 3
        Text1.Text = ListView1.ListItems(i).SubItems(1)
        Text2.Text = ListView1.ListItems(i).SubItems(2)
        Text3.Text = rs("Отчество")
    END IF
NEXT i
    SET rs = Nothing
    conn.Close
END Sub
0
dev.Free
Заблокирован
17.02.2013, 15:00 11
buhalo88, Выложи сюда свой проект.
0
buhalo88
0 / 0 / 1
Регистрация: 08.02.2013
Сообщений: 19
17.02.2013, 15:16  [ТС] 12
inv.DS, вот
0
Вложения
Тип файла: zip Sample.zip (22.8 Кб, 4 просмотров)
dev.Free
Заблокирован
17.02.2013, 15:28 13
Я честно вообще не понимаю чего ты добиваешься от кода. Создай на форме 1 кнопку в нее впиши код:

Visual Basic
1
Call Poisk
В код в самый низ вставь это:

Visual Basic
1
2
3
4
5
6
7
8
Sub Poisk()
    DSNName = "DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=" & App.Path
    DSNName = DSNName & HomeDir & "\Database.accdb"
    conn.Open DSNName
    SQL = "SELECT * FROM Sample WHERE Отчество LIKE '%Степанов%'"
    rs.Open SQL, conn, 3, 3
        Text4.Text = rs.Fields("Фамилия")
End Sub
Если в базе данных есть хоть 1 фамилия "Степанов", он тебе ее найдет и фамилию выведет в текстовое поле 4.
0
17.02.2013, 15:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2013, 15:28

Записать в LisBox из класса
Есть несколько форм c listbox. Заполнение этого списка везде одинаковый. Не пойму как содать один...

Заполнение элемента формы значениями из базы данных через PHP
Здравствуйте! Помогите пожалуйста правильно организовать заполнение элемента формы select типа...

Выделение строки в LisBox другим цветом
Всем привет! По умолчанию в ListBox строка выделяется синим цветом. Как изменить этот цвет на какой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru