تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت
#11
(20-02-19, 05:04 PM)asemshahen5 كتب : أعتذر عن التأخر بالرد و لكن الخطأ بسيط ضع بدل t1 اسم الجدول و بدل code اسم العامود و بدل t4 القيمة المراد البحث عنها ليكون الكود كالتالي :

PHP كود :
CheckBox1.Checked CheckCode("t1""code"t4.text

فرغ الداتا سيت أو الداتاتيبل ليتم التعبئة بالمعلومات الجديدة .

لا يا اخى الكريم asemshahen5 جزاك الله خيرا انا اللى بعتذر عن التاخير فى الرد ...... ولكن لم افهم ما تقصد حضرتك عندى اسم الجدول بالفعل t1 واسم العمود code ولا يوجد عندى CheckBox1
الرد }}}
تم الشكر بواسطة:
#12
ده CheckCode("t1""code"t4.text بيدي قيمة True أو False و ممكن تضعها في أي Checkbox أو تستخدم قيمتها في الكود دون الرجوع لعرضها في Checkbox .
الرد }}}
تم الشكر بواسطة:
#13
(26-02-19, 04:17 PM)asemshahen5 كتب : ده CheckCode("t1""code"t4.text بيدي قيمة True أو False و ممكن تضعها في أي Checkbox أو تستخدم قيمتها في الكود دون الرجوع لعرضها في Checkbox .

وفى اى مكان اضع هذا الكود هل فى زر الحفظ ام الفكشن  تحياتى لك اخى 
PHP كود :
CheckBox1.Checked CheckCode("t1""code"t4.text
دا الفاكشن اللى استخدمتة
PHP كود :
Public Function CheckCode() As Boolean
        Dim dt 
As New DataTable
        Dim SqlSt 
As String "select * from  t1  where code='" T4.Text "'"


 
       If con.State ConnectionState.Closed Then con.Open()
 
       Dim adp As New OleDb.OleDbDataAdapter(SqlStcon)
 
       adp.Fill(dt)
 
       If dt.Rows.Count 0 Then
            
'MsgBox("الكود غير موجود")
            CheckCode = False
        Else
            '
MsgBox("الكود موجود")
 
           CheckCode True
        End 
If
 
       If con.State ConnectionState.Open Then con.Close()
 
       Return CheckCode
    End 
Function 
ودا زر الحفظ والتعديل معا
PHP كود :
  Private Sub bsave_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles bsave.Click


        If con
.State ConnectionState.Open Then con.Close()
 
    
        If Val
(T7.Text) > Val(T8.TextThen
            MessageBox
.Show("سعر التكلفة أكبر من سعر البيع""رسالة تأكيد"MessageBoxButtons.OKMessageBoxIcon.Error)
 
           Exit Sub
        End 
If
 
       If Val(T7.Text) = Val(T8.TextThen
            MessageBox
.Show("سعر البيع يساوي سعر التكلفة""رسالة تأكيد"MessageBoxButtons.OKMessageBoxIcon.Error)
 
           Exit Sub
        End 
If


 
       If CheckCode() = True Then
            
' في حالة كود الصنف موجود
            Edit()
        Else
            ' 
في حالة كود الصنف غير موجود
            Save
()

 
       End If


 
   End Sub 
ولا يوجد لدى اى CheckBox1 
.......... اشكرك اخى واسف لتعبك معى 
الرد }}}
تم الشكر بواسطة:
#14
PHP كود :
If CheckCode("t1", "code", t4.text)  True Then
            
' في حالة كود الصنف موجود
            Edit()
        Else
            ' 
في حالة كود الصنف غير موجود
            Save
()

 
       End If 

بسيطة بس كدة .

و ده كود المديول :

PHP كود :
Module Module1
    Public 
Function CheckCode(t1 As Stringcode As Stringt4 As String) As Boolean
        Dim dt 
As New DataTable
        Dim SqlStr 
As String "select * from " t1 " where " code " ='" t4 "'"
 
       If con.State ConnectionState.Closed Then con.Open()
 
       Dim adp As New SqlClient.SqlDataAdapter(SqlStrcon)
 
       adp.Fill(dt)
 
       If dt.Rows.Count 0 Then
            MsgBox
("الكود غير موجود")
 
           CheckCode False
        Else
            MsgBox
("الكود موجود")
 
           CheckCode True
        End 
If
 
       If con.State ConnectionState.Open Then con.Close()
 
       Return CheckCode
    End 
Function
End Module 
و بدا المديول تستطيع عمل إستعلام عن أي قيمة بأي جدول بدل كل مرة تكتب فانكشن جديد لكل جدول تستخدم واحد بس .
الرد }}}
تم الشكر بواسطة:
#15
(26-02-19, 05:20 PM)asemshahen5 كتب :
PHP كود :
If CheckCode("t1", "code", t4.text)  True Then
            
' في حالة كود الصنف موجود
            Edit()
        Else
            ' 
في حالة كود الصنف غير موجود
            Save
()

 
       End If 

بسيطة بس كدة .

و ده كود المديول :

PHP كود :
Module Module1
    Public 
Function CheckCode(t1 As Stringcode As Stringt4 As String) As Boolean
        Dim dt 
As New DataTable
        Dim SqlStr 
As String "select * from " t1 " where " code " ='" t4 "'"
 
       If con.State ConnectionState.Closed Then con.Open()
 
       Dim adp As New SqlClient.SqlDataAdapter(SqlStrcon)
 
       adp.Fill(dt)
 
       If dt.Rows.Count 0 Then
            MsgBox
("الكود غير موجود")
 
           CheckCode False
        Else
            MsgBox
("الكود موجود")
 
           CheckCode True
        End 
If
 
       If con.State ConnectionState.Open Then con.Close()
 
       Return CheckCode
    End 
Function
End Module 

اخى الكريم الكود شغال كويس جدا معى حفظ وتعديل بس المشكلة كلها انى لما اعمل تعديل لكود الصنف من كود 10 مثلا الى كود 20 فبيكرر البيانات يعنى بينشى صنف جديد بنفس بيانات الصنف كود 10 بس بكود 20 يعنى يوجد صنف كود 10 ونفس البيانات بس بكود 20  ...........تحياتى لك اخى المحترم

ودا كود التعديل 
PHP كود :
 Sub Edit()
 
       Try
     
            Dim str 
As String = ("Provider = Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\h1.accdb")
 
           Dim con As New OleDbConnection(str)
 
           Dim issql As String "select * from T1 where CODE='" Me.T4.Text "'"
 
           Dim isds As New DataSet
            Dim isda 
As New OleDb.OleDbDataAdapter(issqlcon)
 
           isda.Fill(isds"CODE")
 
           If Me.BindingContext(isds"CODE").Count 0 Then
                MsgBox
("كود الصنف غيرموجود  "MsgBoxStyle.Critical"خطا")
 
               Exit Sub
            End 
If
 
           cmd = New OleDb.OleDbCommand("delete  from t1 where code ='" Me.T4.Text "'"con)
 
           con.Open()
 
           cmd.ExecuteNonQuery()
 
           con.Close()

 
           Dim strqury1 As String

            strqury1 
" update t1 set [code]=@code, [name]=@name, [cost]=@cost, [price]=@price,[supl]= @supl, [Unit]=@Unit, [Tax]=@Tax, [Ds]=@Ds, [Exper]=@Exper, [DeprtNUM]=@DeprtNUM ,[Stock_ORD]=@Stock_ORD ,[priceFtax]=@priceFtax ,[costFtax]=@costFtax ,[Q_RAITAL]=@Q_RAITAL ,[BOX]=@BOX ,[COST_R]=@COST_R where code=  '" T4.Text "'"

 
           cmd = New OleDb.OleDbCommand(strqury1con)

 
           cmd.Parameters.Add(New OleDbParameter("@code"OleDbType.VarChar)).Value T4.Text
            cmd
.Parameters.Add(New OleDbParameter("@name"OleDbType.VarChar)).Value T6.Text
            cmd
.Parameters.Add(New OleDbParameter("@cost"OleDbType.Currency)).Value T7.Text
            cmd
.Parameters.Add(New OleDbParameter("@price"OleDbType.Currency)).Value T8.Text
            cmd
.Parameters.Add(New OleDbParameter("@supl"OleDbType.VarChar)).Value TextBox7.Text
            cmd
.Parameters.Add(New OleDbParameter("@unit"OleDbType.VarChar)).Value ComboBox1.Text
            cmd
.Parameters.Add(New OleDbParameter("@Tax"OleDbType.Integer)).Value T16.Text
            cmd
.Parameters.Add(New OleDbParameter("@Ds"OleDbType.Currency)).Value T15.Text
            cmd
.Parameters.Add(New OleDbParameter("@Exper"OleDbType.Date)).Value d2.Value.Date
            cmd
.Parameters.Add(New OleDbParameter("@DeprtNUM"OleDbType.VarChar)).Value TextBox15.Text
            cmd
.Parameters.Add(New OleDbParameter("@Stock_ORD"OleDbType.Currency)).Value T12.Text
            cmd
.Parameters.Add(New OleDbParameter("@priceFtax"OleDbType.Currency)).Value T20.Text
            cmd
.Parameters.Add(New OleDbParameter("@costFtax"OleDbType.Currency)).Value t19.Text
            cmd
.Parameters.Add(New OleDbParameter("@Q_RAITAL"OleDbType.Currency)).Value T9.Text
            cmd
.Parameters.Add(New OleDbParameter("@BOX"OleDbType.Currency)).Value T10.Text
            cmd
.Parameters.Add(New OleDbParameter("@COST_R"OleDbType.Currency)).Value T11.Text
            con
.Open()
 
           cmd.ExecuteNonQuery()

 
           MsgBox("تمت التعديل بنجاح "MsgBoxStyle.Information"تعديل")
 
           clear()

 
       Catch ex As Exception
        Finally
            con
.Close()
 
       End Try

 
   End Sub 
الرد }}}
تم الشكر بواسطة:
#16
فرغ الداتا سيت أو الداتاتيبل الخاصة بمعلومات الصنف القديمة قبل الاستعلام على معلومات الصنف الجديد أي 20 ليتم التعبئة الداتاسيت أو الداتاتيبل بمعلومات الصنف = 20 .
الرد }}}
تم الشكر بواسطة:
#17
(26-02-19, 06:09 PM)asemshahen5 كتب : فرغ الداتا سيت أو الداتاتيبل الخاصة بمعلومات الصنف القديمة قبل الاستعلام على معلومات الصنف الجديد أي 20 ليتم التعبئة الداتاسيت أو الداتاتيبل بمعلومات الصنف = 20 .

اسف والله اناا عارف انى تعبتك معايا بجد سامحنى 
ممكن الطريقة 
انا عملت   dt.Clear()  بس نفس المشكلة
الرد }}}
تم الشكر بواسطة:
#18
أريد أن أسألك عن سبب وضع كود الحذف هذا قبل التعديل :

كود :
cmd = New OleDb.OleDbCommand("delete  from t1 where code ='" & Me.T4.Text & "'", con)
           con.Open()
           cmd.ExecuteNonQuery()
           con.Close()

الغ هذا من البارا ميترات :

PHP كود :
cmd.Parameters.Add(New OleDbParameter("@code"OleDbType.VarChar)).Value T4.Text
[code]=@code

لأنك تستخدمه في البحث بقيمة التكست .
الرد }}}
تم الشكر بواسطة: elgokr
#19
(26-02-19, 10:54 PM)asemshahen5 كتب : أريد أن أسألك عن سبب وضع كود الحذف هذا قبل التعديل :

كود :
cmd = New OleDb.OleDbCommand("delete  from t1 where code ='" & Me.T4.Text & "'", con)
           con.Open()
           cmd.ExecuteNonQuery()
           con.Close()

الغ هذا من البارا ميترات :

PHP كود :
cmd.Parameters.Add(New OleDbParameter("@code"OleDbType.VarChar)).Value T4.Text
[code]=@code

لأنك تستخدمه في البحث بقيمة التكست .
اخى المحترم asemshahen5 جزاك الله هيرا على الاهتمام والمساعدة التى تقدمها لى ولجميع اعضاء المنتدى المحترمين فلكل كل الشكل والاحترام وجزاك الله خيرا انت وكل من يقدم المساعدة الى الاعضاء .......تحياتى لك وللجميع 
اخى الكريم بالنسبة لكود الحذف انا فكرت انى اقوم بحذف الصف كلة بكل بيانات واضيف الصنف الجديد بالكود الجديد ودى كانت الفكرة .... انى اضغط كود الصنف فى t1.text فيظهر بيانات هذا الصنف فى باقى التكتس وفى t4 الخاصة بكود الصنف اقوم بتغيير هذا الكود واعمل تعديل ففكرتى انة يقوم حذف الكود القديم واضافة الكود الجديد 

بالنسبة انى الغى الباميترات ..... قمت بالغاءة ولكن بدل التعديل بيضيف صنف جديد 
الرد }}}
تم الشكر بواسطة: elgokr
#20
اخي الواضح من سؤالك تريد زر الحفظ يعمل فحص اذا السجل موجود يقوم بالتعديل عليه وإذا لم يجد السجل يقوم بحفظه ،،

الحل انسخ الكود وجربه :

كود :
Dim cmd As OleDbCommand
       cmd.Connection = con

       Dim ret As Integer = (New OleDb.OleDbDataAdapter("SELECT code FROM t1 WHERE code='" & T4.Text & "'", con).Fill(New DataTable))

       Dim strqury As String

       If ret > 0 Then
           ' هنا يتم التعديل
           strqury = "Update t1 Set [code]=@code,[name]=@name,[cost]=@cost,[price]=@price,[supl]=@supl,[unit]=@unit,[Tax]=@Tax,[Ds]=@Ds,[Exper]=@Exper,[DateItem]=@DateItem,[DeprtNUM]=@DeprtNUM,[priceFtax]=@priceFtax,[Stock_ORD]=@Stock_ORD,[costFtax]=@costFtax,[Q_RAITAL]=@Q_RAITAL,[BOX]=@BOX,[COST_R]=@COST_R where [code]=@code"
       Else
           ' هنا يتم الحفظ
           strqury = "Insert into t1 ([code],[name],[cost],[price],[supl],[unit],[Tax],[Ds],[Exper],[DateItem],[DeprtNUM],[priceFtax],[Stock_ORD],[costFtax],[Q_RAITAL],[BOX],[COST_R])values(@code,@name,@cost,@price,@supl,@unit,@Tax,@Ds,@Exper,@DateItem,@DeprtNUM,@Stock_ORD,@priceFtax,@costFtax,@Q_RAITAL,@BOX,@COST_R)"
       End If

       cmd = New OleDb.OleDbCommand(strqury, con)
       cmd.Parameters.AddWithValue("@code", T4.Text)
       cmd.Parameters.AddWithValue("@name", T6.Text)
       cmd.Parameters.AddWithValue("@cost", T7.Text)
       cmd.Parameters.AddWithValue("@price", T8.Text)
       cmd.Parameters.AddWithValue("@supl", TextBox7.Text)
       cmd.Parameters.AddWithValue("@unit", ComboBox1.Text)
       cmd.Parameters.AddWithValue("@Tax", T16.Text)
       cmd.Parameters.AddWithValue("@Ds", T15.Text)
       cmd.Parameters.AddWithValue("@Exper", d2.Value.Date)
       cmd.Parameters.AddWithValue("@DateItem", t23.Value.Date)
       cmd.Parameters.AddWithValue("@DeprtNUM", TextBox15.Text)
       cmd.Parameters.AddWithValue("@Stock_ORD", T12.Text)
       cmd.Parameters.AddWithValue("@priceFtax", T20.Text)
       cmd.Parameters.AddWithValue("@costFtax", t19.Text)
       cmd.Parameters.AddWithValue("@Q_RAITAL", T9.Text)
       cmd.Parameters.AddWithValue("@BOX", T10.Text)
       cmd.Parameters.AddWithValue("@COST_R", T11.Text)
       cmd.Parameters.AddWithValue("@QTY", 0)
       con.Open()
       cmd.ExecuteNonQuery()
       MsgBox("تمت العملية بنجاح ", MsgBoxStyle.Information, "الاضافة")
       clear()
       con.Close()
[/code]
[/code]
[/code]
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في عدم الحفظ والتعديل مصمم هاوي 3 892 17-08-25, 10:13 AM
آخر رد: أبو خالد الشكري
  خطأ في كود الجمع عند الحفظ مصمم هاوي 4 313 20-04-25, 04:01 AM
آخر رد: مصمم هاوي
  مساعدة في كود الوقت fireswored1 3 349 19-01-25, 11:17 AM
آخر رد: fireswored1
  [VB.NET] طلب كود vba اكسل يقوم بنسخ خلية من قائمة ثم لصقها في خلية اخرى Faisal_kg 0 374 25-10-24, 09:13 PM
آخر رد: Faisal_kg
  عند تصدير التاريخ للإكسل يظهر معه الوقت علماُ لم اسجل الوقت. أبووسم2 2 378 24-09-24, 10:21 PM
آخر رد: أبووسم2
  المساعدة في عملية طرح الوقت من خلال اثنين textbox جيولوجي مبتدئ 9 2,788 06-08-24, 07:43 PM
آخر رد: خالد كامل1
  ماهو كود ب .net يقوم باعادة تشغيل مستكشف ملفات الووندوز windows explorer bassant 6 757 21-07-24, 01:46 PM
آخر رد: bassant
  البحث بين تاريخين مع الوقت - من بداية اليوم - حتى اخر اليوم moh61 3 611 12-06-24, 08:00 PM
آخر رد: Taha Okla
  مساعدة في حل سؤال بخصةص عرض الوقت عبدالكريم برشدان 2 398 12-04-24, 03:05 PM
آخر رد: عبدالكريم برشدان
Star الوقت المستغرق لكتابه الكلمه سلام و محبه 0 278 02-04-24, 04:44 PM
آخر رد: سلام و محبه

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


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