20.11.2003, 09:48 | #1 |
Участник
|
Связь двух таблиц
Доброго времени суток!
Может я задам вопрос который уже обсуждался, тогда киньте в меня ссылкой (а то в поиске ничего не находит). Задача следующая: Имеются две таблицы: 1. BankAccountTable 2. BankBalanceTable состоящая из сл. полей: bankAccount, TransDate и Amount / Связь: BankAccountTable.AccountID <=> BankBalanceTable.bankAccount. Нужно в grid`е формы нужно вывести сл. поля: 1. BankAccountTable.Name - readonly 2. BankAccountTable.AccountNum - readonly 3. BankBalanceTable.TransDate - read/write 4. BankBalanceTable.Amount - read/write И вот тут начинается самое интересное - а именно связь здесь должна быть очень интересная: из таблицы BankAccountTable должны выводится все записи не зависимо есть ли запись в BankBalanceTable удовлетворяющая условию или нет. Если такой записи нет, то grid должен позволять добавлять такую запись. И еще, в BankBalanceTable должны выводится отфильтровынный записи - BankBalanceTable.TransDate = today().
__________________
Roman "Daemon" Krivov Specialist of “CORUS Group” IT department |
|
20.11.2003, 10:18 | #2 |
Участник
|
Часть проблемы решена
Часть проблемы я решил сам:
1. Создаем новый тип MyBankAccount и в нем укахываем Reletions MyBankAccount => BankAccountTable.AccountId 2. В форме два DataSource: BankAccountTable_DS и BankBalanceTable_DS: 3. Создаем GRID с нужными полями 4. В BankBalanceTable_DS указываем: JoinSource = BankAccountTable LinkType = OnnerJoin 5. Перекрываем метод write в BankBalanceTable_DS: PHP код:
PHP код:
__________________
Roman "Daemon" Krivov Specialist of “CORUS Group” IT department |
|
20.11.2003, 14:58 | #3 |
Administrator
|
Re: Часть проблемы решена
Да нет, все работает.
Давайте по порядку. Цитата:
Изначально опубликовано daemon
1. Создаем новый тип MyBankAccount и в нем укахываем Reletions MyBankAccount => BankAccountTable.AccountId Relations в Вашей таблице BankBalanceTable, таким образом, указывать не надо. Просто укажите, что тип поля BankAccount в BankBalanceTable - CompanyBankAccountId. Цитата:
Изначально опубликовано daemon
2. В форме два DataSource: BankAccountTable_DS и BankBalanceTable_DS: 3. Создаем GRID с нужными полями 4. В BankBalanceTable_DS указываем: JoinSource = BankAccountTable LinkType = OnnerJoin Цитата:
Изначально опубликовано daemon
5. Перекрываем метод write в BankBalanceTable_DS: Цитата:
Изначально опубликовано daemon
Только теперь другая проблема: в gride появились пустые строки. Цитата:
Изначально опубликовано daemon
К тому же фильтр не работает: public void executeQuery()
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
20.11.2003, 15:11 | #4 |
Участник
|
Re: Re: Часть проблемы решена
Цитата:
Изначально опубликовано Maxim Gorbunov
Стоп. Во-первых, определитесь, в какую таблицу Вы хотите добавлять запись. Если в BankBalanceTable (что, по моему, более вероятно), проверьте, что свойство DataSource у Grid равно BankBalanceTable. В противном случае будет добавляться запись в таблицу банковских счетов. Цитата:
Изначально опубликовано Maxim Gorbunov
А без фильтра они тоже есть? Цитата:
Изначально опубликовано Maxim Gorbunov
А у какого DataSource вы перекрываете executeQuery? PHP код:
PHP код:
__________________
Roman "Daemon" Krivov Specialist of “CORUS Group” IT department |
|
20.11.2003, 15:29 | #5 |
Administrator
|
Все-таки, какой Data Source у Grid'а?
В любом случае, боюсь, что условия "из таблицы BankAccountTable должны выводится все записи не зависимо есть ли запись в BankBalanceTable удовлетворяющая условию или нет" и "Если такой записи нет, то grid должен позволять добавлять такую запись" взаимоисключающие. Получить такое стандартными средствами тяжело.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
20.11.2003, 15:34 | #6 |
Участник
|
Цитата:
Изначально опубликовано Maxim Gorbunov
Все-таки, какой Data Source у Grid'а?
__________________
Roman "Daemon" Krivov Specialist of “CORUS Group” IT department |
|
20.11.2003, 15:39 | #7 |
Участник
|
Цитата:
Изначально опубликовано Maxim Gorbunov
В любом случае, боюсь, что условия "из таблицы BankAccountTable должны выводится все записи не зависимо есть ли запись в BankBalanceTable удовлетворяющая условию или нет" и "Если такой записи нет, то grid должен позволять добавлять такую запись" взаимоисключающие. Получить такое стандартными средствами тяжело. Я это реализовал. Единственное что осталось - удалить пустые строки в grid`е
__________________
Roman "Daemon" Krivov Specialist of “CORUS Group” IT department |
|
20.11.2003, 15:51 | #8 |
Administrator
|
Цитата:
Изначально опубликовано daemon
BankBalanceTable Да, кстати, а executeQuery на каком DataSource? BankAccountTable?
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
20.11.2003, 16:13 | #9 |
Участник
|
Цитата:
Изначально опубликовано Maxim Gorbunov
В таком случае, боюсь, что все строки в BankBalanceTable, которые Вы создаете через эту форму, принадлежат одному и тому же BankAccount (скорее всего первому). Я прав? Цитата:
Изначально опубликовано Maxim Gorbunov
Да, кстати, а executeQuery на каком DataSource? BankAccountTable?
__________________
Roman "Daemon" Krivov Specialist of “CORUS Group” IT department |
|
20.11.2003, 16:28 | #10 |
Administrator
|
Шайтан!
А можно на Вашу форму посмотреть?
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
20.11.2003, 16:32 | #11 |
Участник
|
Цитата:
Изначально опубликовано Maxim Gorbunov
Шайтан! А можно на Вашу форму посмотреть?
__________________
Roman "Daemon" Krivov Specialist of “CORUS Group” IT department |
|
|
Похожие темы | ||||
Тема | Ответов | |||
отчёт из двух таблиц на двух листах с группировкой | 4 | |||
LookUp из двух таблиц ... | 16 | |||
Связь двух разных кубов в OLAP? | 5 | |||
Невидимая связь двух таблиц в формах | 11 |
|