Ahmed_J قام بنشر يونيو 30, 2021 قام بنشر يونيو 30, 2021 السلام عليكم اخوتي الاعزاء * هل يمكن تغيير اسم قاعدة البيانات عن طريق الكود بالاعتماد على قيمة حقل بالنموذج (مثلا عند زر الخروج ) وشكرا لكم
Ahmed Sary قام بنشر يونيو 30, 2021 قام بنشر يونيو 30, 2021 على حد علمي ، هو ممكن لكن مش ممكن بمعنى: هناك طريقة تنجح نظرياً فتقوم قاعدة البيانات بتغيير اسمها عند الخروج لكن : لا يمكن أن تقوم قاعدة البيانات بتغيير اسمها أثناء فتحها سواء خرجت أو دخلت ، حتى لو أصبحت القاعدة قائمة أو راقدة والطريقة المقترحة أن قاعدة البيانات تقتل نفسها عن طريق قيامها بعمل : 1 - نسخة منها بالاسم الذي تريده سواء من قيمة حقل أو خلافه. 2 - ملف يقوم بحذف النسخة القديمة ويتم تشغيله في زر الخروج. طبعا طريقة انشاء نسخة باسم جديد ستجد ذلك في المنتدى 1
أفضل إجابة أ / محمد صالح قام بنشر يوليو 1, 2021 أفضل إجابة قام بنشر يوليو 1, 2021 تفضل هذا كود لتغيير اسم قاعدة البيانات الحالية يمكن استعماله بعد الضغط على زر مثلا Public Sub RenameMe(newname As String) Dim dbname As String, ext As String, lockext As String, accesspath As String, scriptpath As String, idx As Integer Const TIMEOUT = 30 scriptpath = Application.CurrentProject.FullName & ".dbrename.bat" accesspath = SysCmd(acSysCmdAccessDir) & "msaccess.exe" For idx = Len(CurrentProject.FullName) To 1 Step -1 If Mid(CurrentProject.FullName, idx, 1) = "." Then Exit For Next idx dbname = Left(CurrentProject.FullName, idx - 1) ext = Mid(CurrentProject.FullName, idx + 1) lockext = IIf(Left(ext, 2) = "ac", "laccdb", "ldb") Dim s As String s = s & "chcp 1256" & vbCrLf s = s & "SETLOCAL ENABLEDELAYEDEXPANSION" & vbCrLf s = s & "SET /a counter=0" & vbCrLf s = s & ":CHECKLOCKFILE" & vbCrLf s = s & "ping 0.0.0.255 -n 1 -w 100 > nul" & vbCrLf s = s & "SET /a counter+=1" & vbCrLf s = s & "IF ""!counter!""==""" & TIMEOUT & """ GOTO CLEANUP" & vbCrLf s = s & "IF EXIST """ & dbname & "." & lockext & """ GOTO CHECKLOCKFILE" & vbCrLf s = s & "ren """ & dbname & "." & ext & """ """ & newname & "." & ext & """" & vbCrLf s = s & """" & accesspath & """ """ & CurrentProject.Path & "\" & newname & "." & ext & """" & vbCrLf s = s & ":CLEANUP" & vbCrLf s = s & "del %0" Dim intFile As Integer intFile = FreeFile() Open scriptpath For Output As #intFile Print #intFile, s Close #intFile s = """" & scriptpath & """" Shell s, vbHide Application.Quit acQuitSaveAll End Sub وطريقة استدعائه RenameMe "mynewname" لاحظ أن الاسم الجديد mynewname بدون الامتداد لأنه يحافظ على نفس امتداد الملف بالتوفيق 1
Ahmed_J قام بنشر يوليو 2, 2021 الكاتب قام بنشر يوليو 2, 2021 (معدل) السلام عليكم استاذ @أ / محمد صالح شكرا جزيلا الكود شغال تمام 1- اريد ان يكون : "اسم حقل معين بالنموذج" = RenameMe يساوي اسم حقل بالنموذج مثل حقل اسم الموظف 2- ان يوضع الكود في زر عند الاغلاق عند الخروج بدون مايفتح قاعدة البيانات مرة اخرى عملت متغير ولم تنجح الطريقة وشكرا لك تم تعديل يوليو 2, 2021 بواسطه Ahmed_J
أ / محمد صالح قام بنشر يوليو 2, 2021 قام بنشر يوليو 2, 2021 لا يوجد مشكلة ضع كود الاستدعاء في حدث عند الضغط على زر الإعلاق renameMe me.fieldName مع استبدال اسم الحقل بما تريد ولعدم فتح القاعدة بعد إعادة التسمية يمكنك حذف هذا السطر من الإجراء s = s & """" & accesspath & """ """ & CurrentProject.Path & "\" & newname & "." & ext & """" & vbCrLf بالتوفيق
Ahmed_J قام بنشر يوليو 3, 2021 الكاتب قام بنشر يوليو 3, 2021 (معدل) السلام عليكم استاذ @أ / محمد صالح عندما يكون اسم الحقل باللغة العربية تظهر اسم قاعدة البيانات بحروف غير مفهومة كما في الصورة هل ممكن تعديل ذلك تحياتي لك تم تعديل يوليو 3, 2021 بواسطه Ahmed_J
أ / محمد صالح قام بنشر يوليو 3, 2021 قام بنشر يوليو 3, 2021 لدعم اللغة العربية في ملفات الدوس أضف هذا السطر كأول سطر في النص الذي يكتب في الباتش s = s & "chcp 1256" & vbCrLf بعد الإعلان عن المتغير s dim s as String 2
Ahmed_J قام بنشر يوليو 3, 2021 الكاتب قام بنشر يوليو 3, 2021 السلام عليكم استاذ @أ / محمد صالح بارك الله فيك كل شيء تمام والحمد لله فقط لدي سؤال اخير لو سمحت؟ لو بدي اجعل اسم قاعدة البيانات تقبل كل شيء (حقل فيه تاريخ او رقم او اسم ) هل اقوم فقط بتغيير تعريف المتغير في الوحدة النمطية (As String) الى (As Variant) في كل الاسطر للوحدة النمطية ام ماذا وشكرا لك
أ / محمد صالح قام بنشر يوليو 3, 2021 قام بنشر يوليو 3, 2021 مفيش مشكلة المهم مراعاة شروط تسمية الملفات في ويندوز ولا داعي لتغيير نوع بيانات المتغير فغير مسموح مثلا بالشرطة المائلة / او \ وكذلك علامة الاستفهام ؟ وكذلك > او < وهكذا 1 1
Ahmed_J قام بنشر يوليو 3, 2021 الكاتب قام بنشر يوليو 3, 2021 استاذ @أ / محمد صالح بارك الله فيك وجعلها في ميزان حسناتك كل شيء تمام شكرا لك 1
emam asherif قام بنشر يوليو 6, 2021 قام بنشر يوليو 6, 2021 موضوع جيد وقد استفدت منه شكرا لكم جميعا المعلم والمتعلم وفريق الموقع
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.