منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
الحفظ في قاعدة البيانات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+--- الموضوع : الحفظ في قاعدة البيانات (/showthread.php?tid=27213)



الحفظ في قاعدة البيانات - hannileo - 31-10-18

السلام عليكم ورحمة الله وبركاته ,,

الاساتذة الكرام .. عندي قاعدة بيانات فيها اسم الزبون ورقم الاتصال 

 عند عمل فاتورة جديدة ابحث عن اسم الزبون من ضمن قاعدة بيانات الزبائن   اذا كان اسمه موجود من قبل اضغط عليه حتى يضاف الى الفاتورة واذا لم يكن موجود اضيف اسم جديد ورقم اتصال 

وعند طباعة الفاتورة يتم حفظه في جدول الزبائن 

المشكلة ان الاسماء الموجودة تظهر مكررة في جدول الزبائن 
السؤال: كيف يمكن حفظه بدون تكرار يعني ان يقوم بتحديث الاسم فقط ان كان موجود مسبقاً 
وان كان جديد يقوم بحفظه بشكل طبيعي 

كود :
Sub AddtoCustomer()
If rs.State = 1 Then rs.Close
sql = "SELECT * FROM tblCustomers"
rs.Open sql, cn

With rs
.AddNew

!CustName = txtCust.Text
!CustCont = txtCont.Text
.Update
End With


End Sub



و شكراً جزيلاً


RE: الحفظ في قاعدة البيانات - elgokr - 01-11-18

قبل كود الاضافة
ستعمل كود استعلام اولاً فى جدول الزبائن
واذا تحقق من وجود اسم الزبون بدل الاضافة ستستخدم كود Update
واذا لم يتحقق شرط اسم الزبون فى جدول الزبائن فهنا تقوم بتنفيذ كود Insert

وبكده تكون حليت المشكلة لديك

تحياتى لك
وتمنياتى لك التوفيق



RE: الحفظ في قاعدة البيانات - hannileo - 01-11-18

الحقيقة اخواني الكرام 
وجدت هذا المثال حاولت ان اعدل على مشروعي بنفس الطريقة لكنني لم استطع 

اول مرة اقوم بعمل قاعدة بيانات من نوع SQL 

لكن المثال الملحق ستخدم اداة Data 

وانا استخدم Modules 


كود :
Public rs As New ADODB.Recordset
Public cn As New ADODB.Connection
Public sql As String
Dim dbpath As String

Sub main()

Set rs = New ADODB.Recordset
Set cn = New ADODB.Connection

With rs
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
End With

dbpath = App.Path & "\database\database.mdb"

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & dbpath & " ;Persist Security Info=False"

Form2.Show
frmLogin.Show
End Sub


هل يمكن كم حضرتكم تعديله على طريقة الاتصال بدون ادوات وبنفس صيغة SQL وبدون ادوات 



حتى اتمكن من فهمه بشكل افضل 

ملاحظة يرجى اضافة زر cmd_save  للفورم 

وشكرا لكم


عذراً لقد تم تحميل الملف بعد ان نسيت تحميله بالسابق Rolleyes