Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2008, 12:06   #1
Nicky21
 
Регистрация: 14.11.2008
Сообщений: 4
Восклицание вводить свои слова и цифры для регистрации.

Есть код с одной проги, если честно , то я хочу разобраться в алгоритме кода, этот блок с формы регистрации, Поле0-вводится имя , Поле2 вводится серийник , Поле4-вводится активационный номер,
Плиз помогите разобратся или изменить код , что бы я вводил свои слова и цыфры для регистрации!!!!


Private Sub Кнопка6_Click()
On Error GoTo Err_Кнопка6_Click
Dim curdbs As Database
Dim curtdf As TableDef
Dim currst As Recordset
Dim j1 As Long
Dim j2 As Long
Dim j3 As Long
Dim j4 As Long
Dim j5 As Long
Dim c1 As Long
Dim c2 As Long
Dim c3 As Long
Dim c4 As Long
Dim c5 As Long
Dim j6 As Long
Dim j7 As Long
Dim j8 As Long
Dim j9 As Long
Dim j10 As Long

j1 = 0
If Not IsNull([Поле0]) Then
j1 = GetStringValue([Поле0])
End If
j2 = 0
If Not IsNull([Поле2]) Then
j2 = GetStringValue([Поле2])
End If

j3 = 0
j4 = 0
If Not IsNull([Поле4]) Then
j3 = CLng([Поле4])
End If
If (j3 = j1 + j2 * 4096) Then
If (j3 <> 0) Then
j4 = 1
End If
End If

If (Len([Поле2]) = 24) Then
j5 = CLng(Mid([Поле2], 1, 4))
j6 = CLng(Mid([Поле2], 6, 4))
j7 = CLng(Mid([Поле2], 11, 4))
j8 = CLng(Mid([Поле2], 16, 4))
j9 = CLng(Mid([Поле2], 21, 4))
j10 = j3 - j5 - j6 - j7 - j8 - j9
End If

c1 = DLookup("[c1]", "settings", "")
c2 = DLookup("[c2]", "settings", "")
c3 = DLookup("[c3]", "settings", "")
c4 = DLookup("[c4]", "settings", "")
c5 = DLookup("[c5]", "settings", "")

If (j3 <> 0) Then
If (j5 * c1 + j6 * c2 + j7 * c3 + j8 * c4 + j9 * c5 = j3) Then
j4 = 1
Else
j4 = 0
End If
End If

If (j4 = 1) Then
Set curdbs = CurrentDb
Set curtdf = curdbs.TableDefs!reginfo
Set currst = curtdf.OpenRecordset()
If (currst.RecordCount > 0) Then
j4 = currst.RecordCount
For i = 1 To j4
currst.MoveFirst
currst.Delete
Next i
End If

currst.AddNew
currst.Fields(0) = [Поле0]
currst.Fields(1) = [Поле2]
currst.Fields(2) = j3
currst.Fields(3) = j5
currst.Fields(4) = j6
currst.Fields(5) = j7
currst.Fields(6) = j8
currst.Fields(7) = j9
currst.Fields(8) = j10
currst.Update
currst.Close
MsgBox "Благодарим за регистрацию нашей программы. Мы много работали, чтобы сделать ее максимально удобной и полезной для Вас! Для доступа к новым возможностям, пожалуйста, перезапустите ПФО 2002", vbOKOnly, "Завершение регистрации"
Else
MsgBox "Неверные регистрационные данные. Пожалуйста, проверьте еще раз правильность ввода, не должно быть никаких лишних пробелов или других знаков, кроме полученных Вами при покупке программы.", vbOKOnly, "Ошибка регистрации"
End If
DoCmd.Close acForm, "Register"

Exit_Кнопка6_Click:
Exit Sub

Err_Кнопка6_Click:
MsgBox Err.Description
Resume Exit_Кнопка6_Click

End Sub

Private Sub Кнопка7_Click()
On Error GoTo Err_Кнопка7_Click


DoCmd.Close acForm, "Register"

Exit_Кнопка7_Click:
Exit Sub

Err_Кнопка7_Click:
MsgBox Err.Description
Resume Exit_Кнопка7_Click

End Sub
Private Sub Кнопка8_Click()
On Error GoTo Err_Кнопка8_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "RegInfo"
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка8_Click:
Exit Sub

Err_Кнопка8_Click:
MsgBox Err.Description
Resume Exit_Кнопка8_Click

End Sub
Private Sub Кнопка9_Click()
On Error GoTo Err_Кнопка9_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "RegInfo"
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка9_Click:
Exit Sub

Err_Кнопка9_Click:
MsgBox Err.Description
Resume Exit_Кнопка9_Click

End Sub
Nicky21 вне форума Ответить с цитированием
Старый 17.11.2008, 14:09   #2
Saladin
Пользователь
 
Аватар для Saladin
 
Регистрация: 27.10.2008
Сообщений: 23
По умолчанию

вместо [поле0]...[полеn] требуется использовать функцию
InputBox (Prompt, [Title], [Default], [XPos], [YPos], [HelpFile], [Context])
т.е. где-нибудь в начале написать:

[поле0] = InputBox ("введите имя")
..
[полеn] = InputBox ("введите параметр N")
Saladin вне форума Ответить с цитированием
Старый 18.11.2008, 11:04   #3
Nicky21
 
Регистрация: 14.11.2008
Сообщений: 4
По умолчанию

Не помогает, данная фунцкия....либо что то не правильно делаю....плиз обьясните более подробней!
Nicky21 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вводить цифры в эдит контрол и они должны по нажатию на кнопку переводится в листбокс molo4nik Общие вопросы C/C++ 12 09.12.2011 22:53
Напечатать слова в которые входят цифры profi Помощь студентам 3 02.12.2009 23:34
StringGrid. Нужно вводить данные (записи). Максим-2 Общие вопросы Delphi 5 29.07.2007 19:15
Свои значения для Window.Screen в DOM Megabotan Win Api 6 03.01.2007 16:41