|
|
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Существует таблица Tovars с полями ID, Name, Parent. Где ID ключ товара или категории товаров или надкатегории товаров или еще более высокий уровень категории товаров. То есть товары содержаться в категориях третьего уровня. Категории третьего уровня в категориях второго уровня и так далее. Поле Name текстовое поле с наименованием товара или категории. Поле Parent код родителя для данного экземпляра. Необходимо создать форму(желательно не используя VBA) в которой четыре поле со раскрывающимися списками. А именно при выборе значения из первого списка, во втором предлагаеются лишь дети данного значения, потом при выборе значения из второго списка предлагаются дети этого второго значения в третьем и так далее до конечного объекта(товара). И после выбора конечного товара его ID в таблицу Results. Заранее благодарен за совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 10:48 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
И еще как можно в SQL запросе в Accesse присвоить некой переменной занчение взятое допустим из другой формы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 11:04 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
автор И еще как можно в SQL запросе в Accesse присвоить некой переменной занчение взятое допустим из другой формы Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 11:10 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
автор Необходимо создать форму(желательно не используя VBA) в которой четыре поле со раскрывающимися списками ну без VBA тут не обойтись полюбому. Тебе надо на событие AfterUpdate комбобокса повесит след. код, если значение выбирается из комбо, где содержатся категории первого уровня: Код: plaintext Код: plaintext а датасорс будет примерно такой, для ComboBox2Level: Код: plaintext и т.д. p.s. FormName, ComboBoxXLevel замени на свои названия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 11:19 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Спасибо большее. А то я в Акцессе новичок, в основно писал процeдуры на T-SQL для PB. Только начал на новой работе его осваивать.И еще такой вопрос В Акцессе возможно что то типа такого Insert T1 Select F1 From T2 Where F1=Forms!FormName!ControlName ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 11:30 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
автор В Акцессе возможно что то типа такого Insert T1 Select F1 From T2 Where F1=Forms!FormName!ControlName попробуй ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 11:33 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
И последний вопрос, сорри за напряг такой. Как потом заинсертить ID товара из последнего комбо в таблицу Results скажем в поле Accounts тип integer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 11:37 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Вешаешь на какую нибудь кнопку этот код: CurrenDb.Execute "INSERT INTO Results (Acounts) VALUES (" & Me!ComboBox4Level & ")", dbFailOnError ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 11:41 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Это на в процедуре OnClick buttonя это прописываю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 11:47 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
угу, именно там ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 11:48 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Спасибо не порекомедуешь какую нить ссылочку по ВБА для Аксесс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:08 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
раньше много ссылок в фаворитах было, счас тока одна осталась: http://www.sql.ru/forum/actualtopics.aspx?bid=4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:10 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Все полностью прокатило как передать пиво в Латвию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:41 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Спасибо, у нас своего пива хватает, ну и российского тоже навалом ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:44 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Private Sub Command4_Click() CurrenDb.Execute "INSERT INTO Results (Accounts) VALUES (" & Me!ComboBox2Level & ")", dbFailOnError End Sub С деревом все супер, едиственное что выдает ошибку Object requiers при активации вышеназванной процедуры хотя комбо бокусу присваивает целочисленное значение. В чем проблема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:52 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Кнопка и комобокс на одной и той же форме находятся, или комобокс на сабформе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:55 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
на одной форме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:00 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
а комбобокс у тебя именно так называется: ComboBox2Level ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:02 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
точно так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:03 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Curren t Db.Execute ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:06 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Точно в этом все и была проблема синтаксиса геть(по-русски вообще) не знаю. А в принципе передавать значение таким образом можно и в 2 поля если комбокс выдает 2 поля одной записи, только в этом случае CurrenDb.Execute "INSERT INTO Results (Acounts, Name) VALUES (" & Me!ComboBox4Level & ")", dbFailOnError комбокс4 допустим выдает и id и name то есть свойства для комбо Bound Column=2 и в селекте 2 поля тоже правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:15 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
автор CurrenDb.Execute "INSERT INTO Results (Acounts, Name) VALUES (" & Me!ComboBox4Level & ")", dbFailOnError комбокс4 допустим выдает и id и name то есть свойства для комбо Bound Column=2 и в селекте 2 поля тоже правильно? не совсем правильно, правильно будет так: CurrentDb.Execute "INSERT INTO Results (Acounts, Name) VALUES (" & Me!ComboBox4Level & ", ' " & me!ComboBox4Level.Column(1) & " ' )", dbFailOnError ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:19 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
ага то есть первое поле указанное в Results идет как обычно а все последущее с индексом 1 и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:23 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
угу ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:26 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
авторага то есть первое поле указанное в Results идет как обычно а все последущее с индексом 1 и т.д. Не совсем так Через свойство Column(x) можно обратиться к любому полю в комбе (отсчет начинается от 0) А свойство Value (если не указано, к какому свойству идет обращение, то Акс обращается именно к этому свойству) заполняется в зависимости от свойства «Присоединенный столбец» (BoundColumn) т.е. Combo0 и Combo0.Value - одно и то же! а выражение (Combo0.Value = Combo0.Column(Combo0.BoundColumn - 1)) должно всегда выдавать ИСТИНУ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:34 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Я так понял свойство Bound Column это количество присоединяемых полей, к первому указанному в датасорсе полю в селекте например Датасорс Select id, name from Tab Bound Column=1 Это означает что в Combo.Value=id а Combo.Column(1).Value=name а если Датасорс Select name, id from Tab Bound Column=1 Это означает что в Combo.Value=name а Combo.Column(1).Value=id а если Датасорс Select id, pаrent, name from Tab Bound Column=1 Это означает что в Combo.Value=id а Combo.Column(1).Value=parent? правильно или что то не так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 14:17 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
авторЯ так понял свойство Bound Column это количество присоединяемых полей, к первому указанному в датасорсе полю в селекте например Я так из ваших выкладок ничего не понял :( свойство BoundColumn указывает, какой столбец является "ключевым" т.е. значение какого столбца (по порядку) будет заноситься в свойство Value, и если комбо связан с полем таблицы, то и в поле таблицы автора если Датасорс Select id, pаrent, name from Tab Bound Column=1 Это означает что в Combo.Value=id а Combo.Column(1).Value=parent? Если следовать вашей структуре записи, то Bound Column=1 Combo.Value - id Combo.Column(0) - id Combo.Column(1) - parent Combo.Column(2) - name Bound Column=2 Combo.Value - parent Combo.Column(0) - id Combo.Column(1) - parent Combo.Column(2) - name понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 14:26 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
ну а если так, Датасорс Select id, name, parent from Tab Bound Column=3 то что будет в Combo.Value? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 14:28 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
авторто что будет в Combo.Value? ;) Это мне вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 14:29 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
тьфу, пока писал, папаримский ответ дал на мой вопрос ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 14:30 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Нет - не мне ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 14:31 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
ну а если так, Датасорс Select id, name, parent from Tab Bound Column=3 то что будет в Combo.Value? ;) Спасибо разобрался Combo.Value= parent это уже понятно То есть в принципе можно не обращать внимание на Bound Column, а писать сразу Combo.Column(0).Value, Combo.Column(1).Value, ....и быть увереным что все правильно отобразиться нумеруя столбцы как RowSource -ском Select ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 14:45 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
автор То есть в принципе можно не обращать внимание на Bound Column, а писать сразу Combo.Column(0).Value, Combo.Column(1).Value можно просто Combo.Column(0), Combo.Column(1) и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 14:51 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
авторТо есть в принципе можно не обращать внимание на Bound Column В принципе, если контрол не связан с полем таблицы, то вроде можно не обращать внимания :) PS: Только не расценивайте это как совет :) Мало ли какие грабли могут вылезти :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 14:54 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
возможно ли применение алиасов таблиц и правильный ли синтаксис? Dim SQL as String Set SQL="Insert Results " & _ "Select sum(tab1.fl1), tab2.fl2 " & _ "From tovar tab1 left Join category tab2 on tab1.code=tab2.code" & _ "Join tovar tab3 left join tab2.code=tab3.code1" & _ "Group by tab2.fl2" CurrentDB.Execute SQL или CurrentDB.Execute "SQL" (как правильно?) И Какой длины SQL инструкцию можно вставлят вставлять в CurrentDb.Execute ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 15:10 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
Dim SQL as String Set SQL="Insert Results " & _ "Select sum(tab1.fl1), tab2.fl2 " & _ "From (tovar tab1 left Join category tab2 on tab1.code=tab2.code)" & _ "Left Join tovar tab3 On tab2.code=tab3.code1" & _ "Group by tab2.fl2" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 15:15 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
да такой запросик в принципе когда его набирать в Query Analizer скобки не обязательны, не знаю как в Акс, и еще мне интересно можно ли в одном запросе джойнить одну и ту же таблицу но под разными алиасами и их использовать в предложении SELECT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 15:23 |
|
||
|
Дерево товаров и кaтегорий товаров.
|
|||
|---|---|---|---|
|
#18+
авторда такой запросик в принципе когда его набирать в Query Analizer скобки не обязательны, не знаю как в Акс Если это чистый Акс, т.е не ADP, то лучше ставить скобки + У вас там и кроме скобок ошибок хватало :(, такое даже QA не переварит автори еще мне интересно можно ли в одном запросе джойнить одну и ту же таблицу но под разными алиасами и их использовать в предложении SELECT. Можно PS: Новый вопрос - новый топ (ИМХО) - это рекомендовано правилами - название топа будет говорить людям об обсуждаемом в данный момент вопросе - люди не будут думать, что идет продолжение означенного в название вопроса и, возможно, будет больше отвечающих - получите более точный ответ и гораздо быстрее (я, например, не смотрю многостраничные топы, в которых не принимал участие - только если от скуки) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 15:34 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1674102]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
153ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 481ms |

| 0 / 0 |
