| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > "Размер поля недостаточен, чтобы принять данные" |
| Автор: Данкинг 10.10.2007, 00:00 |
| Есть база Access, подключаюсь к ней через ADO. Есть два поля: одно из них длиной больше, чем другое. Я запросом пытаюсь присвоить данные из большего поля меньшему. Но сделать этого не получается, так как возникает ошибка "размер поля недостаточен, чтобы принять требуемые данные". Что сделать, чтобы Access перестал заботиться о сохранности данных? |
| Автор: Deniz 10.10.2007, 04:43 |
| 1. Изменить размер поля. 2. Сделать SubString в запросе. |
| Автор: Данкинг 10.10.2007, 09:42 | ||
1. Нет, мне нужен именно меньший размер. 2. А пример можно на Дельфи? |
| Автор: Deniz 11.10.2007, 05:28 | ||||
Да легко, например field1 varchar(20), field2 varchar(100) нужно перенести из field2 в field1 это запросом
в Delphi
|
| Автор: Akella 11.10.2007, 07:30 | ||
так немного универсальнее
|
| Автор: Deniz 11.10.2007, 14:27 |
| Akella, опечаточка у тебя вышла, нужно так: tbl.findfield('field1').value:=copy(tbl.findfield('field2').value, 1, tbl.findfield('field1').size); Для Автора: Есть удовлетворение? Или еще сомнения остались? Только вот мне не понятно, зачем такое "обрезание" делать? Должен быть какой-то более сложный алгоритм, чем просто copy(string, start, length). |
| Автор: Данкинг 11.10.2007, 19:43 | ||
Есть. Кстати, насчёт запроса с mid я сегодня сам догадался тоже. |
| Автор: Deniz 12.10.2007, 05:11 | ||
Звезда в шоке (с) (С.Зверев) На... зачем делать второе поле, переносить туда данные и иметь проблемы, когда можно сделать просто
|
| Автор: Данкинг 12.10.2007, 10:35 | ||||
Вах. Не подумал даже, что такое прокатит. Попробую. |