Просто предложение, я не эксперт по этому, но использовал WebBrowser много в предыдущих приложениях, но почему Вы не пишете функцию для ожидания 1 секунды прежде, чем попытаться передать браузер что-нибудь и всегда проверять readystate заранее также. Мог бы замедлить его немного, но это должно сделать его пуленепробиваемым.:)
You can't do a wildcard on a number, however, if you really need to, you can convert the number to a varchar and then perform the wildcard match.
eg.
SELECT * FROM emp WHERE CONVERT(varchar(20), emp_id) LIKE '1%'
В синтаксисе SQL ядра СУБД Access для использования подстановочного знака %
ЛИБО необходимо использовать режим запроса ANSI-92 ИЛИ использовать ключевое слово ALIKE
вместо ключевого слова LIKE
.
Подробнее о режиме запроса ANSI-92 см. О режиме запроса ANSI SQL (MDB) в справке Access2003 (то же самое относится к ACE в Access2007, но они почему-то удалили тему из справки Access2007). Если вы делаете это в коде, вам нужно будет использовать OLE DB, например, ADO classic в VBA.
Для ключевого слова ALIKE
... вы не найдете много. Это одна из официально недокументированных функций, а это означает, что существует риск того, что она может быть удалена из будущей версии ядра базы данных Access. Лично я d взять на себя этот риск из-за необходимости явно кодировать как режим запроса ANSI-89, так и режим запроса ANSI-92, как это необходимо для правил проверки и ограничений CHECK
(см. пример ниже). Кодирование для обоих может быть выполнено, но это более длинный и сложный процесс, чтобы сделать правильный выбор, т. Е. Более непосредственный риск, если вы ошибетесь.
Вот и ответ. Теперь о «решении» ...
Очевидно, что если вам нужно выполнить такой запрос на emp_id, тогда домен неправильный, т.е. это не должно быть числовое поле.
Лечите болезнь: измените схему чтобы сделать это текстовым полем, добавив правило домена, гарантирующее, что оно содержит только числовые символы, например,
CHECK (emp_id NOT LIKE '%[^0-9]%')
EDIT теперь добавлен тег «Jet». Приведенное выше ограничение CHECK
необходимо переписать, поскольку ядро базы данных Access имеет собственный синтаксис: замените символ ^
на !
. Кроме того, чтобы сделать это совместимым как с режимом запроса ANSI-89, так и с режимом запроса ANSI-92, используйте ключевое слово ALIKE, т.е.
CHECK (emp_id NOT ALIKE '%[!0-9]%')
Нет, вы не можете использовать LIKE
для числовых полей.
Попробуйте использовать <
, >
или =
, > =
, <=
;)
Если вы Если вы хотите найти в числовом поле такие вещи, как "начиная с 12" или что-то подобное, ваш дизайн не соответствует вашим потребностям.
In Access you can concatenate the numeric field with an empty string to coerce it into a string that you can compare using LIKE:
select * from emp where emp_id & '' like '123*'
Also note that Access uses * not % as the wildcard character. See: Like Operator (Microsoft Access SQL).
Используйте функцию cast
или convert
в поле emp_id
, и вы можете сравнить с , например
.