منتديات داماس > >
مساعدة بكود بحث عن قيمة كبري بالدوت نت وقاعدة Access





Icon4 مساعدة بكود بحث عن قيمة كبري بالدوت نت وقاعدة Access
مساعدة بكود بحث عن قيمة كبري بالدوت نت وقاعدة Access
عمل الكود : استدعاء اكبر قيمة من قاعدة البيانات ووضعها فى TextBox بشرط ادخال رقم كود اخر فى textBox اخر لاستدعائه
المشكلة : انه يستدعى هذا الكود مرة واحدة فقط بمعنى انى لو غير الكود المطلوب الاستعلام عنه يعطينى نفس النتيجة والمفروض ان يبحث عن هذا الكود الجديد ويعطينى نتيجة مختلفة لكنه يعطينى نفس النتيجة..
كود PHP:
Imports System.Data.OleDb
Public Class Form1
    Dim ADBScon 
As String = ("provider=Microsoft.jet.OLEDB.4.0;" "data source=" Application.StartupPath "\myoledb.mdb")
    
Dim mycon As New OleDbConnection(ADBScon)
    
Dim myolecom As New OleDbCommand

    
Private Sub TextBox2_TextChanged(ByVal sender As System.ObjectByVal e As System.EventArgsHandles TextBox2.TextChanged
       
    End Sub

    
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        TextBox2
.Text String.Empty
        
With myolecom
            
.Connection mycon
            
.CommandType CommandType.Text
            
.CommandText "select max (age) from Mydetailes where ID=@MYID"
            
.Parameters.Add("MYID"OleDbType.Integer).Value TextBox1.Text

        End With

        mycon
.Open()
        
TextBox2.Text myolecom.ExecuteScalar

        mycon
.Close()
        Exit 
Sub
    End Sub
End 
Class 
شكرا مقدما




لدعم قناة وسام الحمد على اليوتيوب

التعديل الأخير تم بواسطة Abufahmi ; 23-05-2016 الساعة 08:47 PM سبب آخر : تعديل العنوان بما يلائم الطلب
عذرا اخي ما فهمت طلبك ...
انت بدك تحضر القيمة الكبري من الحقل age من خلال الباراميتر القادم MyID ثم تعرضها بالتيكست بوكس الاول
طيب التيكست بوكس الثاني ماذا ستضع فيه وبمعنى اخر ما هو عمل اليتيكست بوكس الاخر ..
ياريت تفصل اكثر
اخير فى حد رد عليا اشكرك على الرد قبل كل شئ
المراد من التيكست بوكس الاول اعطاءه قيمة ليبحث عن اكبر قيمة لقيم اخرى هذا مثال ::
كود PHP:
002    احمد   20 
002   احمد    30
002   احمد   40
003   محمود   43
003   محمود  23 
عند البحث عن الكود رقم 2 فى التكست بوكس الاول يعطينى اكبر قيمة مرة واحدة فقط فى التكست بوكس الثانى ...
وعند البحث مرة اخرى برقم مختلف مثلا 3 لا يعطينى اى قيمة بل تظل القيمة فى التكست بوكس كما هى ..
اقتباس : المشاركة الأصلية كتبت بواسطة jungel
اخير فى حد رد عليا اشكرك على الرد قبل كل شئ
المراد من التيكست بوكس الاول اعطاءه قيمة ليبحث عن اكبر قيمة لقيم اخرى هذا مثال ::
كود PHP:
002    احمد   20 
002   احمد    30
002   احمد   40
003   محمود   43
003   محمود  23 
عند البحث عن الكود رقم 2 فى التكست بوكس الاول يعطينى اكبر قيمة مرة واحدة فقط فى التكست بوكس الثانى ...
وعند البحث مرة اخرى برقم مختلف مثلا 3 لا يعطينى اى قيمة بل تظل القيمة فى التكست بوكس كما هى ..
المشاغل والله هي السبب ... عموما مرحبا فيك

قمت بانشاء قاعدة بيانات مثل هذه :





وصممت الفورم بهذه الطريقة :



التيكست الأول للبحث
الثاني لعرض القيمة الكبري
الثالث لعرض اسم صاحب القيمة


ثم بالذهاب الي خصائص تيكست البحث :





لانشاء حدث Text Change


الكود :
بالكلاس :

كود PHP:
    Dim con As New OleDbConnection("provider=Microsoft.jet.OLEDB.4.0;" "data source=" Application.StartupPath "\Search_DB.mdb")
    
Dim cmd As New OleDbCommand 


عملت بروسيجر لتنظيف مربعات التيكست :

كود PHP:
    Sub clr()
        
TxName.Text ""
        
TxResult.Text ""
    
End Sub 


ثم اخيرا وضعت الكود بحدث Text Change اللي أنشأناه :

كود PHP:
Private Sub TxSearch_TextChanged(sender As ObjectAs EventArgsHandles TxSearch.TextChanged
        clr
()
        Try
            
con.Open()
            
cmd.Connection con

            cmd
.CommandText "Select Max(Record) From Search Where ID Like'%" TxSearch.Text "%'"
            
TxResult.Text cmd.ExecuteScalar

            cmd
.CommandText "Select Uname From Search Where ID Like'%" TxSearch.Text "%'"
            
TxName.Text cmd.ExecuteScalar

            con
.Close()
        Catch
            Return
        
End Try
    
End Sub 
وستجد السورس كامل بالمرفقات
كل التوفيق أخي
الف شكر على الاستجابة عموما ان شاء الله هجرب الكود وأبلغ حضرتك بالمستجدات والف شكرا والله يعينك ويقويك على مسئولياتك
اشكرك المشكلة تقريبا اتحلت لكن هل المشكلة فى البرامتر واللا ايه على الرغم انى استخدمت نفس جملة الاستعلام ...
اقتباس : المشاركة الأصلية كتبت بواسطة jungel
اشكرك المشكلة تقريبا اتحلت لكن هل المشكلة فى البرامتر واللا ايه على الرغم انى استخدمت نفس جملة الاستعلام ...
نعم اخي الغالي المشكلة كانت بالبراميتر لانه اعطاني الخطا عند جملة اكسكيوت سكالر
وعندها عرفت بان مصدر الخطا هو الباراميتر لذلك جعلته مباشر مع التيكست بوكس
ونصيحة اخي اذا اردت التعمق بهذا المجال ان تتعود علي البروسيجرات فهي اكثر فاعلي
من كتابة الاستعلامات علي هيئة كود
لكن البرامتر يا اخى لا يعطينى خطأ انما ينفذ الجملة عندى مرة واحدة انا البرنامج الى عندى كبير فعملت مثال مصغر لكنه نفس الكود ... واذا كان يعطيك خطأ عند ال excuteScaler فكيف يكون الخطأ فى البرامتر ؟؟ انا دماغى تقلت جامد على العمومك انا شاكر افضالك يا اخى العزيز وأستأذنك انى لو حصل ووقفت حاجة معايا انى ارجعلك... ومااذا تعنى ب proceeder هل تعنى subs...
اقتباس : المشاركة الأصلية كتبت بواسطة jungel
لكن البرامتر يا اخى لا يعطينى خطأ انما ينفذ الجملة عندى مرة واحدة انا البرنامج الى عندى كبير فعملت مثال مصغر لكنه نفس الكود ... واذا كان يعطيك خطأ عند ال excuteScaler فكيف يكون الخطأ فى البرامتر ؟؟ انا دماغى تقلت جامد على العمومك انا شاكر افضالك يا اخى العزيز وأستأذنك انى لو حصل ووقفت حاجة معايا انى ارجعلك... ومااذا تعنى ب proceeder هل تعنى subs...
عند تنفيذ امر اكسكيوتر اخي هو ينفذ حلقة بين بين جملة الاستعلام والبيانات بالقاعدة فاذا كانت جملة الاستعلام سليمة
والتي بدورها مربوطة بالبيانات يبقي الخلل بالواسطة وهي هنا الباراميتر الذي يحمل البيانات القادمة من القاعدة
لذلك يتوقف البرنامج اما من كود الباراميتر او من طريقة ربطه
وبالنسبة للبروسيجر اخي فانا اقصد الاجرائات المخزنة بقواعد البيانات عن طريق السكوال سيرفر
اقتباس : المشاركة الأصلية كتبت بواسطة abufahmi
عند تنفيذ امر اكسكيوتر اخي هو ينفذ حلقة بين بين جملة الاستعلام والبيانات بالقاعدة فاذا كانت جملة الاستعلام سليمة
والتي بدورها مربوطة بالبيانات يبقي الخلل بالواسطة وهي هنا الباراميتر الذي يحمل البيانات القادمة من القاعدة
لذلك يتوقف البرنامج اما من كود الباراميتر او من طريقة ربطه
وبالنسبة للبروسيجر اخي فانا اقصد الاجرائات المخزنة بقواعد البيانات عن طريق السكوال سيرفر
فهمت حضرتك تقصد StoredProceeder المشكلة ان شغال على Access مش نقلت الداتا على ال SQlServer لسه على العموم تشكر على مجهودك المتميز وسعة صدرك اتعلمت منك اخى الفاضل الكثير

مساعدة بكود بحث عن قيمة كبري بالدوت نت وقاعدة Access

أدوات الموضوع

هذا الموقع يستعمل منتجات MARCO1