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

ممكن مساعده في الفيجوال...؟؟؟

بدأه رشا 3 في 13 أبريل 2009 · 5 رد · 630 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركاته...

انا مستجده بينكم ... وانضميت للمنتدى لانه منتدى مفيد جدا والاعضاء ما شاء الله

اخواني انا طالبه خريجه .. وعملت مشروع تخرج لشركه تامين على الاكسس ... ولكن اريد ان اعمل اربط البروجيكت على الفجوال .. ولكن للاسف لا افقه في الفجوال شي ... ارجو مساكدتكم اخوتي

شكرا

#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

لو ممكن توضحي أكثر مشكلتك يكون أفضل

وهل تعنين ب"فيجوال" نافذة تستطيعين التواصل بواسطتها مع قاعدة البيانات؟؟

اقتباس
عملت مشروع تخرج لشركه تامين على الاكسس

هل هذا يعني أنك عملت الكود الذي يقوم بالربط مع قاعدة البيانات؟؟ أي لديك فكرة عن JDBC؟؟

#3

شكرا لردك اخ هيرش ...

لقد قمت بعمل فورم بالأكسس لادخال بيانات خاصه بشركة التامين يتضمن بيانتا العميل وسيارته ..الخ

واريد عمل هذا الفورم عالفيجوال بيسك ان امكنك مساعدتي

#4

السلام عليكــم ورحمـة الله وبركاتــه ،،

بايجاز شديد لو تسمحيلي .. انقري نقرة مزدوجه على ايقونة الفيجوال لفتحه

ومن ثم اختاري Standard EXE للبدا في مشروع جديد مبسط وبدون قوالب مضافة اليه

بعدها ستجدي Form1 في المشروع وهو الـ Form الرئيسي اي اول ما سيقلع به برنامجك

قومي بظبط خصائصه من نافذة الخصائص Properties الموجوده على يمينك

ثم ضعي الادوات من نافذة الادوات ToolBox والموجوده على يسارك

الى هنا اعتقد كل شيء مفهوم .. الآن افتحي قائمة Project واختاري Preferences

ومن النافذة المستحدثه تختارين التفضيلات عموما .. وهدفنا الآن هو مكتبة الـ ADO

Microsoft ActiveX Data Objects 2.8 Library

بإمكانك اختيار اي اصدار آخر ان لم يكن الإصدار 2.8 متوفر لديكي

وهذه المكتبة هي التي ستمكننا من الاتصال بقواعد البيانات عموما والتعامل مع السجلات من خلالها

الآن بسم الله نبدا في كتابة الأكواد .. ولنذهب سويا الى منطقة التصريحات في الكود

اي منطقة الـ Declarations في الجزئية العامة General من مكان كتابة الكود

وضعي الكود ادناه لتعريف متغير جديد على Class الإتصال والموجود في المكتبة سالفة الذكر

Dim MYConnection As ADODB.Connection

الآن نذهب سويا الى حدث الـ Load للـ Form وفتح الإتصال بقاعدة البيانات

ونضع الكود ادناه للحدث المذكور اعلاه


Set MYConnection = New ADODB.Connection
Call MYConnection.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data.mdb")
End Sub
Private Sub Form_Load()

والسطر الاول هو لفتح المتغير نفسه واعداده (تهيئته) للعمل

والسطر الثاني هو لفتح الإتصال بقاعدة البيانات من خلال ارسال الموفر وفقا لقاعدة البيانات المستخدمه

هنا استخدمنا قاعدة بيانات Access ومسارها هو مسار المشروع واسمها Data وإمتدادها mdb

والآن وقبل ان ننسى يجب علينا وضع كود اغلاق الإتصال في الحدث Unload للـ Form

وهذا بوضع الكود ادناه للحدث المذكور اعلاه


Call MYConnection.Close
Set MYConnection = Nothing
End Sub
Private Sub Form_Unload(Cancel As Integer)

والسطر الاول هو لاغلاق الاتصال اما الثاني فلإغلاق المتغير نفسه .. وهذا كله لتخفيف الجهد عن ذاكرة الحاسب

الى هنا انتهينا من الاتصال بقاعدة البيانات وتعلمنا ايضا كيفية اغلاق قاعدة البيانات

يبقى الآن ان نتعلم سويا وبإيجاز ايضا كيفية الاتصال بالجداول واستخراج السجلات والاضافة والتعديل عليها

ولنفرض مثلا ان قاعدة البيانات بها جدول اسمه Table1

وبه حقلي Code و Name ..الاول رقم والثاني نص طوله 255

وكذلك في النموذج Form1 لدينا TxTCode و TxTName للحقلين نفسهم

واردنا انه حين كتابة الرقم يظهر لنا الاسم في خانته ان وجد الرقم .. وان لم يكن ففارغ

اذا نذهب للحدث Change للـ TxTCode ونضع به الآتي


Dim SQLStr As String
Dim RSTemp As ADODB.Recordset
Set RSTemp = New ADODB.Recordset

SQLStr = "SELECT Table1.* FROM Table1 WHERE Table1.Code=" & Val(Me.TxTCode.Text)

Call RSTemp.Open(SQLStr, MYConnection, adOpenStatic, adLockOptimistic)

If RSTemp.RecordCount > 0 Then
Me.TxTName.Text = IIf(IsNull(RSTemp.Fields("Name").Value), "", RSTemp.Fields("Name").Value)
Else
Me.TxTName.Text = ""
End If

Call RSTemp.Close
Set RSTemp = Nothing
End Sub
Private Sub TxTCode_Change()

والسطر الاول لتعريف متغير نصي .. وسيتم ملاه بجملة استخراج السجلات فيما بعد

اما السطر الثاني فلتعريف متغير على Class الـ Recordset من المكتبة المذكور اعلى مشاركتي هذه

والسطر الثالث لفتح هذا المتغير .. ثم نقوم بملا المتغير النصي بجملة استخراج السجلات في السطر الرابع

ومن بعدها نقوم بفتح الجدول لاستخراج منه السجلات وفقا للجملة الموجوده في الـ SQLStr

اما ما يليهم فهو التحقق من وجود سجلات باستخدام قاعدة If للتحقق من شرط معين

بعدها وفي حالة وجود سجلات نقوم بملا خانة الاسم بقيمة حقل الاسم من السجل المستخرج

ولاحظي استخدام قاعدة IIf .. وهي قاعدة كقاعدة If ولكن مصغرها

واستخدمنا هذه القاعدة هنا للتحقق من ان قيمة الحقل ليست Null لعدم امكانية حدوث خطا

Invalid Use Of Null

اي تحققنا وقلنا لو القيمة Null فاملا الحقل بـ "" اما لو دون ذلك فضع قيمة حقل الإسم في خانة الإسم

اما السطر الذي يليه وهو Else .. اي في حالة ما دون ذلك لقاعدة If .. اي في حالة عدم وجود سجلات

نقوم بتفريغ خانة الإسم باعطائها لا شيئ ""

ثم نقوم باغلاق قاعدة If فإغلاق الجدول فإغلاق المتغير نفسه

وعلى هذا النحو اتجهي .. سادعكي الآن مع المثال المرفق معتمدا على قوة استنتاجك :)

واعتذر على الإختصار في الشرح فلا املك المزيد من الوقت الآن لكثرة مشاغلي

ولكن المثال ليس مختصرا .. بل تفصيلي ونرجوا من الله به ان تصل الفائدة :)

Rasha.rar

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#5

شكرا اخي على المساعده القيمه

ولكن لدي سؤال اخر از ممكن المساعده

هو : كيف يمكن عمل interface للفورم

بحيث يستدعي ادخال

1-user name

2-password.

#6

السلام عليكــم ورحمـة الله وبركاتــه ،،

يتم عمل واجهة تسجيل دخول بإنشاء نموذج جديد ووضع به الحقول المطلوبة كما سبق وتعلمنا سويا

وايضا بإنشاء جدول جديد في قاعدة البيانات به نفس الحقول ايضا كما سبق وتعلمنا سويا

واثناء الدخول يتم إستدعاء السجلات وفقا للبيانات المدخلة .. وفي حالة وجود سجلات نواصل الدخول

وفي حالة عدم وجود سجلات متطابقة لما ادخله المستخدم من بيانات الدخول يتم إظهار رسالة تفيد بخطاه

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

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