الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية تتبع الأخطاء في الكود Debug؟

بدأه FinalRule في 4 مايو 2009 · 0 رد · 342 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1

بسم الله

في لغات مثل 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

مواضيع مشابهة