|
поиск в форме
|
|||
---|---|---|---|
#18+
Всем ХОРОШИЙ праздников! Возник небольшая проблемка) Для спецов это семечки конечно. В текстовом поле в форме - после внесения текста осуществляю поиск существующей записи в другой таблице: Код: vbnet 1. 2. 3. 4. 5. 6.
Проблема (ошибка/debug) возникает когда вносится англо-текст с апострофом типа: ITan's Как подправить? если кому не трудно пояснить ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 13:03 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
Надо удваивать апостроф в поисковом слове. Смотрите ФАК - Формирование строки SQL-запроса в VBA ( http://www.sql.ru/faq/faq_topic.aspx?fid=157 ) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 15:48 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
большое спасибо за ответ! Прочитал насколько смог понять) Другое дело как мне использовать strWhere = "WHERE field=""" & "a""""a's" & """" в своем случае... с rst.FindFirst "кличка='" & Me.кличка & "'" в VBA честно говоря неуч) Найденную запись мне нужно открывать в форме для изменения (не просто заполнить поля формы данными из записи) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 16:29 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 16:47 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
делаю так как рекомендовал)): Private Sub имя_AfterUpdate() Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("select * from таблица") If rst.EOF Or rst.BOF Then Exit Sub rst.MoveFirst rst.FindFirst "имя='" & Replace(Replace(Me.имя, "'", "''"), """", """""") & "'" If rst.NoMatch Then Exit Sub Me.Undo Me.Bookmark = rst.Bookmark End Sub ругаться на англо-с-апострофом перестало конечно)) но потом не ищет запись, содержащую апостроф! не содержащие апостроф записи ищутся и открываются в форме для работы с ними ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 17:01 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
немного поясню, форма - добавление новых записей в базу, но после заполнения поля идет поиск - есть ли в ней УЖЕ такая запись и если есть то открывается в форме для проверки\изменения\дополнения ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 17:05 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
апостроф может только один быть и я попробовал упростить rst.FindFirst "имя='" & Replace(Me.имя, "'", "''") & "'" не помогло - не ищет (но и не ругается))) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 17:14 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
mikle1010делаю так как рекомендовала1. Пожалуйста, пользуйтесь тегами оформления сообщения. Для кода. Вам ведь уже модератор поправил в первом сообщении. 2. "Англо-..." тут ни при чем, в русском тексте тоже необходимо удваивать кавычки. 3. "не ищет запись, содержащую апостроф!". Не ищет или же ищет, но не находит? А она там есть? Сделайте Код: vbnet 1.
Что показывает? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 17:16 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
mikle1010апостроф может только один быть...Это, конечно, Вам лучше знать. Но обычно дюймы обозначаются не апострофом ('), а кавычкой ("). Поэтому я ввела проверку на оба знака - это не два апострофа, а другой знак. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 17:23 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
__Michellemikle1010делаю так как рекомендовала1. Пожалуйста, пользуйтесь тегами оформления сообщения. Для кода. Вам ведь уже модератор поправил в первом сообщении. 2. "Англо-..." тут ни при чем, в русском тексте тоже необходимо удваивать кавычки. 3. "не ищет запись, содержащую апостроф!". Не ищет или же ищет, но не находит? А она там есть? Сделайте Код: vbnet 1.
Что показывает? конечно такая запись есть - я же конечно на существующих в таблице проверяю при Debug.Print "имя='" & Replace(Replace(Me.имя, "'", "''"), """", """""") & "'" сообщение: compile error: syntax error ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 17:25 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
А где это в коде поместили? Покажите, пожалуйста. Не может быть такого сообщения, если сделано правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 17:36 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
И еще. Вы не ответили на вопрос "Не ищет или же ищет, но не находит?". Ответьте, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 17:38 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
__MichelleА где это в коде поместили? Покажите, пожалуйста. Не может быть такого сообщения, если сделано правильно. я могу))) неправильно делать конечно: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 17:41 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
то что не ругается на апостроф - уже супер! огромное спасибо т.к. набор может быть срочный 400-500 записей и точно 20-30 с апострофами конечно хотелось бы проверку иметь рабочей) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 18:04 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
))) Нет, не вместо строки с FindFirst, а дополнительно, отдельной строкой. Это команда отладочной печати, выводит результат в окно отладки Immediate. Попробуйте искать так, с обратной отменой удвоения апострофа Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 18:10 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
Для упрощения, раз может встретиться только апостроф Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 18:15 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
__Michelle, СУПЕР! - сейчас ищет - нормально все Огромное спасибо! Хороших праздников и настроения! Надеюсь еще и другим пригодится ваш "ликбез" для меня. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 18:16 |
|
поиск в форме
|
|||
---|---|---|---|
#18+
mikle1010, Спасибо! Вам тоже веселых праздников! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 18:24 |
|
|
start [/forum/topic.php?fid=45&fpage=15&tid=1610018]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 164ms |
0 / 0 |