|
|
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
здравствуйте. следующая задача: учебная база данных такси,там есть таблицы по не скольким разным фирмам, заполненные данными о поездках (водитель, километраж, сумма и т д) как сформировать отчет по всем этим таблицам одновременно? поля везде одинаковые, нужна также группировка по водителям и еще вопрос подобные отчеты нужно создавать по датам как я понимаю, это нужно делать через запросы(условие отбора - дата такая-то) вот такая задача простите, если совсем примитивно, знакомство только началось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 13:26 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
Включаю на полную мощность свои телепатические способности и вижу, что база уже существует. Вижу в ней несколько таблиц. К сожалению, названий таблиц и полей не вижу. Слишком мелко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 14:22 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
уважение за проявление способности, нечасто такое встретишь =) таблица с названиями компаний-заказчиков такси: NMC, RPO и т д . один заказ (поездка) состоит из следующих записей: водитель, клиент, мин по москве, км по мкаду, км по области, сумма.. если не углубляться в подробности если поможешь решить проблему, обязуюсь выпить литр пива исключительно за тебя ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 00:24 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
И действительно у всех таблиц одинаковая структура... Странная база. Если она еще и учебная, то это яркий пример, как писать базы нельзя. Чтобы соединить несколько одинаковых таблиц вместе, пишут так: select *, 1 as XXX from table1 union all select *, 2 as XXX from table2 union all select *, 3 as XXX from table3 и т.д. Для среза по дате можно дописать в конце: where полесдатой between d1() and d2() Отдельно в каком-нибудь модуле надо описать эти две функции примерно так: public v1 as date,v2 as date public function d1()as date d1=v1 end function public function d2()as date d2=v2 end function Перед запуском отчета надо занести две даты в переменные v1 и v2. Группировка по водителям - это в режиме конструктора отчета кнопка Sorting and Grouping. Откроется окошко, в нем надо выбрать то поле, в котором содержится водитель, и GroupFooter=Yes и/или GroupHeader=Yes. В этот футер или хедер надо поместить те поля, которые относятся к водителю, чтобы не повторялись в каждой строке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 00:34 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
спасибо огромное! эта структура условие :( осталось разобраться как и где писать модули=) select *, 1 as XXX from table1 union all select *, 2 as XXX from table2 union all select *, 3 as XXX from table3 можно этот тонкий момент поподробнее? или лучше, где лучший мануал, чтоб народ не доставать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 00:55 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
Делаешь запрос, открываешь его в режиме SQL и ваяешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 00:59 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
Модули очень просто - на закладке "Модули" окна базы данных.\r \r 1 as XXX\r 2 as XXX\r 3 as XXX\r - это добавленное искусственно поле, по которому можно судить, из какой таблицы взята та или иная запись. Вместо 1, 2, 3 можно взять "NMC", "RPO" и т.д. XXX - это произвольное название для этого поля.\r \r table1\r table2\r table3\r - это названия таблиц.\r \r Насчет мануала ничего сказать не могу. На этом форуме большим авторитетом пользуется книга Гетца:\r /topic/45618 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 01:03 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
cпасибо всем снизошедшим, приз за лучший ответ-) очень доступно еще раз спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2004, 01:04 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
снова пара вопросов=) в запросе в поле сумма стит результат, но он не записывается в таблицу. как это сделать? второе. нужно сделать запрос, при котором сначала предлагалось бы выбрать значение из списка условно: отобрать все поездки водителя иваноа т е у нас появляется список водителей, и ищутся все записи водитель=иванов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 19:44 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
блин ну и где вся оперативность :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 20:30 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
Чтобы записывалось в таблицу, надо запускать запрос на обновление или на добавление. Выбор из списка надо делать в форме, а в запросе обращаться к контролу формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 22:21 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
а как сделать это обновление автоматическим? снова спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 00:45 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
Снова пожалуйста. А в какой момент оно должно происходить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 00:47 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
хотя я наверно формулирую задачу неверно.. есть база вводятся реквизиты поездки, потом высчитывается сумма. все это добавляется в единую (уже единую :)) таблицу какими средствами это лучше сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 00:58 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
А зачем эту сумму заносить в таблицу? Ее нельзя потом посчитать по мере необходимости? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 00:59 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
то есть ты предлагаешь все данные просто заносить в запрос, и по нему же формировать отчет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 01:02 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
Хранить избыточные данные (которые можно вычислить из других) - обычно нехорошо. Правда, учитывая структуру этой базы, еще одним нарушением хорошего тона больше или меньше роли не играет. Можно сделать так - на форме размещены поля реквизитов и суммы. при заполнении последнего поля реквизитов в его процедуре обработки события После обновления вычислять сумму и заносить ее в поле Сумма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 01:09 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
Совершенно точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 01:10 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
Сумму хранить в таблице имеет смысл только в одном случае: если она зависит от каких-то параметров, меняющихся со временем, и вычисление потом может дать иной результат, чем вычисление сейчас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 01:11 |
|
||
|
отчеты в аксесс из несольких таблиц
|
|||
|---|---|---|---|
|
#18+
Поправка к реплике Alexander G: Не при заполнении последнего поля реквизитов, а при заполнении каждого поля реквизитов. Нехорошо заставлять людей заполнять поля в определенном порядке. А если потом исправят одно из полей, то ведь тоже надо сумму пересчитывать. Другое дело, что процедура вычисления может проверять, все ли поля заполнены, и если данных для вычисления не хватает, то стирать сумму (заносить в нее Null). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 01:17 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32476765&tid=1675318]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
161ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 433ms |

| 0 / 0 |
