|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Есть данные даты в Excel, которые нужно импортировать в Access. В первом столбце формат даты в виде точки, а во втором разделяется косой чертой. В Excel указан формат даты. Мне интересно понять, почему первый столбец не импортируется и появлябтся только пустые значения, а второй нормально. Мне нужно получить гарантированный ввод даты в Access, независимо от того, точка указана в Excel или черта. Как можно этого добиться? В Excel date_1 date_214.08.1987 14/08/198731.01.1970 31/01/197009.12.1974 09/12/197421.06.1965 21/06/196510.05.1976 10/05/197611.03.1949 11/03/194926.01.1968 26/01/196819.12.1972 19/12/197208.02.1963 08/02/1963 В Access date_1 date_2 14/08/1987 31/01/1970 09/12/1974 21/06/1965 10/05/1976 11/03/1949 26/01/1968 19/12/1972 08/02/1963 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 08:21 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Импортировать селектом типа Код: sql 1. 2. 3. 4.
в полях указывать явно используемый формат даты типа Format([Field1],"@@.@@.@@@@"). Пишу без проверки, мог ошибиться, но идея должна быть понятна. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 08:59 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
MrShinИмпортировать селектом типа Код: sql 1. 2. 3. 4.
в полях указывать явно используемый формат даты типа Format([Field1],"@@.@@.@@@@"). Пишу без проверки, мог ошибиться, но идея должна быть понятна. Идея понятна, но так не думаю, чтобы устроило. Диапазон может быть разным и я не смогу контролировать его, так как импортирование данных будет производить оператор и данные будут иметь разное количество строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 09:08 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Проблема не воспроизводится. Office 2007 Prof. Таблицу скопировал в файл Excel. Сохранил (форматы XLS и XLSX). Выполнил импорт внешних данных. Для обоих исходных форматов правильно импортированы оба поля - и значения, и формат. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 09:34 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Что же до приложенных файлов - там в файле XLSX оба столбца имеют одинаковый формат ДД.ММ.ГГГГ. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 09:36 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Исправил формат ячеек в XLSX. Выполнил импорт через VBA-код на форме. Импортированы оба поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 09:41 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
AkinaИсправил формат ячеек в XLSX. Выполнил импорт через VBA-код на форме. Импортированы оба поля. На какой формат исправили? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 09:46 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
excel_accessНа какой формат исправили? ДД|VV|UUUU/ Потом ради любопытства попробовал ещё пару совершенно "отмороженных" форматов, с дублированием частей и кучей паразитных символов. Результат - формат поля ожидаемо не влияет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 09:52 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Ну в смысле ДД/ММ/ГГГГ ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 09:58 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Открыл ваш XLSX, даты выглядят так: 14.08.1987 14 . 08 . 87 Отсюда два вывода: 1. У вас в системе разделитель элементов даты - "/", а не ".", как у большинства. 2. В 1-м столбце не дата, а текст, похожий на дату. При разделителе "." этот текст легко преобразуется в дату при импорте в поле типа "Дата" существующей таблицы, а при "/", ИМХО, не понимает. При импорте в новую таблицу это поле будет иметь тип "Текст" и будет заполнено. Если я угадал, то перед импортом можно подправить файл, выполнив замену "." на "/" в выделенном диапазоне. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 12:00 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 12:24 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Да, перед импортом если заменить "." на "/", то тогда нет проблем. Но это лишняя работа для оператора. А замена на ДД/ММ/ГГГГ, тоже ничего дало. Ладно, пока не найду выход, оператору придется вручную делать замену. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 14:22 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
excel_accessперед импортом если заменить "." на "/", то тогда нет проблем. Но это лишняя работа для оператора.Ну так импортируй данные как текстовые во временную таблицу, а оттуда запросом со всякоразными преобразованиями в боевую - какие проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 14:49 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
excel_access, решение в лоб - изменить системные настройки. Кстати, почему разделитель "/"? В какой стране вы живете? Другой путь - преобразование текста в дату в запросе на добавление в вашу таблицу, берущем данные непосредственно с листа или из промежуточной таблицы, созданной в результате импорта. Например: Код: sql 1.
Это при условии, что нет пустых ячеек и все даты имеют по 2 цифры в днях и месяцах. Иначе нужна более сложное выражение, а то и собственная функция. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 15:01 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Может я чё не понял: при импорте по Вашему коду поле data_1 - текст а с этой строкой - дата Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 16:22 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Привет ребята! Мне нужна ваша помощь, я только начинаю изучать Access и столкнулся с одной проблемой ! У меня обычный формат даты "02-Nov-52" есть ячейки содержащий " - - " и " " вот такие данные. я как бы нашел алгоритм. Но почему то оно не работает когда поле пустая он выдает ощибку 94. Может вы знайте в чем проблема. Мне нужно чтобы он ячейку с минусом и пустую превратил в 000000000. Public Function date4(num1) If num1 = " - -" Then date4 = "00000000" Else x1 = Mid$(num1, 3, 5) x2 = Left$(num1, 2) x3 = Right(num1, 2) Select Case x1 Case "-jan-": x1 = "01" Case "-feb-": x1 = "02" Case "-mar-": x1 = "03" Case "-apr-": x1 = "04" Case "-may-": x1 = "05" Case "-jun-": x1 = "06" Case "-jul-": x1 = "07" Case "-aug-": x1 = "08" Case "-sep-": x1 = "09" Case "-oct-": x1 = "10" Case "-nov-": x1 = "11" Case "-dec-": x1 = "12" End Select If x3 > 15 Then x3 = "19" + x3 Else x3 = "20" + x3 End If date4 = x2 + x1 + x3 Debug.Print date4 End If Спасибо За Внимания ! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 13:15 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Aslonov MУ меня обычный формат даты "02-Nov-52" Ну это обычный не для всех... О чем, вообще, речь? Это дата в текстовом поле таблицы Access? Или это Excel? Или в текстовом файле? Если первое, то, видимо, если поле пустое, то это не "", а Null. И проверять его надо функцией IsNull(). Или преобразовывать в строку функцией NZ(). Например, строку If num1 = " - -" Then можно заменить на: If NZ(num1, " - -") = " - -" Then PS. Код: vbnet 1. 2. 3. 4. 5.
А почему > 15, если принято > 29? И еще, обычно для конкатенации строк используется "&". "+" тоже можно, но с ограничениями и в специфических ситуациях. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 14:56 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Спасибо большое! Вы можете оставит мне свои контактные данные.? Чтобы я мог лично связаться с вами. ! Я очень нуждаюсь в ваших знаниях. It@furuz.tj ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 15:12 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Привет ребята. Помогите мне выбрать "30-Apr-95 00:00:00" из этого формата только год рождения. Все остальное у меня показывает. Почему то у меня вместо 95-того показывает 20000 знаю проблема находится на формуле x3 но незнаю как его устранить ( Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 07:24 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Вот скрин от тест-формы ! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 07:25 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Aslonov M, возьми эту 6209665 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 07:56 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Но для меня это кажется немного сложным. А вы не можете поправлять мой алгоритм? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 08:39 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Aslonov M, возьми как есть, потом может и разберёшься. Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 08:44 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
не парься, Спасибо большое конечно За помощь) Мне нужна консультация Не могли бы вы мне помочь ?... Не хочу просто каждый раз обратится с тупыми вопросами на форуме ! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 08:51 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Aslonov M, на самом деле там код не сложный. Примерно так же как у тебя, только более универсальный. Как ты наверное понял, на вход в функцию подаются два параметра - строка с датой и шаблон, на основе которого разбирается дата. В функции идёт анализ строки с датой (и временем). Соответственно выделяются из строки Дата ( ss ) и Время ( st ). Далее в строке заменяются разделители на пробел и строка Дата разбивается в массив ( v ). Каждый член массива анализируется согласно с шаблоном ( ymd ) на принадлежность составной части даты (день, месяц, год). После чего собирается дата (функция DateSerial ), иначе будет сгенерирована ошибка времени выполнения, которую можно обработать в вызывающей функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 09:23 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
не парься, Как мне убрать точки между ними из 30.05.1995 сделать 30051995 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 11:07 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Использовать Replace или Format Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 11:30 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
mds_world, Не получается у меня ( Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.
?CDateEx("28-feb-16 00:00:00","dmy") 28.02.2016 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 12:00 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Aslonov M, Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 12:36 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
не парься, Спасибо Большое ) Сработало нормально. вот только не знаю как назначить эту формулу на столбце. Access. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2016, 07:09 |
|
Импорт даты из Excel в Access
|
|||
---|---|---|---|
#18+
Aslonov M, Ребята помогите Плз ! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2016, 11:02 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1613715]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 395ms |
total: | 573ms |
0 / 0 |