Мне нужно разделить текстовое поле на 2 поля в доступе 2007

Я унаследовал очень плохую базу данных доступа, которую мне нужно переместить из нее в базу данных MySQL. У меня есть поле, в котором есть некоторые строковые данные, за которыми следует странно отформатированная дата в круглых скобках в конце. Я пытаюсь создать запрос, в котором есть поле, содержащее только строку до открывающей скобки "(". И второе поле, содержащее только содержимое скобок.

Следуя совету, который я нашел здесь и в других местах, которые я пробовал

note: Left(notefield, InStr(notefield, "("))

но я получаю сообщение об ошибке «Неопределенная функция« слева »в выражении». хотя я построил его с помощью Builder. Итак, есть идеи, что я должен использовать в своем запросе доступа для извлечения этих данных? И он должен быть в доступе.


person Tyson of the Northwest    schedule 31.03.2011    source источник
comment
Почему он должен быть в доступе? Почему бы вам не извлечь данные как одно поле, а затем исправить их в MySQL, с которым (IMO) намного проще работать.   -  person Kendrick    schedule 31.03.2011
comment
потому что это возвращается в новый файл доступа. Вздох. И я не могу выполнять преобразование, так как у нас есть 2 месяца, когда мы будем вводить данные в старую базу данных, экспортировать их каждый понедельник, помещать в новую базу данных, а затем использовать новую базу данных для запуска инструмента. И я не экспортирую, а импортирую.   -  person Tyson of the Northwest    schedule 31.03.2011
comment
Моя работа иногда отстой...   -  person Tyson of the Northwest    schedule 31.03.2011
comment
Как насчет того, чтобы поместить триггер вставки в базу данных MySQL, чтобы каждый раз, когда вы загружаете строку в базу данных, он разделял два поля, а затем просто загружал эти два поля (и обратите внимание на оригинал) обратно в вашу новую БД?   -  person Kendrick    schedule 31.03.2011


Ответы (1)


VB(A) в этом смысле забавен (я говорю это так, потому что та же проблема проявляется в VB6, а также в VBA в приложениях Office)....

Когда встроенные функции, такие как Left, 'right$, InStr и т. д. начать выдавать ошибки «Неопределенная функция», это почти всегда означает, что у вас проблема со ссылками. Некоторая библиотека, на которую вы определили ссылку, отсутствует или повреждена, и это не обязательно та, которая сообщает об ошибках.

Проверить инструменты | Ссылки... и убедитесь, что ничто из того, что отмечено, не говорит "ОТСУТСТВУЕТ". Если это так, либо удалите его, либо исправьте ссылку (вы можете перейти... к файлу .dll, если знаете, где он хранится).

person RolandTumble    schedule 31.03.2011