Страницы: 1
RSS
Вставка колонки из Excel в Access через буфер обмена
 
Уважаемые!  
Помогите разобраться в чем дело.  
Есть база Acceess (2003) и таблица Excel (2003).  
Если копирую 4 строки из Excel в Access через Ctrl+C и Ctrl+V,  
то все нормально (в Office 2010).  
Если скопировать всю колонку, то не вставляются поля с буквенными кодами.  
(в Office 2003 все работает).  
В Office 2010 можно вставить только через спец. вставку как текст.  
ПОЧЕМУ?
 
Вариант - 2010 SP1b. См. скрин.  
-50667-
 
{quote}{login=SVM}{date=26.04.2011 05:38}{thema=Вставка колонки из Excel в Access через буфер обмена}{post}Уважаемые!  
Помогите разобраться в чем дело.  
Есть база Acceess (2003) и таблица Excel (2003).  
Если копирую 4 строки из Excel в Access через Ctrl+C и Ctrl+V,  
то все нормально (в Office 2010).  
Если скопировать всю колонку, то не вставляются поля с буквенными кодами.  
(в Office 2003 все работает).  
В Office 2010 можно вставить только через спец. вставку как текст.  
ПОЧЕМУ?{/post}{/quote}  
 
Преобразуйте формат в нужном столбце excel в "текстовый" , и попробуйте повторить операцию копирования и вставки  
 
почему при 4 строках вставляет -- сказать ни чего не могу
Спасибо
 
{quote}{login=R Dmitry}{date=26.04.2011 06:50}{thema=Re: Вставка колонки из Excel в Access через буфер обмена}{post}{quote}{login=SVM}{date=26.04.2011 05:38}{thema=Вставка колонки из Excel в Access через буфер обмена}{post}Уважаемые!  
Помогите разобраться в чем дело.  
Есть база Acceess (2003) и таблица Excel (2003).  
Если копирую 4 строки из Excel в Access через Ctrl+C и Ctrl+V,  
то все нормально (в Office 2010).  
Если скопировать всю колонку, то не вставляются поля с буквенными кодами.  
(в Office 2003 все работает).  
В Office 2010 можно вставить только через спец. вставку как текст.  
ПОЧЕМУ?{/post}{/quote}  
 
Преобразуйте формат в нужном столбце excel в "текстовый" , и попробуйте повторить операцию копирования и вставки  
 
почему при 4 строках вставляет -- сказать ни чего не могу{/post}{/quote}  
 
Это помогает.  
Но дело в том что XLS файлы приходят из множества подразделений.  
Первоначально в шаблоне эта колонка имела текстовый формат и все работало на разных версиях. Хуже всего то, что в MDB данные вставляют несколько человек (дежурные) и нет никакой уверенности, что они проверят правильность ввода :(  
- данных много, поэтому и MDB.  
 Ладно, буду думать, как осуществить авто проверку
 
Если будет совсем тяжело, пишите в почту или скайп помогу :)
Спасибо
 
{quote}{login=R Dmitry}{date=27.04.2011 10:41}{thema=Re: Re: Re: Вставка колонки из Excel в Access через буфер обмена}{post}Если будет совсем тяжело, пишите в почту или скайп помогу :){/post}{/quote}  
 
Спасибо!  
Но это уже в большей степени организационный вопрос.
 
а если нажать на кнопочку, и все туда поехало .... не  важно какой формат  
:)  
если последствия в следствии ошибки, велики, то Ваше выражение  
"Но это уже в большей степени организационный вопрос.", замкнется на Вас  
Ну Вам виднее..........  
С уважением, Дмитрий
Спасибо
 
А формат поля в Access'e, куда вы вставляете данные из Excel, точно текстовой? Проверяли на всякий случай?
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
{quote}{login=Alex_ST}{date=27.04.2011 12:25}{thema=}{post}А формат поля в Access'e, куда вы вставляете данные из Excel, точно текстовой? Проверяли на всякий случай?{/post}{/quote}  
 
Да, конечно. Поэтому и приложил MDB файл. Там в конструкторе все видно.  
Авто проверку я тем или иным способом сделаю - это не проблема.  
Проблема в том, что я не понимаю почему так происходит: 4 строки вставляются,  
А если больше (включая предыдущие), то нет.  
А если это вылезет где-то в других подобных задачах, где это сразу визуально можно и не заметить - и не известно где?
 
Да!  
Проверил вставку данных в MDB за предыдущую дату.  
Формат xls колонки тоже ОБЩИЙ. Данные того же рода.  
Все прочие условия одинаковые. Однако вся колонка вставляется правильно.  
Видимо ответ очень простой, но что-то туплю или чего-то не замечаю :(((
 
В MDB типы полей фиксированные.  
Не допускается вставка данных разных типов, т.к. это же не Excel.  
При попытке копирования разнотипных данных производится проверка наиболее часто встречающегося типа данных, обычно проверяются первые 8 строк (конкретное значение IMEX прописано где-то в реестре). Какого типа данных в проверяемых строчках больше, тот и победил, в том смысле, что данные этого типа и будут скопированы, а остальные будут заменены на NULL. Равенство, похоже, считается ничьей: данные считаются однотипными, хоть это логически и не корректно.  
 
У Вас данные в ячейках A3:A4 имеют формат чисел, причем vbDouble, они и победят несчастных A1:A2 с типом vbString.  
 
А отличия в поведении разных версий Office не удивительно, у них много чего не совпадает.  
 
Решением проблемы может быть макрос, который при активации книги и/или листа по каким-то признакам определит, что определенным столбцам нужно установить текстовый формат ячеек, и автоматически установит этот формат.
 
ВСЕМ БОЛЬШОЕ СПАСИБО!  
ZVI:  
 Что касается автоформатирования колонок в текст - примерно так сейчас и делаю.  
 Спасибо за разъяснение.  
 Век живи - век учись.  
 
Считаю, что тема снята.
Страницы: 1
Читают тему
Наверх