تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
جملة sql تعمل بشرطين ؟؟؟
#1
[COLOR="#B22222"]
السلام عليكم ورحمة الله يا شباب

شباب انا عندي قاعدة بيانات اكسيس مربوطة ببرنامجي المصمم لافيجوال بيسك دوت نت ..... المهم
انا عندي جدول عامل فيه ادخالات واخراجات (صرف وقبض ) لمجموعة كبيرة من العملاء موجودة في جدول اسميته boox هذا الجدول يحوي على اعمدة كثيرة بس الي يهمني في جملة الاستعلام هي ثلاث اعمدة وهي costname (اسم الزبون) و amount (قيمة المبلغ المدفوع ) وdate (الي هو التاريخ طبعا ) ......... المفروض انه عندي جملة استعملام تعمل كالاتي والي بصراحة ماعرفت اعملها

جملة الاستعلام تجيبلي قيمة المبلغ المدفوع حسب اسم الزبون طبعا الي مكتوب في text box لكن حسب اخر تاريخ سدد فيه مبلغ قبل هذه المرة (يعني اتجيبلي حسب اخر تاريخ تسديد له ) طبعا لان كل عميل راح يسدد اكثر من مرة وراح تكون اله اكثرمن قيمة مبلغ واحدة فانا محتاج اظهار قيمة المبلغ حسب اخرتاريخ سدد فيه هو

يعني جملة استعلام بشرطين الاول يوافق اسم الزبون واخر تاريخ سدد فيه مبلغ
انا كاتب جملة الاستعلام الي تجيبلي القيمة حسب اسم الزبون وبقى حسب التاريخ فقط فياريت تساعدوني فيها
[/COLOR]
PHP كود :
"SELECT amount from boox where  costname='" textBox6.Text "'" 

واسف على الاطالة وشكرا
الرد }}}
تم الشكر بواسطة:
#2
[COLOR="#000080"]وعليكم السلام ورحمه الله وبركاته

انا مفهمتش السؤال اوي بس لو انت عارف التاريخ وهتستعلم عنه هتكون كده
لجعل الجمله بأكثر من شرط نضع and بين الشروط
كود :
"SELECT amount from boox where  costname='" & textBox6.Text & "' and date='" & textBox1.Text & "' "

ولو متعرفش التاريخ بس عايز اخر تاريخ هتكون كده

كود :
"SELECT top 1 amount from boox where  costname='" & textBox6.Text & "' order by date"

ملحوظه : لا تجعل اسم الحقل date حتي لا تسبب لك مشاكل .. لانها من الاسماء المحجوزه

وفقك الله
[/COLOR]
الرد }}}
تم الشكر بواسطة:
#3
مشكور يا اخي على الرد وحبيت اوضحلك بانه اكيد انا ما اعرف التاريخ لانه كل عميل له عدد كبير من التعاملات ( صرف\ قبض) في تواريخ مختلفة
وللاسف الكود الثاني غير شغال انا محتاج جملة تعمل بشرطين فقط طيب ممكن تعطيني كود sql لمعرفة التاريخ الاخير بين مجموعة تواريخ واجرب انا اصيغ باقي الجملة Smile
الرد }}}
تم الشكر بواسطة:
#4
جملة الاستعلام هكذا
[HTML]
select top 1 [date] ,name,amount from table order by [date] desc[/HTML]
الرد }}}
تم الشكر بواسطة:
#5
zeus كتب :مشكور يا اخي على الرد وحبيت اوضحلك بانه اكيد انا ما اعرف التاريخ لانه كل عميل له عدد كبير من التعاملات ( صرف\ قبض) في تواريخ مختلفة
وللاسف الكود الثاني غير شغال انا محتاج جملة تعمل بشرطين فقط طيب ممكن تعطيني كود sql لمعرفة التاريخ الاخير بين مجموعة تواريخ واجرب انا اصيغ باقي الجملة Smile

جرب كود الاخ امجد ان لم يعمل ارفع مثالك وسأعدله لك بأذن الله .
الرد }}}
تم الشكر بواسطة:
#6
اخ Mr_MGM اكيد كود الاخ امجد مو شغال لانه ما يتوافق مع اسم الزبون المدخل مع التاريخ مع شكري الجزيل على مشاركته

وشباب ببساطة انا محتاج جملة sql تعمل بشرطين
الاول ينوافق مع الاسم المدخل في ال textbox
والثاني مع اخر تاريخ تسديد للزبون
الرد }}}
تم الشكر بواسطة:
#7
[COLOR="#000080"]الحل السابق يحقق طلبك
order by تقوم بترتيب السجلات للعميل
top 1 تقوم بأسترجاع سجل واحد فقط

اذا المشكله في تطبيق الكود .. لهذا ضع مثال لتسهل علينا مساعدتك .
[/COLOR]
الرد }}}
تم الشكر بواسطة:
#8
الجملة هذه كمثال فقط قم بتطبيقها بما يتناسب مع مثالك
الرد }}}
تم الشكر بواسطة:
#9
اها شباب انا نسيت اقللكم انا ما استخدم لا dataset ولا dataadapter انا استخدم الكود التالي الي ينفذلي ويجيبلي نتيجة جملة ال sql مباشرة انا لو استخدمهم كنت حليتها بنفسي اسف على عدم ذكر هذه الملاحظة الكود كالتالي
PHP كود :
Dim choos As New OleDbCommand("SELECT amount from boox where costname='" ComboBox6.Text "'"con)
        If 
con.State ConnectionState.Open Then con.Close()
        
con.Open()
        If 
choos.ExecuteScalar Is DBNull.Value Then
            TextBox17
.Text ""
            
con.Close()
        Else
            
TextBox17.Text choos.ExecuteScalar
            con
.Close()
        
End If 
انا احاول حل هذا الكود
الرد }}}
تم الشكر بواسطة:
#10
جرب كده ...

PHP كود :
Dim choos As New OleDbCommand("SELECT top 1 amount from boox where costname='" ComboBox6.Text "' order by [date] desc"con)
        If 
con.State ConnectionState.Open Then con.Close()
        
con.Open()
        If 
choos.ExecuteScalar Is DBNull.Value Then
            TextBox17
.Text ""
            
con.Close()
        Else
            
TextBox17.Text choos.ExecuteScalar
            con
.Close()
        
End If 
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم