RE: كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت - atef_020 - 26-02-19
(20-02-19, 05:04 PM)asemshahen5 كتب : أعتذر عن التأخر بالرد و لكن الخطأ بسيط ضع بدل t1 اسم الجدول و بدل code اسم العامود و بدل t4 القيمة المراد البحث عنها ليكون الكود كالتالي :
PHP كود :
CheckBox1.Checked = CheckCode("t1", "code", t4.text)
فرغ الداتا سيت أو الداتاتيبل ليتم التعبئة بالمعلومات الجديدة .
لا يا اخى الكريم asemshahen5 جزاك الله خيرا انا اللى بعتذر عن التاخير فى الرد ...... ولكن لم افهم ما تقصد حضرتك عندى اسم الجدول بالفعل t1 واسم العمود code ولا يوجد عندى CheckBox1
RE: كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت - asemshahen5 - 26-02-19
ده CheckCode("t1", "code", t4.text) بيدي قيمة True أو False و ممكن تضعها في أي Checkbox أو تستخدم قيمتها في الكود دون الرجوع لعرضها في Checkbox .
RE: كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت - atef_020 - 26-02-19
(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(SqlSt, con) 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.Object, ByVal e As System.EventArgs) Handles bsave.Click
If con.State = ConnectionState.Open Then con.Close() If Val(T7.Text) > Val(T8.Text) Then MessageBox.Show("سعر التكلفة أكبر من سعر البيع", "رسالة تأكيد", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End If If Val(T7.Text) = Val(T8.Text) Then MessageBox.Show("سعر البيع يساوي سعر التكلفة", "رسالة تأكيد", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End If
If CheckCode() = True Then ' في حالة كود الصنف موجود Edit() Else ' في حالة كود الصنف غير موجود Save()
End If
End Sub
ولا يوجد لدى اى CheckBox1
.......... اشكرك اخى واسف لتعبك معى
RE: كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت - asemshahen5 - 26-02-19
PHP كود :
If CheckCode("t1", "code", t4.text) = True Then ' في حالة كود الصنف موجود Edit() Else ' في حالة كود الصنف غير موجود Save()
End If
بسيطة بس كدة .
و ده كود المديول :
PHP كود :
Module Module1 Public Function CheckCode(t1 As String, code As String, t4 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(SqlStr, con) 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
و بدا المديول تستطيع عمل إستعلام عن أي قيمة بأي جدول بدل كل مرة تكتب فانكشن جديد لكل جدول تستخدم واحد بس .
RE: كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت - atef_020 - 26-02-19
(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 String, code As String, t4 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(SqlStr, con) 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(issql, con) 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(strqury1, con)
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
RE: كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت - asemshahen5 - 26-02-19
فرغ الداتا سيت أو الداتاتيبل الخاصة بمعلومات الصنف القديمة قبل الاستعلام على معلومات الصنف الجديد أي 20 ليتم التعبئة الداتاسيت أو الداتاتيبل بمعلومات الصنف = 20 .
RE: كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت - atef_020 - 26-02-19
(26-02-19, 06:09 PM)asemshahen5 كتب : فرغ الداتا سيت أو الداتاتيبل الخاصة بمعلومات الصنف القديمة قبل الاستعلام على معلومات الصنف الجديد أي 20 ليتم التعبئة الداتاسيت أو الداتاتيبل بمعلومات الصنف = 20 .
اسف والله اناا عارف انى تعبتك معايا بجد سامحنى
ممكن الطريقة
انا عملت dt.Clear() بس نفس المشكلة
RE: كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت - asemshahen5 - 26-02-19
أريد أن أسألك عن سبب وضع كود الحذف هذا قبل التعديل :
كود :
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,
لأنك تستخدمه في البحث بقيمة التكست .
RE: كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت - atef_020 - 27-02-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 الخاصة بكود الصنف اقوم بتغيير هذا الكود واعمل تعديل ففكرتى انة يقوم حذف الكود القديم واضافة الكود الجديد
بالنسبة انى الغى الباميترات ..... قمت بالغاءة ولكن بدل التعديل بيضيف صنف جديد
RE: كيف اجعل زر الحفظ يقوم بعمل حفظ وتعديل فى نفس الوقت - حريف برمجة - 27-02-19
اخي الواضح من سؤالك تريد زر الحفظ يعمل فحص اذا السجل موجود يقوم بالتعديل عليه وإذا لم يجد السجل يقوم بحفظه ،،
الحل انسخ الكود وجربه :
كود :
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]
|