تحية طيبة و بعد
قمت بالبحث عن كود استخراج سريال الهارد ديسك الحقيقى و وجدت مثال من صنع الأستاذة زهرة و قمت بعمل تعديل بسيط علية لكى يقوم بادخال السيريال فى جدول ثم بعد ذلك استدعاءة فى متغير كل مرة تفتح الفورم للتأكد من أنة نفس الهارد و اذا لم يكن نفس الهارد يأخذ بيانات الهارد الجديد ثم يقوم بحفظها و هكذا حتى يصل لعدد 5 سريال ثم يتوقف البرنامج عن العمل و هذا هو كودى
Dim WMI As Object
Dim wmiCollection As Object
Dim wmiMember As Object
Dim x As String
Dim x2
Dim x3 As Integer
Set WMI = GetObject("winmgmts:\\")
Set wmiCollection = WMI.InstancesOf("Win32_PhysicalMedia")
For Each wmiMember In wmiCollection
x = Trim(wmiMember.SerialNumber)
Exit For
Next
Set wmiMember = Nothing
Set wmiCollection = Nothing
Set WMI = Nothing
x2 = DLookup("[HdNum]", "[T2]", "[HdNum] = '" & x & " ' ")
If x2 = Null Then
Dim sqls As String
DoCmd.SetWarnings False
sqls = "insert into T2(HdNum) values('" & x & "')"
DoCmd.RunSQL sqls
DoCmd.SetWarnings True
End If
x3 = Nz(DCount("HdNum", "t2"), 0)
If x3 > 5 Then
MsgBox "error -Hard24680"
'
DoCmd.Quit
End Ifالمشكلة أن الكود بة خطأ عندما يدخل فى if لا ينفذ المطلوب و يتجاهل ادخال سريال الهارد فى الجدول رغم اننى قمت بالغاء
If x2 = Null Then
Dim sqls As String
DoCmd.SetWarnings False
sqls = "insert into T2(HdNum) values('" & x & "')"
DoCmd.RunSQL sqls
DoCmd.SetWarnings True
End Ifو استخدمت نفس جملة الحفظ للسريال بدون if و عملت بلا مشاكل يبدو أن هناك خطأ منطق فى كودى و لا استطيع معرفتة فهل من مساعدة ؟
