Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Размер поля недостаточен, чтобы принять данные", Access + ADO 
:(
    Опции темы
Данкинг
Дата 10.10.2007, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Есть база Access, подключаюсь к ней через ADO. Есть два поля: одно из них длиной больше, чем другое. Я запросом пытаюсь присвоить данные из большего поля меньшему. Но сделать этого не получается, так как возникает ошибка "размер поля недостаточен, чтобы принять требуемые данные". Что сделать, чтобы Access перестал заботиться о сохранности данных? smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Deniz
Дата 10.10.2007, 04:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



1. Изменить размер поля.
2. Сделать SubString в запросе.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Данкинг
Дата 10.10.2007, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Deniz @ 10.10.2007,  05:43)
1. Изменить размер поля.
2. Сделать SubString в запросе.

1. Нет, мне нужен именно меньший размер.
2. А пример можно на Дельфи?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Deniz
Дата 11.10.2007, 05:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(Данкинг @  10.10.2007,  12:42 Найти цитируемый пост)
2. А пример можно на Дельфи? 

Да легко, например field1 varchar(20), field2 varchar(100) нужно перенести из field2 в field1
это запросом
Код

update tbl set field1 = Mid(field2, 1, 20)

в Delphi
Код

tbl.first;
while not tbl.eof do begin
  tbl.edit;
  tbl.findfield('field1').value:=copy(tbl.findfield('field2').value, 1, 20);
  tbl.post;
  tbl.next;
end;


Это сообщение отредактировал(а) Deniz - 11.10.2007, 05:29


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 11.10.2007, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



так немного универсальнее
Код

tbl.findfield('field1').value:=copy(tbl.findfield('field2').value, 1, tbl.findfield('field2').size);

PM MAIL   Вверх
Deniz
Дата 11.10.2007, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Akella, опечаточка у тебя вышла, нужно так:
tbl.findfield('field1').value:=copy(tbl.findfield('field2').value, 1, tbl.findfield('field1').size);

Для Автора:
Есть удовлетворение? Или еще сомнения остались?
Только вот мне не понятно, зачем такое "обрезание" делать?
Должен быть какой-то более сложный алгоритм, чем просто copy(string, start, length).

Это сообщение отредактировал(а) Deniz - 11.10.2007, 14:30


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Данкинг
Дата 11.10.2007, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Deniz @ 11.10.2007,  15:27)
Для Автора:
Есть удовлетворение? Или еще сомнения остались?

Есть. Кстати, насчёт запроса с mid я сегодня сам догадался тоже. smile А зачем - для обрезания базы и дальнейшего экспорта её в DBF.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Deniz
Дата 12.10.2007, 05:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(Данкинг @  11.10.2007,  22:43 Найти цитируемый пост)
А зачем - для обрезания базы и дальнейшего экспорта её в DBF. 

Звезда в шоке (с) (С.Зверев)
На... зачем делать второе поле, переносить туда данные и иметь проблемы, когда можно сделать просто
Код

select ..., mid(field, 1, 20) from table
 и никакого поля создавать не надо


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Данкинг
Дата 12.10.2007, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Deniz @ 12.10.2007,  06:11)
Код

select ..., mid(field, 1, 20) from table
 и никакого поля создавать не надо

Вах. Не подумал даже, что такое прокатит. Попробую.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1321 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.