منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكلة في عمل كود فورم بالاكسس بعد الاتباط بقاعدة بيانات SQl SERVER
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاتة
كنت اعمل على قاعدة بيانات 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
اخواني من يستطيع المساعده فلا يبخل
فقد بحثت لمدة اسبوع كامل لحل المشكلة ولم اتوصل الى نتيجة
اخي اكريم شكرا لك على استجابتك
لا اعرف كيف انقل المشروع
كما اسلفت لك انا جديد في عالم السكيول
اعرف كيف انقل لك قاعدة بيانات اكسس لكن لا اعرف كيف انقل اليك جداول من قاعد بيانات sql server
لو تشرح لي كيف انقل المشروع اكون لك من الشاكرين
تم حل المشكلة
شكرا لك استاذنا الكريم