|
|
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
Очень часто приходится проверять данные, введенные пользователем, иногда требуется всего навсего проверить введено число или текст...Вот я подумал, ведь должно быть событие, которое в текстовом поле препятстсвует вводу не правильного символа, например буквы в поле, где должно быть число. Т.е. просто никак не отреагировать на нажатие клавиши...Я посмотрел все события текстового блока, но так и не нашел такой возможности. Подкажите, если это возможно, как это реализовать? И второй вопрос(неохота темы плодить). Visual Basic 6 принципиально не хочет работать с Access выше 97 ? Или все таки есть возможность скачать какое-нибудь обновление? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 12:04:30 |
|
||
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
Касаемо первого вопроса: просто вешай на событие KeyPress програмную проверку введенного символа. Это событие передает код нажатой кнопки. С помощью Chr() можно определить какая клавиша нажата или проверять диапазон: попадает ли этот параметр в диапазон ASCII кодов символов. Если нет - то удалять последний символ. А по поводу второго вопроса не очень понятно: VB нормально цепляется как к Access 2000 так и к 2003. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 12:53:29 |
|
||
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
Vb 6 потдерживает выше 97 но для создния базы данных если пользуешь visual data manager то он не потдерживает выше 97 создай в Accesse 2002 базу а потом соеденись через Vb 6 проблем не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 13:34:55 |
|
||
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
Private Sub Text1_KeyPress(KeyAscii As Integer) If Not IsNumeric(Chr(KeyAscii)) = True Then KeyAscii = 0 End If End Sub при вводе не числового значения не печатает Но прблема запятых остается для ввода дробной части ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 13:41:34 |
|
||
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 2. Вроде нормально работает с Access >= 2000. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 14:11:36 |
|
||
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
Спасибо большое, первый вопрос понял. А вот с доступом к базе 2000 и 2002 все таки у меня не получается...может быть я что-то не так делаю... Использую стандартный компонент Data для доступа к базе Access. С преобразованной базой в формат Access 97 все работает, а с 2000 и 2002 не хочет работать...Все бы ничего, но не дает Access 2002 редактировать базу 97 из себя, что весьма неудобно...только либо посредством VB либо преобразую к 2002, добавляю/изменяю и преобразую обратно...жуть вообщем... при использовании компонента Data, а также попытки загрузить базу через VisData , получаю такую ошибку: unrecognized databasa format ' путь ' number3343 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 15:13:04 |
|
||
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
Не используй Data Используй Adodc или DataEnv..... и все будет в порядке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2005, 16:07:23 |
|
||
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
используй либо ADODC, либо програмно подключайся. я обычно это делаю в модуле Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2005, 10:06:10 |
|
||
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
Столкнулся с вот такой еще проблемой пишу так: Private Sub DATArasrabotkiUP1_KeyPress(KeyAscii As Integer) If Len(DATArasrabotkiUP1.Text) = 2 Or Len(DATArasrabotkiUP1.Text) = 4 Then If KeyAscii <> 8 Then KeyAscii = 0 If KeyAscii <> 47 Then KeyAscii = 0 End If End Sub И так Private Sub DATArasrabotkiUP1_KeyPress(KeyAscii As Integer) If Len(DATArasrabotkiUP1.Text) = 2 Or Len(DATArasrabotkiUP1.Text) = 4 Then If KeyAscii <> 8 or KeyAscii <> 47 Then KeyAscii = 0 End If End Sub и так Private Sub DATArasrabotkiUP1_KeyPress(KeyAscii As Integer) If Len(DATArasrabotkiUP1.Text) = 2 Or Len(DATArasrabotkiUP1.Text) = 4 Then If KeyAscii <> 8 or KeyAscii <> 47 Then KeyAscii = 0 End Sub И работать не желает ни в какую, хотя сли оставить только KeyAscii <> 47 или KeyAscii <> 8 ...Какой-нибудь из них один, все работает, ято я делаю не так? А вот так вот работает If KeyAscii <> 8 Then If Not IsNumeric(Chr(KeyAscii)) = True Then KeyAscii = 0 End If ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 09:02:39 |
|
||
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
Вот фильтр. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 20:30:01 |
|
||
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
Как ограничить ввод определенными символами я уже понял. Мне не понятно почему не работает тот код который я выложил превидущим постом... Вроде как бы должен работать. И при таком коде(автоматическое добавление символа) Код: plaintext 1. 2. 3. 4. Курсор перемещается на начало TextBox , а как бы его вернуть в конец чтроки, чтобы пользовательпродолжил писать текст после символа / ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 08:33:47 |
|
||
|
Каким образом реализовать?
|
|||
|---|---|---|---|
|
#18+
Насчет позиции курсора вопрос снимается...разобрался. А вот почему тот код не работает все таки интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 08:43:42 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33370762&tid=2166835]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
193ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 197ms |
| total: | 489ms |

| 0 / 0 |
