Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » Работа с MS Access

   
Автор / Author Тема / Topic: Работа с MS Access
Константин А
Junior Member / Новичок
Участник № / Member № 2718


Icon 1 отправлено / posted      Профиль для / Profile for Константин А           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте, у меня возникают некотороые проблемы по работе с БД. А именно, не мего понять следующее:
Пусть имеется таблица в БД где содержится список пород древесины. В таблице 2 поля: id древесины и Name - название породы.
Вопрос состоит в следующем: Как при открытии данного приложения происходил бы вывод этих древесин на экран и пользователь мог бы выбрать соответвующую древесину? (наподобие ListBox)

Сообщения / Posts 15 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Если у Вас заранее известно количество строк в БД, то надо считывать поочередно нужные строки и выводить значения полей на экран. Для вывода наименования породы можно в качестве промежуочного носителя использовать строковый атрибут какого-либо канала (например, КОММЕНТАРИЙ).
Если количество нужных строк в БД заранее неизвестно, надо сначала запросить их количество (по соответствующему условию), а затем выбирать нужные строки из выборки меняя ПАРАМЕТР канала, реализующего запрос.
Можно организовать это как интерактивными процедурами, так и программно.
В HELP это описано в разделе "Примеры SQL-запросов/.../Выборка данных из БД".

Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Константин А
Junior Member / Новичок
Участник № / Member № 2718


Icon 1 отправлено / posted      Профиль для / Profile for Константин А           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Да, это все понятно. Так оно и будет работать, если реализовать выборку потом из списка, тыкая наугад номер древесины, чтобы показать древесину, например, ЯСЕНЬ, который в таблице содержится под номером 172. Сколько же времени потребуется пользователю и нервов тоже, чтобы выбрать из списка нужную ему древесину, тыкая, отобразить каждое дерево, начиная с номера "0" до номера "172"??? Получается, он проделает ненужную работу 172 раза....
Хотелось бы реализовать немного не так... Чтобы пользователь выбрал нужную ему древесину, глядя на весь список древесины. Пусть этот список отображался бы ListBox. Как до этого добиться? Помогите... Заранее благодарен.

Сообщения / Posts 15 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Можно создать таблицу некоторого объема, например, 60 строк.
В первичном запросе выводить в таблицу первые 60 имен древесины.
Оператору надо дать возможность вывести вторую группу, а при необходимости третью и т.д.
Номер группы и номер строки в таблице будут идентифицировать нужную строку в таблице БД.
Результатом действий оператора будет формирование запроса с идентификаторами, выбранными оператором, для получения более полной информации по выбранному типу древесины.
Параметры конечного запроса могут формироваться программно в реальном времени через текстовые или числовые атрибуты вспомогательных каналов.
Но, возможно, при значительной неопределенности и громозкости задачи она может быть решена путем создания специального ActiveX.

Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Константин А
Junior Member / Новичок
Участник № / Member № 2718


Icon 1 отправлено / posted      Профиль для / Profile for Константин А           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте еще раз. Вот начал смотреть, чтобы в таблице отображались деревья. В Helpe при использовании таблицы "переключатель каналов" используются насосы. Но какналы Насос1, Насос2, Насос3 создают в ручную и потом их показывают в таблице.
В архивных таблицах - там просто в зависимости от времни показ значения.

У меня же вто что:
В БД MS Aссess содержится таблица trees:
id | name
==============
1 | Сосна
2 | Ель
3 | Дуб

Пользователю после открытия приложения надо указать, какое дерево ему надо обработать. Как ему выбрать данное дерево в программе? С помощью какой

Сообщения / Posts 15 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Константин А
Junior Member / Новичок
Участник № / Member № 2718


Icon 1 отправлено / posted      Профиль для / Profile for Константин А           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте еще раз. Вот начал смотреть, чтобы в таблице отображались деревья. В Helpe при использовании таблицы "переключатель каналов" используются насосы. Но какналы Насос1, Насос2, Насос3 создают в ручную и потом их показывают в таблице.
В архивных таблицах - там просто в зависимости от времни показ значения.

У меня же вто что:
В БД MS Aссess содержится таблица trees:
id | name
==============
1 | Сосна
2 | Ель
3 | Дуб

Пользователю после открытия приложения надо указать, какое дерево ему надо обработать. Как ему выбрать данное дерево в программе? В какую таблицу записать этот спсисок деревьев и каким образом? К каком аргументу привязывать и как в этот аргумент записать весь этот список деревьев? Не понятно. [Неодобрение / Frown]

Сообщения / Posts 15 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Сделайте на экране набор ГЭ "Текст" в виде стобца из n строк. Количество строк в столбце n должно определять некую группу строк таблицы БД.
Строка таблицы БД может быть определена как
i=k*n+m, где аргументы экрана
k - номер выбраной группы (от 0 до возможного количества групп),
m - номер строки в группе (от 1 до n).
Выполните запрос количества нужных строк в таблице БД и выведите первые n строк в столбец на экране.
Предоставьте оператору возможность "листать" таблицу изменением аргумента k. Выводите на экран
строки k-й группы.
Найдя нужную группу, оператор может выбрать нужную породу дерева, указав на соответствующий ГЭ столбца на экране. При этом он в аргумент m введет номер нужной ему строки.
Программно вычисляете номер строки в БД по приведенной выше формуле и делате окончательную выборку из БД всей неоходимой оператору информации из этой строки таблицы БД.

Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Константин А
Junior Member / Новичок
Участник № / Member № 2718


Icon 1 отправлено / posted      Профиль для / Profile for Константин А           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
То, что нужно. Спасибо. Вроде работает, только медленно.... Медленно выводит строки "n" на экран. (количество строк на экране n = 10). Реализовал так, что полчается выполнение 10 запросов по запросу на каждую строку.
Подскажите, пожалуйста, можно ли одним запросом выбрать сразу первые 10 строк и записать в соответсвующие разные 10 переменных? Например, выбрать 10 пород деревьев от номера 11 до новера 20. Если да, то как это реализовать одним запросом?

Сообщения / Posts 15 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Константин А
Junior Member / Новичок
Участник № / Member № 2718


Icon 1 отправлено / posted      Профиль для / Profile for Константин А           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
или так бы реализовать -
Допустим запрос:

SELECT tree.name #names#
FROM tree
WHERE id >= 11 AND id <= 20

Как бы сделатьтак, чтобы в переменную names записались все деревья, а не только последняя запись?

Сообщения / Posts 15 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В Trace Mode 6 каждый запрос возвращает только 1 запись. Такова логика используемого интерфейса.
Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
arido
Forum Haunter / Завсегдатай форума
Участник № / Member № 2961


Icon 1 отправлено / posted      Профиль для / Profile for arido           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Вышлите, пожалуйста, пример?
Сообщения / Posts 104 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В Быстром Старте, в первой части есть пример создания БД в MS Access и обращения к ней.
Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
arido
Forum Haunter / Завсегдатай форума
Участник № / Member № 2961


Icon 1 отправлено / posted      Профиль для / Profile for arido           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Нужен пример "считывания" данных из БД и отображения на экране. (Запись в БД работает)
Сообщения / Posts 104 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
arido
Forum Haunter / Завсегдатай форума
Участник № / Member № 2961


Icon 1 отправлено / posted      Профиль для / Profile for arido           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Константин А, скиньте, пожалуйста, проект, посмотреть. [Улыбка / Smile]
Сообщения / Posts 104 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
arido
Forum Haunter / Завсегдатай форума
Участник № / Member № 2961


Icon 1 отправлено / posted      Профиль для / Profile for arido           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Пожалуйста!
Срочно нужен пример вывода значений из БД на экран!! :0

Сообщения / Posts 104 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Отправлено.
Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Vjam
Forum Haunter / Завсегдатай форума
Участник № / Member № 2261


Icon 1 отправлено / posted      Профиль для / Profile for Vjam           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
2 Констатнтин. Можно ли прислать пример как организован запрос в вашем проекте. У меня тоже проблема такого рода, только надо вывести список рецептур. выпадающий список к сожалению в ТМ не получается/ мыло vjam@mail.ru
Сообщения / Posts 136 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
SATER
Forum Haunter / Завсегдатай форума
Участник № / Member № 1414


Icon 1 отправлено / posted      Профиль для / Profile for SATER           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте, Константин. Можете ли прислать Ваш пример? rokise@rambler.ru
Заранее спасибо.

Сообщения / Posts 141 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Возможно, в текущем релизе подобные задачи удобнее решать с использованием ГЭ "Таблица БД".
Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2