السلام عليكم و رحمة الله وبركاته
الاخوة اضاء المنتدى الكرام لدى استفسار وهو :rolleyes:
"كيف اعرف ان جدولا معين موجود داخل قاعدة البيانات او بمعنى اخر كيف اتاكد انه لا يوجد جدول يحمل اسم معين داخل
قاعدة البيانات عند انشاء جدول جديد"
وشكرا
السلام عليكم و رحمة الله وبركاته
الاخوة اضاء المنتدى الكرام لدى استفسار وهو :rolleyes:
"كيف اعرف ان جدولا معين موجود داخل قاعدة البيانات او بمعنى اخر كيف اتاكد انه لا يوجد جدول يحمل اسم معين داخل
قاعدة البيانات عند انشاء جدول جديد"
وشكرا
ان اجــمل الزهـــــــــــر مانـــــبت بحــــــــدائق الاحـــــــــــــــزان
Eng. Mohammed Salah
عليكم السلام ورحمة الله وبركاته
قبل ان تنشئ الجدول اعمل بحث في هذا الجدول الذي تريد التأكد من وجوده ، مثلا
rs.Open "select * from Table1", cn, adOpenStatic, adLockOptimistic
باعتبار ان جدول Table1 هو اسم الجدول الذي تريد
الان اذا عمل البرنامج بشكل سليم معناته أن الجدول موجود ، أو أن يظهر رسالة خطأ مفادها أن الجدول غير موجود ، لذلك اكتب كود في بدايته إشارة إلى أنه في حال حدوث انتقل للكود الذي سوف يعمل عن وجود الخطأ ( وداخل هذا الكود تأكد إن الخطأ ظهر بسبب عدم وجود البرنامج ) وإليك الكود كاملا
Private Sub Command1_Click()
On Error GoTo m
Set rs = New ADODB.Recordset
rs.Open "select * from Table", cn, adOpenStatic, adLockOptimistic
Exit Sub
m:
If Err.Number = -2147217865 Then
e = MsgBox("الجدول غير موجود", vbOKOnly + vbCritical, "رسالة البرنامج")
Exit Sub
End If
End Subمشكووووووووووور ايها المتميز
ان اجــمل الزهـــــــــــر مانـــــبت بحــــــــدائق الاحـــــــــــــــزان
Eng. Mohammed Salah
حل اخر اضافة الي حل أخي الحبيب المتميز (صفة لا اسما)
Sub readtables()
Dim i, y As Integer
Set db = OpenDatabase(dbname)
y = db.TableDefs.Count - 1
lsttblname.Clear
For i = 0 To y
If db.TableDefs(i).Attributes = 0 Then
lsttblname.AddItem db.TableDefs(i).Name
End If
Next
End Sub
هذا الاجراء السابق يقرا لك الجداول و يرصها لك في list box
و عند التحقق من وجود اسم الجدول تكتب الكود التالي:
private sub cmdchk_click()
dim i as integer
i = lsttblname.listcount
For i = 0 To z
If Trim(txttblname.Text) = lsttblname.List(i) Then
msgbox("الجدول موجود بالفعل")
exit for
end if
next iOracle 10G Certified Professional Developer.
عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي
هذا الموضوع مغلق.