المشاركات : 232
المواضيع 31
الإنتساب : Feb 2014
السمعة :
1
الشكر: 84
تم شكره 39 مرات في 34 مشاركات
السلام عليكم ورحمة الله وبركاتة مشرفى واعضاء المنتدى الكرام
لدى فورم لادخال الاصناف اريد فى زر الحفظ ان يقوم عمليتن حفظ اذا كان الصنف جديد او تعديل اذا كان هذا االصنف موجود مسبقا
ودا كود الحفظ
PHP كود :
Dim strqury As String = "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)"
cmd = New OleDb.OleDbCommand(strqury, 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("@DateItem", OleDbType.Date)).Value = t23.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 cmd.Parameters.Add(New OleDbParameter("@QTY", OleDbType.Integer)).Value = 0 con.Open() cmd.ExecuteNonQuery() MsgBox("تمت العملية بنجاح ", MsgBoxStyle.Information, "الاضافة") clear() con.Close() Exit Sub
وعندى فى شاشة المشتريات زر ترحيل الفاتورة
اريد فى زر ترحيل الفاتورة اذا كانت هذه الفاتورة لم يتم فضها من قبل بدلا من ان اقوم بحفظ ثم ارجع الى الفاتورة ليتم ترحيلها فعند الضعط على زر ترحيل يقوم بالحفظ ثم الترحيل ...........
وجزاكم الله خيرا .... وتحياتى للجميع
المشاركات : 230
المواضيع 17
الإنتساب : Apr 2018
السمعة :
49
الشكر: 603
تم شكره 456 مرات في 201 مشاركات
18-02-19, 08:11 PM
(آخر تعديل لهذه المشاركة : 18-02-19, 08:15 PM {2} بواسطة princelovelorn.)
وعليكم السلام ورحمة الله وبركاته
الفكرة كالتالي
هاتضع كود الحفظ في أجراء خاص به save()
وكود التعديل في أجراء خاص به Edit()
وهاتنشئ دالة بسيطة تستعلم عن كود الصنف مثلا اسمها ( checkcode)
لو موجود ترجع true
لو غير موجود ترجع ب false
في زر الحفظ هايتم وضع التالي
كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If checkcode = True Then
' في حالة كود الصنف موجود
Edit()
Else
' في حالة كود الصنف غير موجود
Save()
End If
End Sub
ونفس الفكرة للسؤال الثاني
هاتستخدم دالة ( checkcode)
للفاتورة
بس طبعا هاتعدل جملة الاستعلام للفاتورة
تمنياتي لك بالتوفيق والنجاح
لا إله إلا الله وحده لا شريك له له الملك وله الحمد وهو على كل شئ قدير
سبحان الله وبحمده سبحان الله العظيم
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلى العظيم
رب أغفر لي
المشاركات : 232
المواضيع 31
الإنتساب : Feb 2014
السمعة :
1
الشكر: 84
تم شكره 39 مرات في 34 مشاركات
(18-02-19, 08:11 PM)princelovelorn كتب : وعليكم السلام ورحمة الله وبركاته
الفكرة كالتالي
هاتضع كود الحفظ في أجراء خاص به save()
وكود التعديل في أجراء خاص به Edit()
وهاتنشئ دالة بسيطة تستعلم عن كود الصنف مثلا اسمها ( checkcode)
لو موجود ترجع true
لو غير موجود ترجع ب false
في زر الحفظ هايتم وضع التالي
كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If checkcode = True Then
' في حالة كود الصنف موجود
Edit()
Else
' في حالة كود الصنف غير موجود
Save()
End If
End Sub
ونفس الفكرة للسؤال الثاني
هاتستخدم دالة ( checkcode)
للفاتورة
بس طبعا هاتعدل جملة الاستعلام للفاتورة
تمنياتي لك بالتوفيق والنجاح
اشكرك اخى الكريم ........ولكن كيف انشى استعلاما اذا كان كود الصنف موجود ام لا تحياتى لك ....
المشاركات : 230
المواضيع 17
الإنتساب : Apr 2018
السمعة :
49
الشكر: 603
تم شكره 456 مرات في 201 مشاركات
(18-02-19, 11:00 PM)atef_020 كتب : اشكرك اخى الكريم ........ولكن كيف انشى استعلاما اذا كان كود الصنف موجود ام لا تحياتى لك ....
الحمد لله والشكر لله
استخدم الدالة التالية
كود :
Public Function CheckCode() As Boolean
Dim sql = "select * from t1 where code ='" & (t4.text) & "'"
Dim adp As New Sql.SQLDataAdapter(sql, con)
Dim ds As New DataSet
adp.Fill(ds)
Dim dt = ds.Tables(0)
If dt.Rows.Count = 0 Then
MsgBox("الكود غير موجود")
CheckCode = False
Else
MsgBox("الكود موجود")
CheckCode = True
End If
Return CheckCode()
End Function
تمنياتي لك بالتوفيق والنجاح
لا إله إلا الله وحده لا شريك له له الملك وله الحمد وهو على كل شئ قدير
سبحان الله وبحمده سبحان الله العظيم
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلى العظيم
رب أغفر لي
المشاركات : 232
المواضيع 31
الإنتساب : Feb 2014
السمعة :
1
الشكر: 84
تم شكره 39 مرات في 34 مشاركات
(18-02-19, 11:20 PM)princelovelorn كتب : (18-02-19, 11:00 PM)atef_020 كتب : اشكرك اخى الكريم ........ولكن كيف انشى استعلاما اذا كان كود الصنف موجود ام لا تحياتى لك ....
الحمد لله والشكر لله
استخدم الدالة التالية
كود :
Public Function CheckCode() As Boolean
Dim sql = "select * from t1 where code ='" & (t4.text) & "'"
Dim adp As New Sql.SQLDataAdapter(sql, con)
Dim ds As New DataSet
adp.Fill(ds)
Dim dt = ds.Tables(0)
If dt.Rows.Count = 0 Then
MsgBox("الكود غير موجود")
CheckCode = False
Else
MsgBox("الكود موجود")
CheckCode = True
End If
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 T4.Text = "" Then T6.Text = "" T2.Text = "" T8.Text = "" T3.Text = "" TextBox7.Text = "" ComboBox1.Text = "" End If
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
المشاركات : 505
المواضيع 8
الإنتساب : Sep 2015
السمعة :
38
الشكر: 92
تم شكره 1402 مرات في 345 مشاركات
اخي الفاضل
راجع الكود المشار إليه في الخطأ
اسم Data set الذي اخترته هو ds1
ثم في جملة fill كتبت ds
Don't Be The Perfect one
be the right one
المشاركات : 232
المواضيع 31
الإنتساب : Feb 2014
السمعة :
1
الشكر: 84
تم شكره 39 مرات في 34 مشاركات
(19-02-19, 03:00 PM)boudyonline كتب : اخي الفاضل
راجع الكود المشار إليه في الخطأ
اسم Data set الذي اخترته هو ds1
ثم في جملة fill كتبت ds
نفس الخطاء اخى الكريم
المشاركات : 2,329
المواضيع 81
الإنتساب : May 2018
السمعة :
522
الشكر: 14039
تم شكره 5671 مرات في 2269 مشاركات
إستخدم داتا تابل بدل الداتا سيت مع مراعاة وضعه في مديول ليتم استخدامه في أكثر من فورم :
PHP كود :
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
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
المشاركات : 232
المواضيع 31
الإنتساب : Feb 2014
السمعة :
1
الشكر: 84
تم شكره 39 مرات في 34 مشاركات
20-02-19, 11:20 AM
(آخر تعديل لهذه المشاركة : 20-02-19, 11:38 AM {2} بواسطة atef_020.)
(19-02-19, 06:15 PM)asemshahen5 كتب : إستخدم داتا تابل بدل الداتا سيت مع مراعاة وضعه في مديول ليتم استخدامه في أكثر من فورم :
PHP كود :
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
اشكرك اخونا الكريم على الاهتمام والرد .......ولكن يوجد خطاء ويعطن هذه الرسالة
PHP كود :
Argument not specified for parameter 'code' of 'Public Function CheckCode(t1 As String, code As String, t4 As String) As Boolean'
(20-02-19, 11:20 AM)atef_020 كتب : (19-02-19, 06:15 PM)asemshahen5 كتب : إستخدم داتا تابل بدل الداتا سيت مع مراعاة وضعه في مديول ليتم استخدامه في أكثر من فورم :
PHP كود :
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
اشكرك اخونا الكريم على الاهتمام والرد .......ولكن يوجد خطاء ويعطن هذه الرسالة
PHP كود :
Argument not specified for parameter 'code' of 'Public Function CheckCode(t1 As String, code As String, t4 As String) As Boolean'
قمت بتعديل الكود والحمد لله شغال تمام
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
ولكن اذا قمت بتعديل كود الصنف فى التعديل يعنى مثلا ادخلت صنف بكود 112 فعندما اضغط 112 بيظهر بيانات هذا الصنف فاذا غيرت هذا الكود من 112 الى 115 مثلا فاجد انة ادخل كود 115 ولم يلغى 112.. اريد عندما اعدل كود الصنف يقوم بمسح البيانات القديمة ......وتحياتى للجميع
المشاركات : 2,329
المواضيع 81
الإنتساب : May 2018
السمعة :
522
الشكر: 14039
تم شكره 5671 مرات في 2269 مشاركات
أعتذر عن التأخر بالرد و لكن الخطأ بسيط ضع بدل t1 اسم الجدول و بدل code اسم العامود و بدل t4 القيمة المراد البحث عنها ليكون الكود كالتالي :
PHP كود :
CheckBox1.Checked = CheckCode("t1", "code", t4.text)
فرغ الداتا سيت أو الداتاتيبل ليتم التعبئة بالمعلومات الجديدة .
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
|