تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تحديد الخطأ كود الحفظ
#1
السلام عليكم ورحمة الله وبركاته ,,,

اخواني عندي الكود اود حفظ اسم ورقم الزبون في الجدول 
ولكن اذا وجد اسمه مسبقا اود ان لا يقوم بشيئ 
وان لم يكن موجود يضيفه لقاعدة البيانات 
كود :
If rs.State = 1 Then rs.Close
sql = "select * from tblCustomers where CustName = " & Trim(txtCust.Text) & " and CustCont = '" & Trim(txtCont.Text) & "'"
rs.Open sql, cn


الكود التالي يظهر خطأ عند سطر الاول (الاتصال بقاعدة البيانات)

هل يمكن ان تدلوني على الخطا او اصلاحه بشكل افضل من فضلكم ولكم جزيل الشكر

كود :
If Trim(txtCust.Text) = "" Then MsgBox "الرجاء التأكد من المدخل ", vbInformation, "": Exit Sub
If Trim(txtCont.Text) = "" Or Not IsNumeric(txtCont.Text) Then MsgBox "الرجاء التأكد من المدخل ", vbInformation, "": Exit Sub


'------------------------
'البحث عن القيمتين رقم الجوال والاسم قبل عملية الاضافة فاذا وجدا لم يقم بالاضافة بل سيسألك اذا رغبت بالتعديل عليه


If rs.State = 1 Then rs.Close
sql = "select * from tblCustomers where CustName = " & Trim(txtCust.Text) & " and CustCont = '" & Trim(txtCont.Text) & "'"
rs.Open sql, cn



With rs
 If rs.EOF Then
'في عدم وجود السجل سيتم تنفيذ الكود التالي

.AddNew
       
           Else
'في حال وجود السجل سيتم تنفيذ الكود التالي
       
           Msg_1000 = MsgBox("السجل موجود هل تريد التعديل عليه", vbQuestion + vbYesNo, "")
        If Msg_1000 = vbYes Then
       
         update.
               Else
               
           Exit Sub
        End If

 End If


!custName = Trim(txtCust.Text)
!custcont = Trim(txtCont.Text)


   .Update

.Close
End With
الرد }}}
تم الشكر بواسطة:
#2
إذا كان الحقل نوعه نص فيجب وضع القيمة بين علامات '    '
وفي الكود لم أجد أنك وضعت العلامة ' للحقل CustName اللي من اسمه يعني نصي

الحاجة الثانية لم أجد أنك بحثت بالأمر where في جملة الاستعلام
الرد }}}
تم الشكر بواسطة: hannileo , Ahmed_Mansoor
#3
(05-11-18, 09:53 AM)rmnr كتب : إذا كان الحقل نوعه نص فيجب وضع القيمة بين علامات '    '
وفي الكود لم أجد أنك وضعت العلامة ' للحقل CustName اللي من اسمه يعني نصي

الحاجة الثانية لم أجد أنك بحثت بالأمر where في جملة الاستعلام
أشكرك أخي الكريم على الرد 
هل يمكن بعد اذنك  كتابة الكود بعد التعديل 
لانني بصراحة انا جديد عىل موضوع SQL بعد نصائح الاخوة  لذلك لا املك اي خبرة حتى الان 
وشكراً جزبلاً لجهودك
الرد }}}
تم الشكر بواسطة:
#4
إذا كان CustName و CustCont نوعها نصي
كود :
sql = "select * from tblCustomers where CustName = '" & Trim(txtCust.Text) & "' and CustCont = '" & Trim(txtCont.Text) & "'"


إذا كان CustName نوعه نص و CustCont نوعها رقم
كود :
sql = "select * from tblCustomers where CustName = '" & Trim(txtCust.Text) & "' and CustCont = " & Val(txtCont.Text) & " "

لو المشروع كان ممكن تجد اجابة افضل
الرد }}}
تم الشكر بواسطة: hannileo , hannileo , elgokr , asemshahen5 , Ahmed_Mansoor
#5
(05-11-18, 08:15 PM)rmnr كتب : إذا كان CustName و CustCont نوعها نصي
كود :
sql = "select * from tblCustomers where CustName = '" & Trim(txtCust.Text) & "' and CustCont = '" & Trim(txtCont.Text) & "'"


إذا كان CustName نوعه نص و CustCont نوعها رقم
كود :
sql = "select * from tblCustomers where CustName = '" & Trim(txtCust.Text) & "' and CustCont = " & Val(txtCont.Text) & " "

لو المشروع كان ممكن تجد اجابة افضل



اشكرك 
لقد صارت تعمل 
بارك الله بك وبجهودك
الرد }}}
تم الشكر بواسطة: elgokr , Ahmed_Mansoor



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم