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

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

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

в модуле формы пишите, например в каком-нибудь событии
Код: 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
Rus/Eng
    #36161145
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klen_я уже не помню где я это откопал, но работает без проблем


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

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

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
Rus/Eng
    #36196414
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Rus/Eng
    #36197284
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,
Спасибо за ответ. Я понял идею. Единственное я не совсем понимаю как дальше оперировать с RS. т.е как произвести проверку ?? Спасибо!
...
Рейтинг: 0 / 0
Rus/Eng
    #36197409
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: 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
Rus/Eng
    #36198303
Terr0909
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,Огромное спасибо. 2-м способом все получилось
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Rus/Eng
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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