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

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

وجدة كود ولكن لم يعمل لدي فبحثت طويلا ان انواع الاكواد وسورسات جاهزة لوضيفه الكود هذا ولكن للأسف لم اوفق في الحصول على سورس .

الكود
كود :
Using conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
           conn.Open()

           TextBox5.Text = Database1DataSet.Rent_Equipment.Compute("max(Ren_NO)", Nothing)
       End Using

وضيفة الكود :
انه يقرأ اخر رقم موجود :
مثلا :
ان هناك اخر رقم موجود رقم 10 فالكود يعطيني رقم 11 ليتم المواصلة 
للعلم الكود لم يعمل عندي الرجاء ثم الرجاء لمن عنده كود سهل وبسيط الرجاء وضعه هنا ليتم الاستفادة من الاكواد

اما الكود الثاني :
كود :
Dim C As Control
       For Each C In Me.Controls
           If TypeOf C Is TextBox Then
               C.Text = ""
           End If
       Next
       TextBox1.Text = obj.SelectMaxValue("tbl_employees", "empid")

لم استوعبه ابدا ويقال انه يعمل بشكل جيد ولكن لم افهم طريقته ليعمل لدي ارجو التوضيح لهذا الكود او جعله ابسط بكثير من التعقيدات الموجودة
غير ما يلزم فى هذا الكود
PHP كود :
Dim cmd2 As New OleDbCommand
        cmd2
.CommandType CommandType.Text
        cmd2
.Connection Con
        cmd2
.CommandText "select max (number) from [numberr] " 
        
Con.Open()
        
Dim a As Integer cmd2.ExecuteScalar
        Con
.Close()
        
TextBox3.Text 
شكرا اخي على مجهودك ولكن هناك خطأ

الكود

Using conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
Dim cmd2 As New OleDbCommand
cmd2.CommandType = CommandType.Text
cmd2.Connection = conn
cmd2.CommandText = "select max (Ren_NO) from [Rent_Equipment] "
conn.Open()
Dim a As Integer = cmd2.ExecuteScalar
conn.Close()
TextBox5.Text = a
End Using

مكان الخطأ
Dim a As Integer = cmd2.ExecuteScalar

عنوان الخطأ

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll

Additional information: Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.

فهل انا وضع شيء ليس في مكانه ؟؟
لم افهم الكود وعندما وضعته لاحظت ان ليس هناك شيء معين لوضع الرقم التلقائي فيه واريد وضع الرقم داخل TextBox5.Text هل يمكنك شرحه لي لاني لم افهمه صحيح واكيف يعمل تلقائي من غير زر يعمل ؟؟
أفرض أن لدينا  ما يلي
قاعدة بيانات اسمها   DataBase1
جدول أسمه Table1
وفيه حقل أسمه ID
نريد أخذ أخر قيمة نكتب الكود التالي في أي حدث نريد حدث ( تحميل النموذج - على زر أمر )
كود :
Dim sql As String = "select max(id)as maxid FROM Table1"
       
       Dim DA As New OleDbDataAdapter(sql, Conn)
       Dim DS As New DataSet
       
       DA.Fill(DS, "Table1")

       TextBox1.DataBindings.Add("text", DS, "Table1.MaxID")

هذه من إحدى الطرق وهناك طرق عده وإنما عرضت لك مثال
وإذا أردة أخر رقم زائد واحد أضف في نهاية الكود السابق السطر التالي

كود :
Me.TextBox1.Text += 1
الافضل تستخدم كود مناسب لنوع الربط المستخدم.
اشكرك على الجهد لكن يوجد خطأ

الكود
Using conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
conn.Open()

Dim sql As String = "select max(Ren_NO)as maxid FROM Rent_Equipment"

Dim DA As New OleDbDataAdapter(sql, conn)
Dim DS As New DataSet

DA.Fill(DS, "Rent_Equipment")

TextBox5.DataBindings.Add("text", DS, "Rent_Equipment.MaxID")
Me.TextBox1.Text += 1
End Using

مكان الخطا
Me.TextBox1.Text += 1

نوع الخطأ
An unhandled exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll

Additional information: Conversion from string "Ahmed Albasha" to type 'Double' is not valid.
(21-07-15, 08:51 PM)0theghost0 كتب : [ -> ]شكرا اخي على مجهودك ولكن هناك خطأ

الكود

Using conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
           Dim cmd2 As New OleDbCommand
           cmd2.CommandType = CommandType.Text
           cmd2.Connection = conn
           cmd2.CommandText = "select max (Ren_NO) from [Rent_Equipment] "
           conn.Open()
           Dim a As Integer = cmd2.ExecuteScalar
           conn.Close()
           TextBox5.Text = a
       End Using

مكان الخطأ
Dim a As Integer = cmd2.ExecuteScalar 

ضيف .string
عنوان الخطأ

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll

Additional information: Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.

فهل انا وضع شيء ليس في مكانه ؟؟

"cmd.CommandText = "select isnull(MAX((Patient_ID)+1),1) from Tb_PatientData
      
        Dim x As Integer = cmd.ExecuteScalar
     
  txt_ID.Text = x
هذه الفكرة من اخونا المهندس خالد السعدني
مسامحة شباب شكلي بدوخكم وياي ترى الكود مثل الشيء

الكود
Using conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
conn.Open()
Dim cmd As New OleDbCommand
Dim sql As String = "Select Case isnull(MAX((Ren_NO) + 1), 1) from Rent_Equipment"

Dim x As Integer = cmd.ExecuteScalar

TextBox5.Text = x
End Using

مكان الخطأ
Dim x As Integer = cmd.ExecuteScalar

عنوان الخطأ
An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll

Additional information: ExecuteScalar: Connection property has not been initialized.

فهل من يستطيع مساعدتي
اتمنى وضع الكود بجميع محتوياته لا تضع لي نصف الكود او جزء بسيط منه انني مبتدأ في عالم البرمجة لذا اريد شيء استطيع قرائته وفهمه وافادة الاخارين منه
اتمنى انكم توقفون وياي ولاتنزعجون مني البرنامج الى استخدمه للتذكير فقط
Visual Basic 2015 RC
ما المقصود باخر رقم موجود ؟
الصفحات : 1 2