تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] اضافة سريال لكل عملية
#1
السلام عليكم 

قمت بانشاء وظيفة لاضافة سريال نمبر لكل فاتورة بيع 

السريال يعتمد علي قيمة ثابتة مثلا 50  او   we   مثلا  
وبعد ذالك يضاف رقم 1 ويجمع علي اخر رقم لكل فاتورة يتم طباعتها 
يبقي اول قيمة لاول فاتورة 501  و 502  و 503  وهكذا مع شرط وجود رقم 50 اول الفاتورة 
يبقي اول قيمة لاول فاتورة we1  و we2  و we3  وهكذا مع شرط وجود رقم 50 اول الفاتورة 
استخدمت الوظيفة كالاتي ظلت تعمل الي قيمة 5010 وتوقفت عن التزايد عند القيمة 5010 لا اعلم ما سبب وقوف الوظيفة عن العمل اذا كانت تعمل في البدايةبدون مشاكل

كود :
Public Function serial(ByVal ds As DataSet, ByVal tb As String, ByVal tbcode As String) As String
            Dim bignum As String = CType(ds.Tables(tb).Compute("Max(" & tbcode & ")", tbcode & " >= 0"), String)
       Dim mainval, mainvalB, result As String
       mainval = bignum.Substring(0, 2)
       mainvalB = bignum.Remove(0, 2)
       result = CStr(CLng(mainvalB) + 1)
       serial = mainval + result
   End Function
الرد }}}
تم الشكر بواسطة:
#2
كود :
   Public Function serial(ByVal ds As DataSet, ByVal tb As String, ByVal tbcode As String) As String
       Dim cn As New SqlConnection("Server =(local);database=ALASEM2;integrated security=True")
       ClearTools()
       Dim StrSQL As String = "Select IIF(Max(" & tbcode & ") Is NULL,50,Max(" & tbcode & ")+1) From " & tb & ""
       Dim StrTableName As String = "CASTOMER"
       Dim da As New SqlDataAdapter(StrSQL, cn)
       ds.Clear()
       da.Fill(ds, StrTableName)
       Dim bignum As String = ds.Tables(StrTableName).Rows(0)(0).ToString()
       serial = bignum
   End Function
أو
كود :
Dim StrSQL As String = "Select IIF(Max(ID) Is NULL,50,Max(ID)+1) From CASTOMER"
       Dim cn As New SqlConnection("Server =(local);database=ALASEM2;integrated security=True")
       Dim StrTableName As String = "CASTOMER"
       Dim da As New SqlDataAdapter(StrSQL, cn)
       Dim dt As New DataSet
       da.Fill(dt, StrTableName)
       Txt_ID.Text = dt.Tables(StrTableName).Rows(0)(0).ToString()
أو
كود :
Public Function serial1(ByVal dt As DataSet, ByVal tb As String, ByVal tbcode As String) As String
       Dim bignum As String = CType(dt.Tables(tb).Compute("Max(" & tbcode & ")+1", tbcode & " >= 0"), String)
       serial1 = bignum
   End Function
الرد }}}
تم الشكر بواسطة: محمد اسماعيل , ابو روضة
#3
(13-12-18, 10:49 PM)asemshahen5 كتب :
كود :
   Public Function serial(ByVal ds As DataSet, ByVal tb As String, ByVal tbcode As String) As String
       Dim cn As New SqlConnection("Server =(local);database=ALASEM2;integrated security=True")
       ClearTools()
       Dim StrSQL As String = "Select IIF(Max(" & tbcode & ") Is NULL,50,Max(" & tbcode & ")+1) From " & tb & ""
       Dim StrTableName As String = "CASTOMER"
       Dim da As New SqlDataAdapter(StrSQL, cn)
       ds.Clear()
       da.Fill(ds, StrTableName)
       Dim bignum As String = ds.Tables(StrTableName).Rows(0)(0).ToString()
       serial = bignum
   End Function
أو
كود :
Dim StrSQL As String = "Select IIF(Max(ID) Is NULL,50,Max(ID)+1) From CASTOMER"
       Dim cn As New SqlConnection("Server =(local);database=ALASEM2;integrated security=True")
       Dim StrTableName As String = "CASTOMER"
       Dim da As New SqlDataAdapter(StrSQL, cn)
       Dim dt As New DataSet
       da.Fill(dt, StrTableName)
       Txt_ID.Text = dt.Tables(StrTableName).Rows(0)(0).ToString()
أو
كود :
Public Function serial1(ByVal dt As DataSet, ByVal tb As String, ByVal tbcode As String) As String
       Dim bignum As String = CType(dt.Tables(tb).Compute("Max(" & tbcode & ")+1", tbcode & " >= 0"), String)
       serial1 = bignum
   End Function

بشكرك علي ردك ومتابعتك الموضوع اسمح لي دقائق 
هجرب ورد عليك

(13-12-18, 10:49 PM)asemshahen5 كتب :
كود :
   Public Function serial(ByVal ds As DataSet, ByVal tb As String, ByVal tbcode As String) As String
       Dim cn As New SqlConnection("Server =(local);database=ALASEM2;integrated security=True")
       ClearTools()
       Dim StrSQL As String = "Select IIF(Max(" & tbcode & ") Is NULL,50,Max(" & tbcode & ")+1) From " & tb & ""
       Dim StrTableName As String = "CASTOMER"
       Dim da As New SqlDataAdapter(StrSQL, cn)
       ds.Clear()
       da.Fill(ds, StrTableName)
       Dim bignum As String = ds.Tables(StrTableName).Rows(0)(0).ToString()
       serial = bignum
   End Function
أو
كود :
Dim StrSQL As String = "Select IIF(Max(ID) Is NULL,50,Max(ID)+1) From CASTOMER"
       Dim cn As New SqlConnection("Server =(local);database=ALASEM2;integrated security=True")
       Dim StrTableName As String = "CASTOMER"
       Dim da As New SqlDataAdapter(StrSQL, cn)
       Dim dt As New DataSet
       da.Fill(dt, StrTableName)
       Txt_ID.Text = dt.Tables(StrTableName).Rows(0)(0).ToString()
أو
كود :
Public Function serial1(ByVal dt As DataSet, ByVal tb As String, ByVal tbcode As String) As String
       Dim bignum As String = CType(dt.Tables(tb).Compute("Max(" & tbcode & ")+1", tbcode & " >= 0"), String)
       serial1 = bignum
   End Function

طيب انا عدلت الوظيفة كالاتي :-
علي اساس جملة الاتصال للبرنامج عامة con

كود :
Public Function code(ByVal ds As DataSet, ByVal tb As String, ByVal tbcode As String) As String
       Dim StrSQL As String = "Select IIF(Max(" & tbcode & ") Is NULL,50,Max(" & tbcode & ")+1) From " & tb & ""
       Dim da As New OleDbDataAdapter(StrSQL, con)
       ds.Clear()
       da.Fill(ds, tb)
       Dim bignum As String = ds.Tables(tb).Rows(0)(0).ToString()
       code = bignum
   End Function

الي بيحصل كالاتي 

الاكواد عندي زادت  من  509  الي 510   وانا اريد تثبيت قيمة الخمسين لعملية البحث عن الفاتورة .
 فاصبحت هنا حاجة مختلفة 51  بدلا من 5010  

انا عايز 509 تبقي 5010 و 5011 و 5012 وهكذا 
بردك عند 5099  تبقي 50100 وهكذا 

ما اريدة بدون اطالة  الخمسين ثابت لايتغير ويضاف 1 الي مابعدة
الرد }}}
تم الشكر بواسطة: ابو روضة , ابو روضة
#4
أبدل ال 50 بـ 1 في الاستعلام و ضع :

كود :
Dim bignum As String =50 & ds.Tables(tb).Rows(0)(0).ToString()

أي بالاستعلام :

كود :
Dim StrSQL As String = "Select IIF(Max(" & tbcode & ") Is NULL,1,Max(" & tbcode & ")+1) From " & tb & ""
الرد }}}
تم الشكر بواسطة: ابو روضة , محمد اسماعيل , elgokr
#5
(14-12-18, 03:44 AM)asemshahen5 كتب : أبدل ال 50 بـ 1 في الاستعلام و ضع :

كود :
Dim bignum As String =50 & ds.Tables(tb).Rows(0)(0).ToString()

أي بالاستعلام :

كود :
Dim StrSQL As String = "Select IIF(Max(" & tbcode & ") Is NULL,1,Max(" & tbcode & ")+1) From " & tb & ""

أسال الله العظيم ان يحفظك من كل مكروة او كرب.
تم الحل إنشاء الله .
الرد }}}
تم الشكر بواسطة: asemshahen5 , asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  اضافة لون للالوان في التاكست بكس أحمد فتح الرحمن 4 451 08-01-25, 04:05 PM
آخر رد: أحمد فتح الرحمن
  اضافة ايام للتاريخ العيدروس 2 374 07-01-25, 02:06 AM
آخر رد: العيدروس
  لايمكن الوصول للملف لأنه قيد الاستخدام بواسطة عملية أخرى صالح عبدالله 3 324 24-12-24, 12:17 AM
آخر رد: صالح عبدالله
  [سؤال] اضافة ملف Pdf الى الريسورس واستخراجه الى مسار معين .. ackore 6 586 15-11-24, 02:51 AM
آخر رد: justforit
  [VB.NET] اضافة ملاحظة صوتية abo ragab 2 458 15-10-24, 10:14 PM
آخر رد: abo ragab
  كيف يمكن اضافة عناصر للكومبوبوكس اثناء تشغيل البرنامج عن طريق المستخدم haithammoftah 3 2,160 30-09-24, 12:52 AM
آخر رد: asmarsou
  اضافة صورة مخزنة في قاعدة البيانات sql الى الكريستال ريبورت صالح عبدالله 3 461 24-09-24, 09:52 AM
آخر رد: صالح عبدالله
  اضافة اسطر فارعة في الداتا جريد فيو ismaeel 1 557 25-08-24, 02:43 AM
آخر رد: Taha Okla
  المساعدة في عملية طرح الوقت من خلال اثنين textbox جيولوجي مبتدئ 9 2,761 06-08-24, 07:43 PM
آخر رد: خالد كامل1
  [سؤال] مشكلة في اضافة التاريخ محمد العامر 4 533 16-06-24, 04:12 PM
آخر رد: محمد العامر

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


يقوم بقرائة الموضوع: