منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
الكود لا يستدعى الارقام الا الاقل من 10 - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : الكود لا يستدعى الارقام الا الاقل من 10 (/showthread.php?tid=42094)



الكود لا يستدعى الارقام الا الاقل من 10 - حماده ممدوح البحيرى - 05-08-22

السلام عليم

لو سمحت
الكود لاستدعاء اعلى قمية فى الجدول
ولكنه لا يعمل اذا كانت القيمة اعلى من رقم 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



RE: الكود لا يستدعى الارقام الا الاقل من 10 - Taha Okla - 06-08-22

وعليكم السلام ورحمة الله  وبركاته

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


RE: الكود لا يستدعى الارقام الا الاقل من 10 - حماده ممدوح البحيرى - 06-08-22

اخى الف شكر لحضرتك
بس ممكن ترفق الكود بعد التعديل
لانى مش قادر اغير تنسيق التيكست بوكس لاجعله 0001


RE: الكود لا يستدعى الارقام الا الاقل من 10 - Taha Okla - 06-08-22

المفروض يكون الرقم مخزن في قاعدة البيانات بالتنسيق الذي يناسب عدد الخانات الأعظم

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

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


RE: الكود لا يستدعى الارقام الا الاقل من 10 - حماده ممدوح البحيرى - 06-08-22

مليوووووووووووووون شكر ليك استاذ طه تم حل المشكلة