الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحديد GUID لحقل في اكسس ضرورة ملحة بعد فصل القاعدة

مغلقمُجاب
بدأه fwares في 26 أبريل 2014 · 2 رد · 380 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عزيزتي الانسة زهراء

اتقدم بجزيل الشكر لك على مساعدتنا

إن البرنامج الذي يولد رقم GUID يعمل بشكل ممتاز جدا جدا ولكن نتجت المشكلة عند فصل القاعدة (جداول - نماذج) فاصبح يظهر خطأ يطالب بموضع القاعدة الاساسي(الذي تم الفصل فيه) ولا يمكنني تعديل الكود

قمت بتحديد مكان الخطأ الذي يظهر باللون الاحمر

اعتذر عن فتح موضوع جديد لانه تم اقفال الموضوع القديم

 

Public Function NewGUID() As String
   
   Const cTable As String = "USys_GUID"
   
   Dim strSQL As String
   Dim db As Object
   
   Set db = CurrentDb
   If DCount("*", "MSysObjects", "Type IN (1,4,6) And [Name]='" & cTable & "'") = 0 Then
       With db
           Dim tdf As Object
           Set tdf = .CreateTableDef(cTable)
           With tdf
               Dim fld As Object
               Set fld = .CreateField("MyGUID", dbGUID)
               fld.Attributes = (fld.Attributes Or 8132)
               tdf.Fields.Append fld
           End With
           .TableDefs.Append tdf
           .TableDefs.Refresh
       End With
       
   End If
       
 
   db.Execute "DELETE FROM " & cTable
   With db.OpenRecordset("SELECT * FROM " & cTable & " WHERE 1=0")
       .AddNew
       NewGUID = Replace(Replace(.Fields(0), "{guid ", ""), "}}", "}")
       .CancelUpdate
       .Close
   End With

za-cus-UP (2).rar

#2 أفضل إجابة

اخي الفاضل

 

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

 

لو تلاحظ الكود الموجود في المشاركة ستجده بهذه الطريقة

 

Set db = CurrentDb
 
وهذا معناه ان جميع كائنات القاعدة موجوده في نفس القاعدة الحالية
 
ولكنك قمت بفصل الجداول في قاعدة ثانية وهنا يلزمك تغيير وتعديل الكود ليصبح بعد التعديل بهذه الطريقة
 
Public Function NewGUID() As String
   
   Const cTable As String = "USys_GUID"
   
   Dim strSQL As String
   Dim db As Object
   Dim strPath As String
   strPath = Application.CurrentProject.Path & "\za-cus-UP_table1.accdb"
  
   Set db = DBEngine.OpenDatabase(strPath)
   If DCount("*", "MSysObjects", "Type IN (1,4,6) And [Name]='" & cTable & "'") = 0 Then
       With db
           Dim tdf As Object
           Set tdf = .CreateTableDef(cTable)
           With tdf
               Dim fld As Object
               Set fld = .CreateField("MyGUID", dbGUID)
               fld.Attributes = (fld.Attributes Or 8132)
               tdf.Fields.Append fld
           End With
           .TableDefs.Append tdf
           .TableDefs.Refresh
       End With
       
   End If
       
   db.Execute "DELETE FROM " & cTable
   With db.OpenRecordset("SELECT * FROM " & cTable & " WHERE 1=0")
       .AddNew
       NewGUID = Replace(Replace(.Fields(0), "{guid ", ""), "}}", "}")
       .CancelUpdate
       .Close
   End With
End Function
 
 
 
بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 26 أبريل 2014 في 23:50

#3

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

شكرررررررررررررررررررا  واتمنى ان تدليني لتطوير علمي بالبرمجة

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…