Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Rus/Eng / 12 сообщений из 12, страница 1 из 1
22.08.2009, 17:28
    #36158235
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
Всем привет!!

Подскажите плиз как сделать следующее...
1)Необходимо чтобы юзер вводил данные в поле text только Русскими или Англ. символами и только в верхнем регистре.

Заранее спасибо.
...
Рейтинг: 0 / 0
24.08.2009, 09:25
    #36159218
Core12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
А верхние буквы это так критично? Потому что есть такая функция Ucase, так можно буквы и после ввода перевести.
ТО есть при нажатии на кнопку
[SRC vba]
Dim Str As String
Str = Ucase(Edit1.text)[src]
...
Рейтинг: 0 / 0
24.08.2009, 12:06
    #36159523
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
Core12,да...с верхним регистром я тупанул) но вопрос насчет Rus/Eng остается...
...
Рейтинг: 0 / 0
24.08.2009, 18:55
    #36160427
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
ну если тупой способ - отслеживать событие Change и тупо удалять все, что не нужно. Заодно туда же можно и UCase засунуть.
...
Рейтинг: 0 / 0
25.08.2009, 07:44
    #36160860
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
я уже не помню где я это откопал, но работает без проблем

в модуле формы пишите, например в каком-нибудь событии
Код: plaintext
1.
2.
3.
  SetLayout kbrdEnglish
или так
   SetLayout kbrdRussian

создайте модуль и поместите туда этот текст
Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Option Compare Database
Option Explicit

Public Const vKF1 = &H70
Public Const KEYEVENTF_KEYDOWN = &H0
Public Const KEYEVENTF_KEYUP = &H2
Public Const HKL_NEXT As Long =  1 
Public Const HKL_PREV As Long =  0 

Public Enum enmKeybordLayout    ' Раскладки клавиатуры
    kbrdEnglish =  67699721 
    kbrdRussian =  68748313 
End Enum

' Пример:          keybd_event vKF1, 0, KEYEVENTF_KEYUP, 0
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Integer, ByVal bScan As Integer, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Public Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long
Public Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long


' Пример:  SetLayout kbrdEnglish
Public Sub SetLayout(ByVal myLayout As enmKeybordLayout)    ' Включить выбранную раскладку клавы
    On Error Resume Next
    Dim lngReturn As Long
    Dim lngCodeKeybord As Long
    lngReturn = GetKeyboardLayout(lngCodeKeybord)   'Получить текущую раскладку
    If lngReturn <> CLng(myLayout) Then             'Если раскладки не совпадают, значит, надо переключиться
        Call ActivateKeyboardLayout(HKL_NEXT,  0 )
    End If
End Sub
' Rus=LoadKeyboardLayout("00000419",0);
' Lat=LoadKeyboardLayout("00000409",0);
' ActivateKeyboardLayout(Rus,0);

...
Рейтинг: 0 / 0
25.08.2009, 10:44
    #36161145
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
klen_я уже не помню где я это откопал, но работает без проблем


насколько я понял автора, ему нужно не раскладку переключать, а запретить ввод цифр и спецсимволов
...
Рейтинг: 0 / 0
31.08.2009, 15:28
    #36170843
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
klen_,
Спасибо, сегодня попробую применить.
...
Рейтинг: 0 / 0
15.09.2009, 12:40
    #36196368
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
Подскажите пожалуйста, а если перед добавлением в базу мне необходимо проверить ,есть ли она уже в базе или нет.

Я написал так..

Set rs = conn.Execute("SELECT [Request] FROM [Report_1492009172755] Group By Request", , adCmdText)

Do While Not rs.EOF
If (rs!request = Text5.Text) Then
report = "Est v baze"
Else
report = "net v baze"
rs.MoveNext
End If
Loop

Но это глупость какая-то получилась......
...
Рейтинг: 0 / 0
15.09.2009, 12:52
    #36196414
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
Terr0909Я написал так..
Код: plaintext
1.
Set rs = conn.Execute("SELECT [Request] FROM [Report_1492009172755] Group By Request", , 
adCmdText)

А почему не так:
Код: plaintext
1.
Set rs = conn.Execute("SELECT count(*) FROM [Report_1492009172755] Where Request = " & cstr(Text5.Text), , 
adCmdText)
и проверять на ноль?
или какой сервер, на новых вроде есть Insert or Update в одном флаконе


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
15.09.2009, 16:57
    #36197284
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
Игорь Горбонос,
Спасибо за ответ. Я понял идею. Единственное я не совсем понимаю как дальше оперировать с RS. т.е как произвести проверку ?? Спасибо!
...
Рейтинг: 0 / 0
15.09.2009, 17:26
    #36197409
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
> Автор: Terr0909
> Игорь Горбонос,
> Спасибо за ответ. Я понял идею. Единственное я не совсем понимаю как дальше оперировать с RS. т.е как произвести
> проверку ?? Спасибо!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Set rs = conn.Execute("SELECT count(*) as F1 FROM [Report_1492009172755] Where Request = " & cstr(Text5.Text), 
, adCmdText)
rs.MoveFirst
if rs.F1 <>  0  Then
    report = "Est v baze"
Else
    report = "net v baze"
End If
или
Код: plaintext
1.
2.
3.
4.
5.
6.
Set rs = conn.Execute("SELECT 1 as F1 FROM [Report_1492009172755] Where Exist(SELECT * FROM 
[Report_1492009172755] Where Request = " & cstr(Text5.Text) & ")", , adCmdText)
if Not(rs.Eof and rs.Bof) Then ' Если данных нет, то будет пустой рекордсет и эта проверка это покажет
    report = "Est v baze"
Else
    report = "net v baze"
End If
Но ещё раз обращаю внимание на версию и имя SQL сервера, в новых версиях есть
это


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.09.2009, 10:11
    #36198303
Terr0909
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rus/Eng
Игорь Горбонос,Огромное спасибо. 2-м способом все получилось
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Rus/Eng / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]