10-03-19, 04:23 PM
10-03-19, 04:28 PM
استخدم val لتحويل النص الى رقم مع كل حقل رقمي مثل
cmd.Parameters.AddWithValue("@WholesalePrice", Val(TxTWholesalePrice.Text) ) ' Use val to convert text to number
cmd.Parameters.AddWithValue("@WholesalePrice", Val(TxTWholesalePrice.Text) ) ' Use val to convert text to number
10-03-19, 05:04 PM
للاسف اخي نفس المشكلة
10-03-19, 05:09 PM
المشكلة لديك في محتوى مربع النص
قد تكون تضيف له احرف أو قمت بتنسيقه بشكل خاطئ
اعرض الكود كامل لتنتهى مشكلة الردود الكثيرة برد واحد فيه الحل
قد تكون تضيف له احرف أو قمت بتنسيقه بشكل خاطئ
اعرض الكود كامل لتنتهى مشكلة الردود الكثيرة برد واحد فيه الحل
10-03-19, 05:13 PM
تفضل اخي كود الفورم بالكامل
كود :
Imports System.Data.OleDb
Public Class MaterialsAdd
Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\DB.mdb;Jet OLEDB:Database Password=343282"
Dim Conn As New OleDbConnection(ConStr)
Dim DatasatMORD As New DataSet
Dim SQLMORD As String = "Select * from MORD"
Dim DataSetMaterials As New DataSet
Dim SQLMaterials As String = "Select * from Materials"
Dim DataSNF As New DataSet
Dim SQLSNF As String = "Select * from TaCategory"
Sub fill_comb()
DatasatMORD.Clear()
Conn.Open()
Dim DataAdapterLevels As New OleDbDataAdapter(SQLMORD, Conn)
DataAdapterLevels.Fill(DatasatMORD, "MORD")
Conn.Close()
Mwrd.DataSource = DatasatMORD.Tables("MORD")
Mwrd.ValueMember = "IDMO"
Mwrd.DisplayMember = "NEM"
Mwrd.Text = ""
CSNF.DataBindings.Clear()
DataSNF.Clear()
Conn.Open()
Dim dataadapter1 As New OleDbDataAdapter(SQLSNF, Conn)
dataadapter1.Fill(DataSNF, "TaCategory")
Conn.Close()
CSNF.DataSource = DataSNF.Tables("TaCategory")
CSNF.DisplayMember = "CatName"
CSNF.ValueMember = "CatID"
CSNF.Text = ""
End Sub
' Sub fill_CWH()
' CWH.DataBindings.Clear()
' DataSetMaterials.Clear()
' Conn.Open()
' Dim dataadapter1 As New OleDbDataAdapter(SQLMaterials, Conn)
' dataadapter1.Fill(DataSetMaterials, "Materials")
' Conn.Close()
' CWH.DataSource = DataSetMaterials.Tables("Materials")
' CWH.DisplayMember = "WAHDA"
' CWH.ValueMember = "MID"
' CWH.Text = ""
' End Sub
Private Sub TxTQuantityAvailable_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxTQuantityAvailable.KeyPress
If Asc(e.KeyChar) <> 8 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
e.Handled = True
End If
End If
End Sub
Private Sub TxTWholesalePrice_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
If Asc(e.KeyChar) <> 8 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
e.Handled = True
End If
End If
End Sub
Private Sub TxTSellingPrice_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
If Asc(e.KeyChar) <> 8 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
e.Handled = True
End If
End If
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Me.Dispose()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TxTMaterialBarCode.Text = "" Then
MsgBox("إدخل رقم البار كود")
Exit Sub
End If
If TxTMaterialName.Text = "" Then
MsgBox("إدخل اسم المادة")
Exit Sub
End If
If TxTQuantityAvailable.Text = "" Then
MsgBox("إدخل الكمية المتوفرة لديك من المادة")
Exit Sub
End If
If TxTWholesalePrice.Text = "" Or TxTSellingPrice.Text = "" Then
MsgBox("إدخل سعر البيع او سعر الجملة")
Exit Sub
End If
Try
If Conn.State = ConnectionState.Closed Then
Conn.Open()
End If
Dim cmd As New OleDb.OleDbCommand
cmd.Connection = Conn
cmd.CommandType = CommandType.Text
cmd.CommandText = "INSERT INTO Materials (MaterialBarCode, SANF, MaterialName, WAHDA, QuantityAvailable, WholesalePrice, SellingPrice, DataMa, Rabh, Ml, MORD, DownPrice) VALUES (@MaterialBarCode, @SANF, @MaterialName ,@WAHDA, @QuantityAvailable, @WholesalePrice, @SellingPrice, @DataMa, @Rabh, @Ml, @MORD, @DownPrice)"
cmd.Parameters.AddWithValue("@MaterialBarCode", TxTMaterialBarCode.Text.Trim)
cmd.Parameters.AddWithValue("@SANF", CSNF.Text.Trim)
cmd.Parameters.AddWithValue("@MaterialName", TxTMaterialName.Text.Trim)
cmd.Parameters.AddWithValue("@WAHDA", CWH.Text.Trim)
cmd.Parameters.AddWithValue("@QuantityAvailable", TxTQuantityAvailable.Text.Trim)
cmd.Parameters.AddWithValue("@WholesalePrice", TxTWholesalePrice.Text.Trim)
cmd.Parameters.AddWithValue("@SellingPrice", TxTSellingPrice.Text.Trim)
cmd.Parameters.AddWithValue("@DataMa", DataM.Text.Trim)
cmd.Parameters.AddWithValue("@Rabh", Rabh.Text.Trim)
cmd.Parameters.AddWithValue("@Ml", Note.Text.Trim)
cmd.Parameters.AddWithValue("@MORD", Mwrd.Text.Trim)
cmd.Parameters.AddWithValue("@DownPrice", TextBox1.Text.Trim)
cmd.ExecuteScalar()
Conn.Close()
TxTMaterialBarCode.Text = ""
TxTMaterialName.Text = ""
TxTQuantityAvailable.Text = ""
TxTWholesalePrice.Text = ""
TxTSellingPrice.Text = ""
CSNF.Text = ""
Note.Text = ""
CWH.Text = ""
Mwrd.Text = ""
TextBox1.Text = ""
TxTMaterialBarCode.Focus()
MsgBox("تم إضافة المادة بنجاح")
Materials.LoadMaterials()
Catch ex As Exception
MsgBox(ex.Message)
Exit Sub
End Try
End Sub
Private Sub TxTSellingPrice_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub TxTQuantityAvailable_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxTQuantityAvailable.TextChanged
End Sub
Private Sub TxTMaterialBarCode_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxTMaterialBarCode.KeyPress
If Asc(e.KeyChar) <> 8 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
e.Handled = True
End If
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
SANF.ShowDialog()
End Sub
Private Sub FormMaterialsAdd_Load(sender As Object, e As EventArgs) Handles MyBase.Load
fill_comb()
' fill_CWH()
End Sub
Private Sub GroupBox1_Enter(sender As Object, e As EventArgs) Handles GroupBox1.Enter
End Sub
Private Sub GroupBox2_Enter(sender As Object, e As EventArgs)
End Sub
Private Sub CSNF_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CSNF.SelectedIndexChanged
End Sub
Private Sub Label1_Click(sender As Object, e As EventArgs)
End Sub
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked Then
DataM.Text = ""
DataMp.Enabled = False
Else
DataM.Text = DataMp.Text
DataMp.Enabled = True
End If
End Sub
Private Sub DataMp_ValueChanged(sender As Object, e As EventArgs) Handles DataMp.ValueChanged
DataM.Text = DataMp.Text
End Sub
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TxTWholesalePrice.TextChanged
If TxTSellingPrice.Text = "" Then
Rabh.Text = "00.00"
Else
Rabh.Text = Val(TxTSellingPrice.Text) - Val(TxTWholesalePrice.Text)
End If
End Sub
Private Sub TextBox1_TextChanged_1(sender As Object, e As EventArgs) Handles TxTSellingPrice.TextChanged
Rabh.Text = Val(TxTSellingPrice.Text) - Val(TxTWholesalePrice.Text)
End Sub
End Class10-03-19, 05:19 PM
قم بتعطيل Try مؤقتا وتنفيذ الكود وانظر الى السطر الذي عنده الخطأ وأخبرني بمكانه للمتابعة
أنتظرك
يوجد لديك خطا في قراءة كل ComboBox المرتبطة بالبيانات
فمن الخطأ قراءة Text منها
والطريقة الصحيحة هي قراءة رقم العنصر بالطريقة التالية
Mwrd.SelectedValue
فائدة الربط أن تحصل رقم العنصر وليس النص
وهي أخذ قيمة IDMO وهو رقم وليس NEM الذي هو نص
انتظرتك بما فيه الكفاية
أنتظرك
يوجد لديك خطا في قراءة كل ComboBox المرتبطة بالبيانات
فمن الخطأ قراءة Text منها
والطريقة الصحيحة هي قراءة رقم العنصر بالطريقة التالية
Mwrd.SelectedValue
فائدة الربط أن تحصل رقم العنصر وليس النص
وهي أخذ قيمة IDMO وهو رقم وليس NEM الذي هو نص
انتظرتك بما فيه الكفاية
10-03-19, 11:23 PM
بارك الله فيك اخي
جاري التعديل والتجربة
اسف اخي لم اكنت متواجد
عند ازالة try
جاري التعديل والتجربة
اسف اخي لم اكنت متواجد
(10-03-19, 05:19 PM)5000 كتب : [ -> ]قم بتعطيل Try مؤقتا وتنفيذ الكود وانظر الى السطر الذي عنده الخطأ وأخبرني بمكانه للمتابعةتفضل اخي الكريم
أنتظرك
يوجد لديك خطا في قراءة كل ComboBox المرتبطة بالبيانات
فمن الخطأ قراءة Text منها
والطريقة الصحيحة هي قراءة رقم العنصر بالطريقة التالية
Mwrd.SelectedValue
فائدة الربط أن تحصل رقم العنصر وليس النص
وهي أخذ قيمة IDMO وهو رقم وليس NEM الذي هو نص
انتظرتك بما فيه الكفاية
عند ازالة try
11-03-19, 01:37 AM
في داخل رسالة الخطأ في الصورة الأخير
وتحديدا في الجزء Actions اضغط على View Detail وتعني عرض التفاصيل
ويتم فبها عرض التفاصيل الخاصة بالخطأ، قم بنسخ تلك التفاصيل ووضعها في ردك القادم لأهمية معرفة الخطأ منها
وتحديدا في الجزء Actions اضغط على View Detail وتعني عرض التفاصيل
ويتم فبها عرض التفاصيل الخاصة بالخطأ، قم بنسخ تلك التفاصيل ووضعها في ردك القادم لأهمية معرفة الخطأ منها
11-03-19, 11:23 PM
(11-03-19, 01:37 AM)5000 كتب : [ -> ]في داخل رسالة الخطأ في الصورة الأخير
وتحديدا في الجزء Actions اضغط على View Detail وتعني عرض التفاصيل
ويتم فبها عرض التفاصيل الخاصة بالخطأ، قم بنسخ تلك التفاصيل ووضعها في ردك القادم لأهمية معرفة الخطأ منها
تفضل اخي
المشكلة تقع عند اضافة الثمن يختةي على فاصلة اما اطا لم يمن يحتوي على فاصلة فانه يعمل جيدا
11-03-19, 11:41 PM
المشكلة تقع عند اضافة الثمن يختةي على فاصلة اما اطا لم يمن يحتوي على فاصلة فانه يعمل جيدا
التفاصيل غير مكتملة
لكن أنت أخيرا ذكرت ان المشكلة في الفاصلة
الفاصلة المعروفة هي النقطة (.) وليست (،) وليست(,)
فما هي الفاصلة التي استخدمتها اظهرت الخطأ
وهل طبقت كما ذكرت لك في اول مشاركة لي (رقم12#) الأمر Val لكل الأسطر الخاصة بالارقام مثل
cmd.Parameters.AddWithValue("@DownPrice", Val(TextBox1.Text))
وكل اسطر الأرقام؟
التفاصيل غير مكتملة
لكن أنت أخيرا ذكرت ان المشكلة في الفاصلة
الفاصلة المعروفة هي النقطة (.) وليست (،) وليست(,)
فما هي الفاصلة التي استخدمتها اظهرت الخطأ
وهل طبقت كما ذكرت لك في اول مشاركة لي (رقم12#) الأمر Val لكل الأسطر الخاصة بالارقام مثل
cmd.Parameters.AddWithValue("@DownPrice", Val(TextBox1.Text))
وكل اسطر الأرقام؟