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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94)
+--- قسم : Microsoft SQL Server (http://vb4arb.com/vb/forumdisplay.php?fid=171)
+--- الموضوع : مشكلة في عمل كود فورم بالاكسس بعد الاتباط بقاعدة بيانات SQl SERVER (/showthread.php?tid=27208)



مشكلة في عمل كود فورم بالاكسس بعد الاتباط بقاعدة بيانات SQl SERVER - alsihran - 30-10-18

السلام عليكم ورحمة الله وبركاتة
كنت اعمل على قاعدة بيانات Access
تكبير قاعدة البيانات وتحويلها الى   SQL SERVER مع الاستمراربالعمل على من واجهة Access
فتم التحويل بنجاح
لكن واجهتني بعض المشاكل
فمثلا لدي هذا ا الكود ومهمته عمل حلقات تكرارية
لاضافة عدة سجلات لجدول اخر غير الجدول الموجود بالنموج
يعمل عند الارتباط بقاعدة بيانات الاكسس بشكل سليم وومتاز ولكن عند الارتباط بقاعدة بيانات السكيول سيرفر
تظهر اخطاء ولا يتم تنفيذ الكود
امل المساعدة في في معرفة الخطأ بالكود
صور الخطأ




كود :
Option Compare Database

Private Sub cmd_Do_Records_Click()
    On Error GoTo err_cmd_Do_Records_Click
   Dim rst As DAO.Recordset
   Dim rstSUB As DAO.Recordset
    Dim mysql As String
   'نقرأ بيانات النموذج الفرعي
   'Set rstSUB = Me.Forme_Sub_Hotel.Form.RecordsetClone
     Set rstSUB = Me.Form.RecordsetClone
 
   rstSUB.MoveLast: rstSUB.MoveFirst
   RCsub = rstSUB.RecordCount
   
   'نقرأ كل سجل من سجلات النموذج الفرعي
   For j = 1 To RCsub
             
       'اذا يوجد علامة صح في حقل "اعمل التغييرات" فقم بحذف السجلات السابقة لهذا الخط ، واعمله من جديد
       If rstSUB!Do_Changes = -1 Then
       
   
           'نجهز الجدول لإدخال/حذف بيانات م
           mysql = "SELECT Auto_id AS Auto, Tabl_Rooms.*"
           mysql = mysql & " FROM Tabl_Rooms"
           mysql = mysql & " WHERE Id_Hotel=" & rstSUB!Auto_id
           mysql = mysql & " AND Num_hotel=" & rstSUB!Num_hotel
           mysql = mysql & " AND Numrihla=" & rstSUB!Numrihla
          mysql = mysql & " ORDER by Auto_id DESC"
          ' Debug.Print mySQL
                         'Set rs = CurrentDb.OpenRecordset(mysql, dbOpenDynaset, dbSeeChanges)

           Set rst = CurrentDb.OpenRecordset(mysql)
           rst.MoveLast: rst.MoveFirst
           RC = rst.RecordCount
   
           If RC > rstSUB!Count_Rooms Then
                       
               
               'نحذف سجلات رقم  من الجدول
               For i = rstSUB!Count_Rooms + 1 To RC
                   rst.Delete
                   rst.MoveNext
               Next i
           
          Else
           
                           rst!Id_Hotel = rstSUB!Auto_id
                     rst!Numrihla = rstSUB!Numrihla
                   rst!Num_city = rstSUB!Num_city
                   rst!Num_hotel = rstSUB!Num_hotel
                   rst!Inserted_By = MyUser.username
                   rst!Insert_date = Now()

               
               
               'نضيف سجلات رقم  في الجدول
               For i = RC + 1 To rstSUB!Count_Rooms
                   rst.addnew
                           rst!Id_Hotel = rstSUB!Auto_id
                     rst!Numrihla = rstSUB!Numrihla
                   rst!Num_city = rstSUB!Num_city
                   rst!Num_hotel = rstSUB!Num_hotel
                       rst!Inserted_By = MyUser.username
                   rst!Insert_date = Now()
                       rst![Num_Room] = i
                   rst.Update
               Next i
           
           End If
           
           'نقوم بتغيير حقل "اعمل التغييرات" ونزيل الصح منها
           rstSUB.Edit
               rstSUB!Do_Changes = 0
           rstSUB.Update
           
           GoTo Exit_cmd_Do_Records_Click
           
       End If 'rstSUB
       rstSUB.MoveNext
   Next j
   
Exit_cmd_Do_Records_Click:

   'احذف البيانات من ذاكرة الكمبيوتر
   rst.Close: Set rst = Nothing
   rstSUB.Close: Set rstSUB = Nothing

Exit Sub
err_cmd_Do_Records_Click:

  ' If Err.Number = 3021 Then
       Resume Next
  ' Else
       MsgBox Err.Number & vbCrLf & Err.Description
  ' End If

'========================================================================
  DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE Tabl_Rooms INNER JOIN Tabl_RoomsTemp ON (Tabl_Rooms.Num_Room = Tabl_RoomsTemp.Num_Room) AND (Tabl_Rooms.Numrihla = Tabl_RoomsTemp.Numrihla) AND (Tabl_Rooms.Id_Hotel = Tabl_RoomsTemp.Id_Hotel) SET Tabl_Rooms.Num_Room_Hotel = [Tabl_RoomsTemp]![Num_Room_Hotel], Tabl_Rooms.Number_beds = [Tabl_RoomsTemp]![Number_beds], Tabl_Rooms.Molahzat = [Tabl_RoomsTemp]![Molahzat];"
'MsgBox "ok"


End Sub



RE: مشكلة في عمل كود فورم بالاكسس بعد الاتباط بقاعدة بيانات SQl SERVER - alsihran - 31-10-18

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


RE: مشكلة في عمل كود فورم بالاكسس بعد الاتباط بقاعدة بيانات SQl SERVER - alsihran - 31-10-18

اخي اكريم شكرا لك على استجابتك
لا اعرف كيف انقل المشروع
كما اسلفت لك انا جديد في عالم السكيول
اعرف كيف انقل لك قاعدة بيانات اكسس لكن لا اعرف كيف انقل اليك جداول من قاعد بيانات sql server
لو تشرح لي كيف انقل المشروع اكون لك من الشاكرين


RE: مشكلة في عمل كود فورم بالاكسس بعد الاتباط بقاعدة بيانات SQl SERVER - alsihran - 01-11-18

تم حل المشكلة
شكرا لك استاذنا الكريم