![]() |
|
Модераторы: Akina |
![]()
|
|
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Привет!!!
Я вам наверное уже надоел, со своими ламерскими вопросами. Вобщем есть 3 связанных таблицы: Таблица: Besteling ![]() Таблица: Menu ![]() Таблица: MenuGroups ![]() Мне необходимо создать отчёт с помощью DataReport и всё вроде ничего, но этот отчёт должен состоять не со всех полей приведённых выше таблиц, а из следующих:
Отсюда видно, что отчёт долже быть сгенерирован из полей нескольких таблиц, причём не всех подряд. Пишу такую процедуру:
Но все строки в отчёте одинаковые. Подскажите как создать отчёт при помощи DataReport из нескольких таблиц??? Спасибо. Это сообщение отредактировал(а) korob2001 - 29.5.2005, 11:56 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
Надо связать все три таблицы при помощи JOIN, к примеру так.
Этот запрос вернет тебе все результат уже трех связаных таблиц по указаным полям. А дальше уже подцепляй RecordSet к DataReport. Это сообщение отредактировал(а) boevik - 29.5.2005, 12:15 -------------------- Никогда не говори никогда |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
![]() Может я что-то не так написал???
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
Создай запрос в Access, он же построит и требуемый правильный SQL.
-------------------- Никогда не говори никогда |
|||
|
||||
| Gannibal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 742 Регистрация: 15.4.2003 Где: 010101 Репутация: 18 Всего: 17 |
если поможет
-------------------- Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить! |
|||
|
||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Запрос построил, вот так работает:
Мне нужно ещё отобрать те записи, у которых поле JoinTime >= var1 AND JoinTime <= var2 AND Pyid=1 AND TranssControl=1 где:
Т.е. я должен получить только одну запись, самую последнюю в таблице Besteling и всё её связи с другими таблицами, перая же запись за 29 число не должна пройти из-за того, что у неё не установлен флажок в поле TranssControl, хотя по дате и времени она проходит. Как я понимаю, то нужно в конец добавить это условие, добавляю и получаю опять ошибку в SQL запросе. M.E.G.U.S - да топик действительно по этой теме, но у меня не одна таблица а три и что самое плохое, это то, что нужно выдёргивать по нескольку полей из каждой, да ещё при этом сравнивать с датами и Boolean. С одной таблицей я разобрался сразу, по учебнику, а вот про несколько таблиц в нём ничего не нашёл. Это сообщение отредактировал(а) korob2001 - 29.5.2005, 17:21 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
korob2001, так в чем проблема?
Обрати внимание на формат даты. -------------------- Никогда не говори никогда |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Я вот именно на неё и обращаю внимание. У меня дата в базе и в переменной в таком формате: БД: 22.05.2005 15:41:17 Переменная: Format( CDate( txtDate.text ), "ddddd ttttt") Т.е. в переменной получается аналогичный формат, как и в БД. Но у тебя вместо разделителя точка, стоят слэши. Это играет какую-то роль или это зависит от региональных настроек?? -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Gannibal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 742 Регистрация: 15.4.2003 Где: 010101 Репутация: 18 Всего: 17 |
в запросе со слешами .. а в таблице без с точкой тй.. должно нормально работать одно второму немешает у тебя всёравно должен формат переводиться в нормальный с точками как у тебя стоит..
-------------------- Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить! |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Да играет, уже проверил, такой формат не катит. Но дело в том, что я получаю дату из DTPicker, затем сохраняю её в переменную типа as Date.
Это сообщение отредактировал(а) korob2001 - 29.5.2005, 18:27 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Gannibal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 742 Регистрация: 15.4.2003 Где: 010101 Репутация: 18 Всего: 17 |
а как катит? или вообще никак ещё?
-------------------- Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить! |
|||
|
||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Вот если я использую такой запрос:
т.е. вставляю дату в ручную, то всё работает так как надо, но если только подставляю вместо дат переменные, то сразуже получаю ошибку в SQL запросе. Даты в переменные я получаю так:
Вот тут и получаю ошибку. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| boevik |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
Замени на
и для сравнения дат лучше использовать DateDiff
Это сообщение отредактировал(а) boevik - 29.5.2005, 18:48 -------------------- Никогда не говори никогда |
||||||||
|
|||||||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Исправил, но всё равно получаю сообщение:
![]() Он всё равно расставляет точки. Это сообщение отредактировал(а) korob2001 - 29.5.2005, 18:56 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
korob2001 обрати внимание, что datFrom и datTo типа String
-------------------- Никогда не говори никогда |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |