تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة في عمل كود فورم بالاكسس بعد الاتباط بقاعدة بيانات SQl SERVER
#1
السلام عليكم ورحمة الله وبركاتة
كنت اعمل على قاعدة بيانات 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
الرد }}}
تم الشكر بواسطة:
#2
اخواني من يستطيع المساعده فلا يبخل
فقد بحثت لمدة اسبوع كامل لحل المشكلة ولم اتوصل الى نتيجة
الرد }}}
تم الشكر بواسطة:
#3
اخي اكريم شكرا لك على استجابتك
لا اعرف كيف انقل المشروع
كما اسلفت لك انا جديد في عالم السكيول
اعرف كيف انقل لك قاعدة بيانات اكسس لكن لا اعرف كيف انقل اليك جداول من قاعد بيانات sql server
لو تشرح لي كيف انقل المشروع اكون لك من الشاكرين
الرد }}}
تم الشكر بواسطة: elgokr , اسامه الهرماوي
#4
تم حل المشكلة
شكرا لك استاذنا الكريم
الرد }}}
تم الشكر بواسطة: elgokr , elgokr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  شرح كامل عن sql server من تحميل النسخة الحديثة لجمل الاستعلام وحل الأخطاء ggtt17121985 0 1,564 08-06-25, 01:00 AM
آخر رد: ggtt17121985
  [SQL] مشكلة في تسجيل الدخول إلى SQL SERVER محمد العامر 1 762 05-04-25, 03:59 PM
آخر رد: SATDJATV
  خطوة خطوة:كيفية عمل نسخة احتياطية من SQL Server أحدث واستعادتها بإصدار قديم ggtt17121985 1 460 05-04-25, 03:57 PM
آخر رد: SATDJATV
  sql server Agent ابو عبد الله 0 460 08-02-25, 05:55 PM
آخر رد: ابو عبد الله
  [SQL] مشكلة في تثبيت sql محمد العامر 8 547 16-10-24, 07:44 PM
آخر رد: محمد العامر
  [SQL] خطاء اثناء انشاء قاعدة بيانات جديده محمد العامر 2 333 12-10-24, 06:18 PM
آخر رد: محمد العامر
  [سؤال] تغيير موقع قاعدة بيانات kamel1978 0 247 06-10-24, 11:06 AM
آخر رد: kamel1978
  مشكلة في تنصيب سيكوال 2014 64 bit bassant 0 303 28-07-24, 03:36 PM
آخر رد: bassant
  مشكلة في تنصيب سيكوال سيرفر 2005 لجهازي بنظام تشغيل win 11 bassant 2 488 17-07-24, 02:45 PM
آخر رد: Taha Okla
  لدى مشكلة فى تنصيب سكول سيرفر Mezoman 1 1,073 27-10-23, 12:26 AM
آخر رد: Taha Okla

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


يقوم بقرائة الموضوع: