بسم الله
في لغات مثل VB.net و C# هناك إمكانية لتتبع الكود ومعرفة قيم المتغيرات (Variables) عن طريق F5
في الـ VBA
حاولت مرارًا أن أتتبع كود بخاص بزر فلم يتم حدث أي شيء لم يتتبع أي شيء
استخدمت F5 - F8
حاولت إضافة Watch ولا فائدة تذكر
عندي كود يتم تنفيذه عند الضغط على زر معين وأحد القيم تكون بصفر وحتى الآن لم استطع معرفة هذا الـ Variable
هل هناك شرط معين لتتبع كود في زر
الكود هنا (الكود يأتي بعدد من القيم من جداول مختلفة في قاعدة البيانات)
Private Sub cmdbtnClosePrivateClass_Click()
Dim rstPrvHur As ADODB.Recordset, rstPrvClsValue As ADODB.Recordset
Dim objPrvHur As Object, objPrvClsValue As Object
Dim lngNumbersOfStudyHours As Long, dPrvClsValue As Double, dPrvClsHurs As Double, lngStudentId As Long
Dim lngCourseActionId As Long
Dim intPrivateClassActionId As Integer, intPrvKnd As Integer, intCourseId As Integer
Dim dHourValue As Double, dbetween As Double, dDbtOrCrd As Double, dblRate As Double
Dim strDes As String, strLevelName As String
Dim varDAmount As Variant
lngStudentId = Me.lstClassToClose.Column(0)
intCourseId = Me.lstClassToClose.Column(3)
strLevelName = Me.lstClassToClose.Column(4)
lngCourseActionId = Me.lstClassToClose.Column(7)
intPrvKnd = Me.lstClassToClose.Column(8)
intPrivateClassActionId = Me.lstClassToClose.Value
DoCmd.SetWarnings False
If Me.lstClassToClose.Value = True Then
lngNumbersOfStudyHours = InputBox("The Actuly Hours of the Class", "Enter The Hours of This Class")
Set rstPrvHur = New ADODB.Recordset
Set objPrvHur = Application.CurrentProject.Connection
rstPrvHur.MaxRecords = 1
rstPrvHur.Open "SELECT tblPrivateClassTypes.numHours, tblPrivateClassTypes.numValue FROM tblPrivateClassTypes WHERE tblPrivateClassTypes.numTypeId=" & intPrvKnd & "", objPrvHur, adOpenStatic, adLockReadOnly
dPrvClsHurs = rstPrvHur!numHours
Set rstPrvClsValue = New ADODB.Recordset
Set objPrvClsValue = Application.CurrentProject.Connection
rstPrvClsValue.Open "SELECT TOP 1 tblStudentDebit.crnAmount FROM tblStudentDebit WHERE tblStudentDebit.numStudentId=" & lngStudentId & " AND tblStudentDebit.numRefrence=" & lngCourseActionId & ";", objPrvClsValue, adOpenStatic, adLockReadOnly
dPrvClsValue = rstPrvClsValue!crnAmount
dHourValue = dPrvClsValue / dPrvClsHurs
dbetween = lngNumbersOfStudyHours - dPrvClsHurs
dDbtOrCrd = dHourValue * dbetween
dblRate = GetCurrencyRate(2)
DoCmd.RunSQL ("UPDATE tblPrivateClasses SET tblPrivateClasses.numStudiedHours = " & lngNumbersOfStudyHours & ", tblPrivateClasses.NYOpenOrClose = 1 WHERE tblPrivateClasses.numActionId=" & intPrivateClassActionId & "")
If dbetween < 0 Then
dDbtOrCrd = dDbtOrCrd * -1
varDAmount = dDbtOrCrd
dDbtOrCrd = dDbtOrCrd * dblRate
strDes = " ÞíãÉ ÚÏÏ " & dbetween & " ÓÇÚÇÊ ÃÞá Ýí ÏÑÓ ÎÇÕ " & intCourseId & " ãÓÊæì " & strLevelName & " "
DoCmd.RunSQL "INSERT INTO tblStudentCredit (numStudentId, crnAmount, numCurrency, numRefrence, dteDate, numRate, numDAmount, txtDes) SELECT =" & lngStudentId & ", =" & dDbtOrCrd & ", 2, 4 AS Expr4, Now(), =" & dblRate & ", " & varDAmount & ", '" & strDes & "'"
MsgBox "The Student have less hours than the 75", vbOKOnly, "Less Studying Hours"
ElseIf dbetween > 0 Then
varDAmount = dDbtOrCrd / dblRate
strDes = " ÞíãÉ ÚÏÏ " & dbetween & " ÓÇÚÇÊ ÒÇÆÏÉ Ýí ÏÑÓ ÎÇÕ " & intCourseId & " ãÓÊæì " & strLevelName & " "
DoCmd.RunSQL "INSERT INTO tblStudentDebit (numStudentId, crnAmount, numCurrency, numActionKind, numRefrence, dteDate, numRate, numDAmount, txtDes ) SELECT =" & lngStudentId & ", =" & dDbtOrCrd & ", 2, 6, =" & intPrivateClassActionId & ", Now(), =" & dblRate & ", " & varDAmount & ", '" & strDes & "'"
MsgBox "The Student have more hours than the 75", vbOKOnly, "Extra Studying Hours"
ElseIf dbetween = 0 Then
End If
Me.lstClassToClose.Requery
Else
MsgBox "Plz Selecte a Class Plz", , ""
End If
End Sub