منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : التوجه الى سجل مُحدد من الـ DataSource
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ورحمة الله وبركاته

قمت بعمل برنامج باستخدام قاعدة بيانات اكسس، ووقف فى طريقى شىء اعتقد انه بسيط.
- قمت بربط الفورم بقاعدة البيانات عن طريق اضافة قاعدة البيانات لـ DataSource المشروع وليس ADO..
يعنى اضفت Data Source من قائمة Project ثم Add New DataSource
وسحبت الجدول من الـ Data Source للفورم على صورة Details ( تظهر البيانات بداخل TextBox )
- وضعت زر للبحث في ذلك الفورم ( زر البحث يفتح شاشة جديدة )
الشاشة الجديدة تجد فيها DataGridView بها بعض بيانات الجدول ( ومنها "كود العضو" وهو أول عمود )

المطلوب:
كود بداخل الحدث DataGridView1_CellDoubleClick ينقلنى للصف الذى تم الضغط عليه فى الفورم الأولى

* يُفضل وجود مشروع بسيط لأفهم الفكرة منه
1_
http://vb4arb.com/vb/thread-13461.html
2_
http://vb4arb.com/vb/thread-13198.html
تجد أمثلة تلبي طلبك واكثر !!!
السلام عليكم ورحمة الله

أخي يوسف

هذه الكود على أساس اسم الجدول Details
PHP كود :
Dim index As Integer DetailsBindingSource.Find("code"val(TextBox1.Text))
DetailsBindingSource.Position index 
(12-10-15, 01:28 AM)مهموم كتب : [ -> ]السلام عليكم ورحمة الله

أخي يوسف

هذه الكود على أساس اسم الجدول Details
PHP كود :
Dim index As Integer DetailsBindingSource.Find("code"val(TextBox1.Text))
DetailsBindingSource.Position index 

تمام
هذا ما كنت اريده بالضبط
سؤال آخر متعلق بنفس الامر
لو اردت عرض اكثر من سجل حسب الكود
بمعنى مثلًا الجدول فيه 100 سجل..
اريد فقط بعد الضغط على زر يظهر الكود 1 والكود 2 والكود 3
ويتم التنقل بين هذه السجلات فقط عن طريق زر السابق والتالى ، بشرط انه عند الضغط على زر الحفظ يتم حفظ التعديلات التى اجريت على الثلاث سجلات مع عدم حذف باقى السجلات..
السلام عليكم ورحمة الله

أخي يوسف

يمكنك في هذه الحالة استخدام الأمر Filter وهذا هو الكود
PHP كود :
DetailsBindingSource.Filter "code in (1,2,3)" 
شكرًا جدًا لك.. Smile

لدى سؤال آخر
عندى BindingNavigator وفيه علامة للحذف وتقوم بالحذف تلقائيًا
اريد وضع شرط للحذف
If MessageBox.Show("هل أنت متأكد انك تريد حذف السجل؟", "تأكيد الحذف", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
'يتم الحذف
End If
السلام عليكم ورحمة الله

أخي يوسف

أهم شيء أولا يجب إلغاء محتوى الخاصية DeleteItem لل BindingNavigator باختيار None عن طريق خصائصها
أو وضع هذا الأمر في حدث Form1_Load
PHP كود :
BindingNavigator1.DeleteItem Nothing 

ثانياً هذا كود حدث الضغط على علامة الحذف في BindingNavigator
PHP كود :
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles BindingNavigatorDeleteItem.Click
    
If MessageBox.Show("هل أنت متأكد انك تريد حذف السجل؟""تأكيد الحذف"MessageBoxButtons.YesNoMessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
        DetailsBindingSource
.RemoveCurrent()
    
End If
End Sub 
جميل جدًا جدًا.. اردت شىء آخر وهو التعديل برمجيًا على أمر INSERT INTO الخاص بالـ TableAdapter حيث يرسل آخر عمود قيمة ثابتة
السلام عليكم ورحمة الله

أخي يوسف

عدل قيمة CommandText لل InsertCommand
وهذا مثال ل(حيث يرسل آخر عمود قيمة ثابتة)
PHP كود :
DetailsTableAdapter.Adapter.InsertCommand.CommandText "Insert Into `Details` (`col1`, `col2`, `col3`) Values (?, ?, 123)" 
جميل جدًا Smile
الصفحات : 1 2