| 
| 
 | Вопрос # 3 080/ вопрос открыт / | 
 |  Здравствуйте уважаемые эксперты!
 Подскажите пожалуйста,
 
 как отобразить все столы (ClientDataSet) в одной таблице (DBGrid),
 
 а именно:
 
 есть стол "А" (ClientDataSetA),
 который имеет два поля ("А1" и "А2")     и
 
 есть стол "В" (ClientDataSetB),
 который имеет три поля ("В1", "В2" и "В3").
 
 Пытался через DataSourse но без результатно.
 
|  |   Вопрос задал: gyhy (статус: Посетитель)Вопрос отправлен: 10 августа 2009, 21:07
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 11; последнее сообщение — 12 августа 2009, 19:35; участников в обсуждении: 3. 
|   | Мережников Андрей (статус: Абитуриент), 10 августа 2009, 21:26 [#1]:сделайте один SQL запрос для получения интересующей информации в одном Query (ADOQuery) и свяжите его с DataSource, а уже тот с DBGrid. Более подробно можно ответить, если сообщите структуру БД и что такое столы. |  
|   | Вадим К (статус: Академик), 10 августа 2009, 21:37 [#2]:Кол-во полей разное... а как вообще они между собой должны соединятся? ведь нельзя просто взять так два набора данных и отобразить в одном гриде. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | gyhy (статус: Посетитель), 10 августа 2009, 22:04 [#3]:sorry, 
 есть стол "А" (ClientDataSetA),
 который имеет два поля ("А1" и "А2") и
 
 есть стол "В" (ClientDataSetB),
 который имеет три поля ("А3", "А4" и "A5").
 
 Стол "В" является продолжением вносимой информации по строке соответствия, - по ключу поля "А1"
 |  
|   | Вадим К (статус: Академик), 10 августа 2009, 22:44 [#4]:стол - это таблица? Если я правильно понял, то будет такой запрос
 select A.A1, A.A2, B.B2, B.B3 from A, B where A.A1 = B.B1
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | gyhy (статус: Посетитель), 11 августа 2009, 20:46 [#5]:"стол - это таблица?" ??? 
 TClientDataSetA - стол ( Table )
 TClientDataSetB - стол ( Table )
 TDBGrid         - таблица
 
 
 Задача состоит так:
 
 Есть стол "А", который имеет 80 полей из которых 10 - именные, а остальное второстепенные данные.
 
 Я хочу 1-н стол разделить на два стола с позиции стабильных единых данных через объединяющую отдельную форму Добавить/Редактировать.
 
 То-есть единая форма Добавить/Редактировать объединяет 2-а стола в одном DBGrid (DBGrid.ReadOnly := True).
 
 procedure TForm1.DBGridClick(Sender: Object);
 begin
 EditForm.Show; // где EditForm - форма Добавить/Редактировать 2-х столов воедино
 end;
 
 В дальнейшем в разработке программы фигурирует 1-я часть стола "А"
 |  
|   | gyhy (статус: Посетитель), 11 августа 2009, 20:50 [#6]:к Мережников Андрей, 
 что значит: "Более подробно можно ответить, если сообщите структуру БД и что такое столы. "?
 
 Повторяю изначально вопроса, ...:
 
 стол ClientDataSetA
 стол ClientDataSetВ
 в одном DBGrid
 
 Стол "В" является продолжением вносимой информации по строке соответствия, - по ключу поля "А1"
 |  
|   | Мережников Андрей (статус: Абитуриент), 12 августа 2009, 06:01 [#7]:где Вы взяли такую терминологию? БД - база данных
 таблица - составная часть базы данных.- не надо путать с DBGrid!!!
 структура БД - как хранятся данные в БД - какие таблицы составляют БД, какие поля в таблицах, как таблицы связаны между собой и т.д.
 
 а вот, что такое "стол" - не встречал еще ни разу, ни в одной книге.
 |  
|   | Вадим К (статус: Академик), 12 августа 2009, 10:22 [#8]:Я знаю откуда такая терминология. Достаточно открыть словарик и посмотреть перевод слова table. 
 Цитата: table1) стол
 to demmetriy
 Пожалуйста, используйте общепринятую терминологию. Иначе будет очень сложно ответит на Ваш вопрос.
 
 Цитата: 10 - именные, а остальное второстепенные данные Нет в базе именных полей и второстепенных. Вот поля с первычным и вторичным ключом - есть. И все поля обязаны иметь имя, поэтому наверно они все "именные".
 
 Цитата: Я хочу 1-н стол разделить на два стола с позиции стабильных единых данных через объединяющую отдельную форму Добавить/Редактировать. Воу.... первую часть ещё понял. Разделить, что бы потом соединить....
 Автор, используй нормальные названия. Если не знаешь русских - напиши на английском/украинском (переведем и впишем русский вариант).
 В противном случае будем считать троллем. Пока оно на это и похоже.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | gyhy (статус: Посетитель), 12 августа 2009, 18:43 [#9]:Программисты практики обычно говорят: 
 "Главное практика - залог новых технологий, а не теория "
 
 Для всех, кому не нравится слово "стол" (Table), я использую слово "компонент", надеюсь для особой логики земное теоретическое обоснования данного термина ясны участникам форума.
 
 Повторяю вопрос, может ли кто мне помочь в данной проблеме:
 
 Надо компоненты (а точнее их поля) TClientDataSet_1 (содержит 2 поля) и TClientDataSet_2 (содержит 3 поля) отобразить в компоненте TDBGrid_1.
 
 Возможно Вы мысленно зададите мне вопрос:" почему не один компонент TClientDataSet_Main состоящий c 5-и полей, отображения которых шлифует компонент TDBGrid_1 (типа, отобразить определенные поля, как это в общем и принято)." Я Вам отвечу в слух: " Я хочу так как я хочу и так это будет в любом случае независимо от того как это сделать, но оно будет".
 
 Подвожу итоги:
 
 Если Вы не компетентны в данном вопросе, то убедительная просьба воздержитесь от глупых высказываний, толку мало.
 |  
|   | Мережников Андрей (статус: Абитуриент), 12 августа 2009, 19:33 [#10]:дело не в "нравится, не нравится", а в общепризнанной терминологии. Прежде, чем заниматься практикой, не мешало бы подучиться в теории, а не обвинять других в глупости. Используя термин "компонент", уходите еще дальше от сути. "Я Вам отвечу в слух: " Я хочу так как я хочу и так это будет в любом случае независимо от того как это сделать, но оно будет"." - хотеть не вредно, вредно - не хотеть. Но связать два компонента TClientDataSet с одним TDBGrid - не получится, хоть лоб расшибите. Катайтесь лучше на мотоцикле...безопаснее и мозги напрягать не надо теорией
 |  
|   | Вадим К (статус: Академик), 12 августа 2009, 19:35 [#11]:давайте белое назовем черным, зеленым или желтым, но только не белым - остальные всё равно догадаются. приблезительно так можно истолковать предыдущее сообщение. " шлифует компонент" что он делает???
 А теперь по вопросу. Нельзя объеденить две таблицы, если они неоднотипные или у них нет поля для связи.
 "приложить одну к другой" - я так понимаю вопрос - тоже нельзя без поля связи.
 Многие начинающие программисты баз данных не понимают, что в неотсортированной таблице нельзя говорить о порядке записей (это первая, это вторая) - это одно с основополагающих понятий.
 Именно по этой причине спрашивали структуру таблицы, связь полей.
 
 Сложно компетентно отвечать на вопрос, который задан некомпетентно и автор вопрос даже не пытается понять, почему ему не хотят отвечать.
 Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |