![]() |
|
|
![]()
|
|
| Ganoci |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 8.2.2008 Репутация: нет Всего: нет |
Есть небольшая БД на Delphi 7 (точнее Delphi + Microsoft Office Access {без комментариев})
В общем базу вроде бы соединил с Дельфёй. Но мне нужно что бы теперь при нажатии на кнопку случайным образом из БД выбиралась запись и высвечивалась, скажем где-нибудь рядом с кнопкой. Можно ли это сделать? Помогите пожалуйста! Присоединённый файл ( Кол-во скачиваний: 6 )
Delphi.rar 19,51 Kb |
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 23 Всего: 54 |
Это сообщение отредактировал(а) Frees - 27.2.2010, 22:02 -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| Ganoci |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 8.2.2008 Репутация: нет Всего: нет |
Может быть у меня что-то в коде не так?
Но компиляция-то происходит, вот только при нажатии на кнопку вылетает вот такая ошибка Присоединённый файл ( Кол-во скачиваний: 13 )
0.jpg 95,98 Kb |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Во-первых, инициировать генератор случайных чисел следует оператором randomize (я обычно ставлю его на FormCreate). Во-вторых, если я не ошибаюсь, random может возвращать и 0. А такой строки в таблице быть, разумеется, не может.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Ganoci |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 8.2.2008 Репутация: нет Всего: нет |
Честно говоря, я не совсем понял, что делать? :( Во-первых, как все же правильно записать процедуру? Во-вторых, где? В-третьих, если я всю генерацию запишу в FormCreate, то что же мне прописывать в процедуре кнопки (BitBtn1Click)? И еще в "поле1", если оно нужно, что можно написать? Подскажите, пожалуйста.... ))) Это сообщение отредактировал(а) Ganoci - 28.2.2010, 11:32 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
"Включаем" генератор случайных чисел при загрузке программы:
Какое поле? -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Ganoci |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 8.2.2008 Репутация: нет Всего: нет |
Ну что-то не так работает. И не пойму что. Вот последний вариант программы. Подсобите пожалуйста. Цель-то у меня простая. Есть 2 поля id - счетчик и Film - текст. Мне нужно чтобы, после того как я запущу программу и до посинения буду нажимать единственную кнопку у меня в поле DBText1 случайным образом отображались значения поля film (ну или хотя бы id). А сейчас у мну после 2-х нажатий ошибка вылетает. пробовал прописывать оба поля. Это сообщение отредактировал(а) Ganoci - 28.2.2010, 12:09 Присоединённый файл ( Кол-во скачиваний: 8 )
Delphi.rar 19,92 Kb |
||||
|
|||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
[Fatal Error] Unit1.pas(9): File not found: 'DBGridEhImpExp.dcu'
Добавлено через 7 минут и 15 секунд Убрал - заработало. В общем, я вот так сделал:
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Ganoci |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 8.2.2008 Репутация: нет Всего: нет |
А, ну да я же еще библиотеку EhLib подключил, чтоб несколько фич добавить. Но в примере старался заменить все копоменты на стандартные (ведь это непринципиально в этом моменте), а еще в одном месте забыл: можно оставить вот так: uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, DB, DBTables, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, OleServer, ExcelXP, Buttons, ADODB, ComCtrls, XPMan, Registry, ShellAPI, MMSystem, IniFiles, PrnDbgeh; Но вообще, если чес, я вроде бы решил вопрос (файл). Правда, может ошибаюсь, но пока работает как надо. поэтому говорю всем спасибо за помощь. А если вдруг где заметили ошибку, то не стесняйтесь - сообщайте. Добавлено @ 13:02
Глянем и этот вариант реализации. Спасибо! Это сообщение отредактировал(а) Ganoci - 28.2.2010, 13:03 Присоединённый файл ( Кол-во скачиваний: 11 )
Delphi.rar 20,62 Kb |
||||||
|
|||||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
У меня этот вариант работает нормально, и все 4 строки таблицы рандомно выбираются. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| RibSlicer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 18.6.2013 Репутация: нет Всего: нет |
Схожа проблема, делаю так вроде рандомно выводит, но повторяет бывает записи. Как сделать без повтора?
|
|||
|
||||
| Vas |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
А может проще запросом, вот гугль подсказал
Добавлено через 36 секунд И вот еще
-------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |