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

نسخة كاملة : الكود لا يستدعى الارقام الا الاقل من 10
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليم

لو سمحت
الكود لاستدعاء اعلى قمية فى الجدول
ولكنه لا يعمل اذا كانت القيمة اعلى من رقم 10
اى انه ان كانت القمية اقل من 10 يعمل بشكل جيد

اما ان كانت القيمة اعلى من 10 لا يعمل الكود اطلاقا لا اعلم لماذا




كود :
Public Function Max_number_invoic_tbpl()
       Dim Number As Integer

       Try
           Dim cmd As New SqlCommand("Select IIF(Max(order_no) Is NULL,1,Max(order_no)+1)as order_no From wardya_cashier Where order_tybe ='" & order_type.Text & "'", Con)
           If Con.State = 1 Then Con.Close()
           Con.Open()
           Number = cmd.ExecuteScalar
           Con.Close()
       Catch ex As Exception
           Number = 0
           Con.Close()
       End Try
       Return Number
   End Function
وعليكم السلام ورحمة الله  وبركاته

ربما أنت جعلت نوع الحقل نصي وليس رقمي في قاعدة البيانات
أذهب وغير نوعه إلى نوع رقمي وارجع جرب الكود..
========
السبب في حال النوع النصي فإن معيار القيمة الأعظمة يعتمد على محرف الحرف اليسار وليس قيمة الرقم بالكامل 
فيبحث عن الخانة اليسار ويرتب بموجبها .. وليس بالقيمة الرقمية.
فإذا أردت أن تخزن رقم في حقل نصي فعليك أن تعرف عدد الخانات للرقم الأعظم والذي قد يتم حفظه في هذا الحقل النص
ثم تجعل تنسيق الأرقام فيه مساوي لعدد الخانات - فلو كان العدد الأعظم هو 9999 يعني أربع تسعات فذها يعني أربع خانات
فلو أردت أن تكتب رقم ما فعليك أن تكتبه بصيغة الأربع خانات مثلاً :
الرقم واحد يكتب في الحقل  : 0001  وليس 1
الرقم اثنين يكتب في الحقل : 0002 وليس 2
الرقم واحد وعشرون يكتب في الحقل : 0021  ولي 21
 عندها لو طلبت أن يقوم الكود بترتيب القيم النصية فسيقوم بترتيبها ترتيباً صحيحاً سواء تصاعدي أو تنازلي ..
اخى الف شكر لحضرتك
بس ممكن ترفق الكود بعد التعديل
لانى مش قادر اغير تنسيق التيكست بوكس لاجعله 0001
المفروض يكون الرقم مخزن في قاعدة البيانات بالتنسيق الذي يناسب عدد الخانات الأعظم

مثلاً فيك تجعل مربع النص الثاني يعرض تنسيق لمربع النص الأول بأربع خانات من خلال الكود :
كود :
   Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
       TextBox2.Text = Format(Val(TextBox1.Text), "0000")
   End Sub

===========
لو غيرت نوع الحقل في قاعدة البيانات لحقل رقمي بدلاً من نصي وبقيت على كودك الأول - ربما يغنيك أن تحفظ الأرقام في حقل نصي بتنسيق كما في الكود السابق..
مليوووووووووووووون شكر ليك استاذ طه تم حل المشكلة