![]() |
|
Модераторы: Akina |
![]()
|
|
| ADS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 15.2.2011 Репутация: нет Всего: нет |
Здравствуйте.
Помогите пожалуйста разобраться в том как правильно и главное быстрее Мне нужно собственно следующее: у меня есть таблица порядка n*n состоящая из чисел. Мне необходимо эти данные считать в матрицу, посчитать определитель, и результат вывести на форму. Определитель должен считаться по нажатию кнопки на форме. На той же форме необходимо как-то выводить и таблицу со значениями матрицы, и кроме того иметь возможность менять значения её ячеек. Вообщем-то я более менее разобрался с синтаксисом VBA (Слава Богу) но уже несколько дней не могу понять, как что-нибудь из таблицы считать, и если нужно записать. Каковы вообще принципы этой операции? Книжки читаю – ничего вообще понять не могу. Авторы пишут уже предполагая столько всего, что собственно если бы я это знал то вряд ли бы начал читать. Вообщем помогите пожалуйста понять как можно считать данные из таблицы, и потом результат операции – записать в форму или таблицу. Спасибо. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Для описанных действий (матричные операции) Access малопригоден.
Используйте Excel. Ну хотя бы прочитать закреплённые темы форума. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ADS |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 15.2.2011 Репутация: нет Всего: нет |
Дело тут не столько в матрицах сколько в принципе: я не могу понять как мне данные считывать из таблиц, и если их считывать нельзя то зачем тогда Access вообще нужен? Вроде бы казалось простейшая вещь: должен открыть любую книгу по Acceess и сразу же должно быть указанно как считать и как записать данные в таблицы. Это основное, остальное как говорится "приложится". А тут читаешь, читаешь книгу, и думаешь: кому люди это пишут? Что нельзя написать две строки как подключится к нужной таблице (какая комманда) и как считать данные ячейки? ЕСли умеешь считать и записать - остальное ничего не нужно. Уже можешь базу сам вести и писать свои запросы. Не быстро конечно, но все-таки. А в книгах как начнут что-то расписывать про sql, ещё там что -то.... а зачем оно мне нужно? Что нет простого способа считать данные таблицы в массив данных VBA?
Разумеется я читаю |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
И по ссылке на онлайн-курс сходил, и всё там прочёл, и на все контрольные вопросы ответил? что-то слабо верится... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ADS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 15.2.2011 Репутация: нет Всего: нет |
||||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Можно, конечно. Но если их просто тебе дать - то и будешь ты с этими строками как обезьяна с гранатой. Пользы в этом... Открою тебе тайну - в таблицах баз данных НЕТ ячеек. Добавлено через 2 минуты и 34 секунды Прокрутишь страницу вверх Найдёшь строку Форум -> Программирование -> Базы данных -> MS Access (еще) Кликнешь на ссылку MS Access Внимательно прочитаешь наименования первых двух тем. Выберешь нужную. Прочитаешь её. Найдёшь нужные ссылки. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Данкинг |
|
||||||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Гы. Абстрактный пример считывания:
В переменной SSS оказывается значение поля Condition таблицы TABLE1.
А в открытой тобой книге что сразу же указано? Я прямо заинтригован: что хоть за книга такая? Ну, смотря откуда подключаться. Можно, например, через ADO подключиться из программы на "билдере". Т.е. знание VBA заключается в умении читать и записывать в таблицы? Чтобы писать запросы - достаточно открыть построитель запросов и там уже "вести базу".
Откуда нам тут знать, зачем тебе "нужно SQL". -------------------- There's nothing left but silent epitaphs. |
||||||
|
|||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Не совсем полно. Правильно так: В переменной SSS оказывается значение поля Condition какой-то из записей (неизвестно какой) таблицы TABLE1. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ADS |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 15.2.2011 Репутация: нет Всего: нет |
А обрабатывать когда? [QUOTE=ADS, 15.2.2011, 22:02, post2300198] Абстрактный пример считывания:
В переменной SSS оказывается значение поля Condition таблицы TABLE1. [/code] Спасибо за пример. Не могли бы пояснить, что такое "DAO.Recordset"? как я понимаю это некий предопределенный класс. [QUOTE=ADS, 15.2.2011, 22:02, post2300198] А в открытой тобой книге что сразу же указано? [/code] Завтра напишу. Книжка на работе. Примерное название такое "Access за 24 часа". Но я так понимаю это рекламный трюк...
Мне нужно подключаться из самой базы. Вот у меня есть окно модуля программы, я хочу там завести массив и считать туда данные. После чего я хочу записать результат данных обратно в таблицу. Обновить её поля. Мне нужно скажем видеть результат приведения матрицы к ступенчатому виду. ДЛя меня на данный момент - да. Мне главное писать какие-то математические алгоритмы, обрабатывающие большие массивы данных. . Я использую access только потому, что он входит в пакет Офиса и есть практически везде. Так сказать "вездесущ".
И я могу потом подключить запрос к какой-то кнопке на форме? И запрос куда мне выводит данные? Как мне их обработать та? Их же нужно умножать там, складывать и т.д. А как я буду все это делать если у меня нет массива данных? |
||||||||
|
|||||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Мало того, что он входит только в Проф-версию Офиса - так ещё он по умолчанию емнип и не ставится. Так что насчёт вездесущести - вопрос спорный. Добавлено через 4 минуты и 30 секунд
Повторю - для выполнения ЭТОЙ задачи нужен не Аксесс. Не пытайтесь забивать микроскопом гвозди - оно, конечно, когда-нить получится, но хреново. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ADS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 15.2.2011 Репутация: нет Всего: нет |
Я понимаю: но мне нужно разобраться с accessom. Впринципе я мог бы написать и на другом языке, но я должен разобраться с accessom и задачи я сформулировал так, чтобы они касались всех интересующих на данный момент меня вопросов. Главное: как считать (что-нибудь)как обработать и как записать и вывести на форму. |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Ладно, немножко опишу тебе, КАК будет выглядеть начало реализации ТВОЕЙ задачи на Аксессе.
Придётся создать таблицу для хранения исходных данных. В структуре таблицы будет 4 поля (по внешнему виду это будет похоже на таблицу excel из 4 колонок). В первом поле для каждой записи (похоже на строку в Excel) будет генерироваться Аксессом уникальный в пределах таблицы идентификатор. Во втором поле будет номер строки исходной матрицы. В третьем поле - номер столбца. В четвёртом - значение, стоящее на пересечении строки и столбца из предыдущих полей. Т.е., например, таблица 2*2
будет храниться как
Не очень похоже на то, что ты ожидаешь, верно? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| ADS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 15.2.2011 Репутация: нет Всего: нет |
совершенно верно. Мне не очень ясно почему таблица задается в таком виде, всмысле доп. индексов (Row и Col). Разве сама таблица не предполагет, что ячейки уже размечены? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Нет. В этом радикальное различие (вернее, одно из) между таблицей базы данных и рабочим листом Экселя. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ADS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 15.2.2011 Репутация: нет Всего: нет |
По моим представлениям таблица это ничто иное как двумерный массив данных.
Причем: индексы Row и Col - они присутствуют сами собой даже без учета того, что мы под них отводим определенные поля. Я на данный момент (возможно наивно) предполагаю, что существует какой-то метод типа "connect (Имя_объекта)" - используя который можно подключиться к одному из объектов (любому) Access, а затем каким -то образом получить на него характеристики. Выбирая нужные, скажем "cells" - можно осуществить доступ к данным объекта. После чего, ставя условия отбора можно выбрать те и только те элементы данных которые им отвечают, чем и заполнить значение массива. Таким образом "двумерность" - возникает как результат обработки таблицы алгоритмом из VBA. Ведь мне могло бы понадобиться заполнять элементы матрицы значениями не по порядку, а скажем первое значение находится в 5 строке 7 столбца, а второе во второе строке третьего столбца и т.д. Добавлено через 10 минут и 58 секунд
Хм... Признаться пока трудно улавливаю отличие. Но как же нам все-таки считать данные? Это сообщение отредактировал(а) ADS - 15.2.2011, 23:43 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
ADS, ПРЕКРАТИ МЫСЛИТЬ ТЕРМИНАМИ ЭКСЕЛЯ!!! ОНИ НЕПРИМЕНИМЫ!!!
И пройди всё-таки курсы Хотя бы первый. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ADS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 15.2.2011 Репутация: нет Всего: нет |
[b]ADS, ПРЕКРАТИ МЫСЛИТЬ ТЕРМИНАМИ ЭКСЕЛЯ!!! ОНИ НЕПРИМЕНИМЫ!!!
И пройди всё-таки курсы Хотя бы первый.[/B] Ок. Завтра вечером попробую пройти. На всякий случай: http://www.intuit.ru/department/office/workaccessxp/1/ - это первый курс? |
|||
|
||||
| Данкинг |
|
||||||||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Да, согласен, поэтому перед этим вставляем
Понятно, видимо, там про VBA ничего и нет.
Разве? По-моему, Word, Excel, Access, Powerpoint по дефолту ставятся, хотя точно тоже не помню. Добавлено через 3 минуты и 33 секунды Мудрое замечание, а главное - не придерёшься:
Вообще я бы посоветовал литературу не в смысле "что-то для чайников", а вроде "VBA в Access". Была у меня такая книга, но найти не могу, поэтому автора не назову. -------------------- There's nothing left but silent epitaphs. |
||||||||
|
|||||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Это первая лекция этого курса. Не поможет. В тексте запроса отсутствует сортировка. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| FINANSIST |
|
|||
|
Статус: Жив ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 11.4.2008 Где: Москва Репутация: 1 Всего: 23 |
По просьбе модератора сарказм убрал.
Но посыл остается в силе: субд не предназначены матричных вычислений, а изучать теорию бд в привязке к конкретному прикладному продукту правильней по хорошей литературе а не пытаться чесать правое ухо левой рукой пытаясь изучить что-то Это сообщение отредактировал(а) FINANSIST - 17.2.2011, 12:57 -------------------- “...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности” Эдуард Успенский, “Каникулы в Простоквашино” |
|||
|
||||
| ADS |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 15.2.2011 Репутация: нет Всего: нет |
Там есть, просто это я не могу въехать в то, что там автор пытается объяснить. Язык как я понимаю состоит из двух частей: 1.синтаксиса, позволяющего правильно писать строчки 2. Кучи всяких иных знаний, например: а. Знание ООП и предопределенных классов. б. знание всяких заранее разработанных функций (которые не понятно где вообще смотреть) в. Принципы функционирования многозадачной операционной системы. Я пока знаю как только формировать строчки. Но я не могу понять какой класс за что отвечает, как к нему обращаться, и попросить у негу «услуги». Насколько я понимаю дело обстоит примерно так: любой объект access -это компонент. к нему можно каким-то боком обратится, и установив с ним соединение попросить что –нибудь сделать. Верно? Добавлено через 7 минут и 15 секунд
Пожалуйста
А мне безразлично что для чего нужно. Мне принципиально ясно из философских соображений , что имеется возможность считать значения таблиц и поместить их, скажем, в матрицу. Остается только понять каким макаром это можно сделать. Добавлено через 12 минут и 6 секунд Я её уже сдал |
||||||
|
|||||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |