|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.02.2014, 14:05 | #11 |
Пользователь
Регистрация: 13.02.2014
Сообщений: 19
|
Ошибка.(
Project .exe raised exception class EListError with message 'List indexout of bounds (3)'. И добавляет запись в первом же DBGrid'е При нажатии выводит ошибку такого плана: Project...exe raised exception class ElistEditor with message 'List index out of bounds(3)' И добавляет в первый же на котором выбираю грид впереди первой записи. procedure TForm3.SpeedButton1Click(Sender: TObject); var i,FieldsCount:integer; begin with DBGrid1.DataSource.DataSet do begin insert; for i:=0 to FieldsCount-1 do Fields[i].value:=Form2.DBGrid1.DataSource.Da taSet. Fields[i].value; end; Может в коде что не так? Последний раз редактировалось Stilet; 16.02.2014 в 16:32. |
16.02.2014, 14:28 | #12 | |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
Цитата:
судя из ошибки у тебя в одной DataSet-e(из которого добавляешь) полей больше чем в другом DataSet-e(в который добавляешь) Вопрос: в твоём проекте DataModule есть?
Тяжело быть бестолковым.....
|
|
16.02.2014, 14:41 | #13 |
Пользователь
Регистрация: 13.02.2014
Сообщений: 19
|
Даже не представляю, что это за компонент, DataModule.
Второй грид, в который добавляешь. он пуст. но запрос, кажется не верен в соурсе такой. SELECT Класс, Наименование, Единицы_измерения AS [Ед_изм], Количество AS [Кол-во],Срок_носки FROM Clothes where Класс="ytfytgu" Мне надо чтобы он был пустой, я же в него добавляю.Придерживаясь компонентам DBLookupComboBox. |
16.02.2014, 14:52 | #14 | ||
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Цитата:
Evgen7, для того, что бы перенести данные, в принимающей таблице должна быть создана новая строка. Перед тем как перенести данные в другой DBGrid у его DataSet необходимо вызвать метод Insert. Цитата:
Вот, например, официальная документация: Insert Delete |
||
16.02.2014, 15:08 | #15 | |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
Цитата:
но спешу не согласится. ошибка 'List index out of bounds(3)' возникаем вот в этом коде: Код:
Тяжело быть бестолковым.....
|
|
16.02.2014, 15:23 | #16 |
Пользователь
Регистрация: 13.02.2014
Сообщений: 19
|
Ребята, смотрите.У меня в гриде, в котором выбираю три поля.А в который добавляется больше полей(+ еще 2)Вот.Так я в эти поля(два поля) хотел 'тыкать' и редактировать прямо в гриде, это думаю возможно, а не добавлять откуда-то.Но при этом они еще и в базу должны забиваться.Я в делфи ничего серьезного не делал.Поэтому плохо разбираюсь.Сори.
|
16.02.2014, 15:39 | #17 | |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
Цитата:
Тяжело быть бестолковым.....
|
|
16.02.2014, 15:44 | #18 |
Пользователь
Регистрация: 13.02.2014
Сообщений: 19
|
До редактирования пока не дошло.У меня спидбатон.Пойдет на добавление?
|
16.02.2014, 16:04 | #19 | |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
Цитата:
для добавления подойдёт даже CheckBox, всё зависит от того что ты напишешь на событие OnClick. попробуем пошагово разобраться: 1. и так у тебя в базе есть какие-то таблицы(1_таблица, 2_таблица), соответственно в таблицах поля: для 1_таблица(поле_1, поле_2, поле_3); для 2_таблица(поле_1, поле_2, поле_3, поле_4, поле_5). 2. судя из того что ты писал в своих постах - нужно из 1_таблица вставить данные в 2_таблица и заполнить "руками" оставшиеся незаполненные поля (надеюсь правильно понял). 3. для копирования данных из 1_таблица в 2_таблица, код тебе уже приводили 4. оставшиеся 2 поля(в 2_таблица) можно заполнить руками, это просто. 5. постарайся мыслить, не компонентами с которыми ты работаешь, а наборами данных(DataSet-ы), компоненты служат для отображения этих же данных. тогда тебе будет проще самому понимать что делаешь это для ознакомления: http://www.delphiplus.org/programoro...lphi7_135.html
Тяжело быть бестолковым.....
Последний раз редактировалось Dark_Spirit; 16.02.2014 в 16:07. |
|
16.02.2014, 16:31 | #20 | |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Цитата:
Изначально в посте #3 Вы говорили только про 2 формы (Form1 и Form2), теперь в посте #9 появилась ещё 3я форма (Form3). Как компоненты, которые расположены на ней, тот же DBGrid, связаны с БД и связаны ли они с ней вообще? Где теперь расположен DBGrid в который производится копирование? Простите, я не хочу Вас обидеть, но по моему Вы что-то не договариваете. Опишите проблему целиком. Что, откуда, куда необходимо скопировать, где расположены и как соединены с БД то откуда и то куда нужно скопировать. В крайнем случае, выложите проект. Возможно, что его изучение поможет точно понять то, что Вам самому сложно объяснить на словах. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Добавление новой записи в DBGrid из 2х DBLookupComboBox | ta_n_u_s_h_ka | БД в Delphi | 0 | 05.06.2012 18:21 |
Удаление записи из DBGrid через запрос | manula | БД в Delphi | 1 | 23.05.2012 10:48 |
Добавление записи через DBGrid или Edit. | IgoreKMaN | БД в Delphi | 1 | 01.05.2012 11:24 |
Добавление записи в DBGrid c помощью кода | Droid | БД в Delphi | 12 | 27.06.2009 16:07 |
добавление и удаление столбцов в DBGrid по нажатию кнопки | MargoNik | БД в Delphi | 6 | 27.04.2009 15:44 |