سوال ياشباب كيف يمكن معرفة رقم الحقل في جدول معين ( مثال)
عند البحث عن معلومة و وجدة فكيف اعرف رقم الحقل
سوال ياشباب كيف يمكن معرفة رقم الحقل في جدول معين ( مثال)
عند البحث عن معلومة و وجدة فكيف اعرف رقم الحقل
السلام عليكم
الحقول يبدأ ترقيمها من (0) ..
وهي مرتبة كما في الجدول الموجود في قاعدة البيانات ..
بإمكانك الاطلاع على بعض الأمثلة المتواجدة في القسم ...
بالتوفيق :)
{ وقل رب زدني علماً }
عزيزي تمهيدي
اعرف ان الحقول تبداء من 0 و قد بحثت في القسم ولم اجد الرد فاذا كنت تعرف هذي الامثلة فارجو اعطائي الرابط اذا امكن
والله سؤال غريب
مافهمته
<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>
ممكن توضيح أكثر
:wacko:
>> تجارب برمجية <<
[/وسط][/وسط][/وسط]
السلام عليكم
بفرض أنك عرفت المعلومة المراد البحث عنها
الحل الذي أطرحه يجب ان يكون PK في الجدول
نفرض أن المعلومة المراد البحث عنها في الحقل PK الخاص بها يحمل الرقم 23
فأنت تعمل جملة select statment تبحث في حقل الPK وتعمل عداد وتجعل قيمته صفر
وتفحص حقل PK اذا وصلت الي المعلومة المراد البحث عنها يكون رقم العداد هو رقم الحقل
أما ان لم تكون هي المعلومة تزيد العداد بمقدار واحدوتبحث في الحقل الذي يليه
هذا والله أعلم ان لم تكن خاصية جاهزة لهذا الغرض
أرجوا ان يكون الحل مفهوم
ولكن عفوا ممكن ان توضح سبب هذا السؤال لأنه ممكن ان تكون طريقة أسهل :D
خيركم من تعلم القرآن وعلمه
الاخ مقبل الله يعطيك العافية على الرد
صحيح ان العداد بيعطي ارقام متسلسلة بس بيكون العدد على حسب الحقول التي وجدها و ليس حسب رقم الحقل و الجدول كامل ( على ماعتقد )
السبب
لدي فورة و فيه مجموعة من Text Box والاوامر في عرض الجدول موجودة في برسيجر اقوم بطلب البرسيجر وفي رقم Row هو مثل ROW1
( DS.Tabel("tb1").Rows(ROW1 وعند البحث عندما اجد الحقل المطلوب اريد ان اضع رقم الحقل في ROW1 .
لا تقل لي ان اعمل حقل فية ارقام متسلسلة لان يوجد و لكن لايمكن الاعتماد علية لانه يتم علية عملية الحذف .
هذا هو البروسجر
Sub View_text()
txt_rec_no.Text = MY_DS.Tables("compane_Bay_RS").Rows(ROW1).Item(0)
txt_INVOICE_NO_Bey.Text = MY_DS.Tables("compane_Bay_RS").Rows(ROW1).Item(1)
txt_Compn_name.Text = MY_DS.Tables("compane_Bay_RS").Rows(ROW1).Item(2)
End Sub
وهذي عملية البحث
Dim F_Inv As String
F_Inv = InputBox("Input Invoec NO ", "Input Masseg")
Dim F_Compne_buy As New OleDb.OleDbCommand("SELECT * FROM compane_Bay where INVOICE_NO_Bey='" & F_Inv & "'", USCC_DB)
Dim Comp_RD As OleDb.OleDbDataReader
Comp_RD = F_Compne_buy.ExecuteReader
If Comp_RD.Read Then
ROW1 = (ماذا يكون هنا)
Comp_RD.Close()
end if
الاخ مقبل الله يعطيك العافية على الرد
صحيح ان العداد بيعطي ارقام متسلسلة بس بيكون العدد على حسب الحقول التي وجدها و ليس حسب رقم الحقل و الجدول كامل ( على ماعتقد )
السبب
لدي فورة و فيه مجموعة من Text Box والاوامر في عرض الجدول موجودة في برسيجر اقوم بطلب البرسيجر وفي رقم Row هو مثل ROW1
( DS.Tabel("tb1").Rows(ROW1 وعند البحث عندما اجد الحقل المطلوب اريد ان اضع رقم الحقل في ROW1 .
لا تقل لي ان اعمل حقل فية ارقام متسلسلة لان يوجد و لكن لايمكن الاعتماد علية لانه يتم علية عملية الحذف .
هذا هو البروسجر
Sub View_text()
txt_rec_no.Text = MY_DS.Tables("compane_Bay_RS").Rows(ROW1).Item(0)
txt_INVOICE_NO_Bey.Text = MY_DS.Tables("compane_Bay_RS").Rows(ROW1).Item(1)
txt_Compn_name.Text = MY_DS.Tables("compane_Bay_RS").Rows(ROW1).Item(2)
End Sub
وهذي عملية البحث
Dim F_Inv As String
F_Inv = InputBox("Input Invoec NO ", "Input Masseg")
Dim F_Compne_buy As New OleDb.OleDbCommand("SELECT * FROM compane_Bay where INVOICE_NO_Bey='" & F_Inv & "'", USCC_DB)
Dim Comp_RD As OleDb.OleDbDataReader
Comp_RD = F_Compne_buy.ExecuteReader
If Comp_RD.Read Then
ROW1 = (ماذا يكون هنا)
View_text()
Comp_RD.Close()
end if
تم تعديل هذه المشاركة بواسطة hazm1 في 19 مارس 2006 في 23:30
وين ياشباب
بصراحة أخي ما فهمت
الحين شنهو اللي تبيه بالضبط ؟؟!!
وإذا أمكن تحط برنامجك في ملف مرفق يمكن نقدر نساعدك !!
{ وقل رب زدني علماً }
الاخ العزيز تمهيدي
صعب وضع البرنامج و ذلك للاسباب التالية :-
كبر حجم قاعدة البيانات و كذالك لسرية البيانات لانها بيانات حقيقية واسف على ذلك .
ولكن الموضوع المطلوب اعتقد لانه بسيط لمن لدية خبرة وذلك كل المطوب رقم الحقل في جدول و ليس البيانات الموجودة في الحقل وذلك
اذا كان في الجدول و في العامود رقم ( 0 ) رقم متسلسل مثل 1,2,3,4,7,14,15,19 فاريد اعرف رقم الحقل الموجود فية رقم 7 الا وهو رقم 5 فكيف اخرج رقم 5
ارجو اني اوضحت ذلك
تم تعديل هذه المشاركة بواسطة hazm1 في 21 مارس 2006 في 22:57
السلام عليكم
عفواً أخي ..
أنت تقصد أنك تريد معرفة رقم ( السجل ) وليس رقم ( الحقل )
هناك فرق بين السجل والحقل
حيث أن :
السجلات = الصفوف
أما الحقول = الأعمدة
------
هل هذا ما تقصده ؟؟!
{ وقل رب زدني علماً }
نعم اخوي رقم السجل
تقريباً عرفت الحل .. :D
بس ما قلت لنا استخدمت ربط القاعدة عن طريق الكود أم عن طريق المعالج !
لأن الطريقة التي فكرتُ فيها هي عن طريق الكود !
{ وقل رب زدني علماً }
الرابط عن طريق الكود وعن طريق DATASET و DATAREADER
الاخ العزيز تمهيدي
وجد الحل تقريبا بعد الرسالة السابقة
وهو ان عندما تقوم بالبحث عن طريق SELECT فان السجل الذي يجدة يخذ رقم ( 0 ) في DATASET جديدة و لايمكن اعتمادة علية الا عن طريق بروسجر جديد .
بس اعتقد ان توجد طريق في البحث داخل DATASET مباشر ولكن لا اعرف الامر بشكل كامل
MY_DS.Tables("TP1").Rows.Find
اعتقد هذا الامر و لكن الطريقة و الشروط لا اعرفها
ولك جزيل الشكر و التقدير
هذا الموضوع مغلق.