بتوفيق الله وفضله هذه وحدة نمطية صغيرة تقوم بالطلب
Public Function MonthDays()
Dim myMonth As Long
myMonth = Month(Date)
MonthDays = Day(DateSerial(Year(Date), myMonth + 1, 1) - 1)
End Function
عدد ايام الشهر الحالي.rar
combo4 هذا الاسم لا وجود له والصحيح combo6 راجع مثالك الاول
If Combo4.Value = "" or Text2.Value = "" Then
هذه صحيحة ويمكن ان تكون هكذا
if IsNull([Combo]) Or IsNull >>>
ولكنها لن تعمل معك هنا والسبب ان الحقول غير منضمة الى جدول لذا فهي لا تحمل قيمة
ولضبط هذه العملية يجب ان تضع في القيمة الافتراضية قيمة معينة كــ "" أو صفر .... وهكذا
نلتمس لاخونا الشمال العذر فعسى المانع يكون خيرا
وبالنسبة لمثالك فاعتقد ان طريقة التطبيق لا يمكن تحققها
فأنت طلبت منع تكرار المعرف
وايضا منع تكرر ارقام متشابهه للمعرف نفسه فقط
وعند التطبيق على الواقع حسب مثالك فإنه ضمنا لا يمكن تكرار ارقام للمعرف بل لا يمكن منحه سوى رقم واحد لانه لن يملك الا سجلا واحدا في هذا الجدول
ومع هذا وضعت لك الاكواد الخاصة بمثل هذه المسألة في مثالك المرفق
the form.rar
العنوان مخالف وطبعا سيتم غلق الموضوع
يمكنك فتح مشاركة جديدة وطرح مشكلة واحدة معينة ويتم ايضاح هذه المشكلة في العنوان
فإذا حصلت على اجابة شافية يمكنك فتح مشاركة بمسألة اخرى وهكذا ...
هذه الطريقة اسرع في تلبية الطلب وانفع في تخصيص المسائل
وفقك الله لكل خير ،،،
If Combo4.Text = "" And Text2.Text = "" Then
اولا وجود اللاحقة Text تستلزم وجود التركيز على الحقل عند تنفيذ الامر فإما ان تحذف وإما ان تستبدل بالقيمة Value
الثاني انك استخدت And وهنا لن يعمل الكود حتى يكون الحقلان كلاهما فارغان
والاولى استخدام Or لاننا لن نسمح لاي واحد منهما ان يكون فارغا
اذا كانت البيانات وقتية فيمكن استخدام العبارات البرمجية لنقل القيمة من النموذج الى التقرير
اما ان كانت البيانات ثابتة ومحفوظة للرجوع اليها فيجب رصدها في الجدول
وبالنسبة لخانات الاختيار فيمكن التعبير عنها في الجدول بأرقام 1 ، 2 ، 3 والاسم التوضيحي يظهر في التقرير كترجمة للرقم عبر مربع تحرير وسرد
ارفق مثالك على اصدار 2003 مكتملا يشتمل على الجدول والتقرير مع النموذج لتطبيق الطريقة التي تريدها
كما ذكرت في مشاركتي الاولى ان الامر مقارنة بل مقابلة بين ارقام في مجلد خارجي مع ارقام ضمن جدول في قاعدة البيانات
وعند اختلال احد الطرفين لا يظهر الخلل الا بعد المقابلة مرة اخرى
تم التعديل بتحويل الكود الى وحدة نمطية عامة نستدعيها عند الحاجة
card14.rar
المشكلة تتمثل في جدول الملفات حيث يجب تفريغه من البيانات قبل جلبها مرة اخرى
ضع هذه الاسطر في أعلى الوحدة النمطية وبالضبط تحت سطر on Error
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE tbl1.*, * FROM tbl1"
DoCmd.SetWarnings True
الحل ان تجعل الاستعلام خارجي فيكون مصدرا للنموذج والتقرير معا
والطريقة عندما تفتح على مصدر سجلات النموذج وهو الاستعلام من الخصائص احفظ فقط فيأخذ صورة من الاستعلام ليضعها ضمن الاستعلامات ويسألك ان كنت تريد هذا الاخير هو مصدر السجلات وستكون الاجابة بنعم
هذه تحتاج الى اعادة فحص وتجربة للمثال
وسأعمل ذلك ان شاء الله
هذا ما تيسر وآمل ان يحقق الفائدة
On Error GoTo Err_erru_Click
Dim scfil, fil1, pafil As Object ' اعلان عن متغيرات تمثل كائنات
'اعلان عن متغير يمثل قاعدة بيانات
Dim db As Database
' اعلان عن متغير يمثل سجلات
Dim rs As Recordset
' اعلان عن متغير يمثل مصفوفة نصية
Dim i As String
' القاعدة الحالية
Set db = CurrentDb
' فتح سجلات الجدول
Set rs = db.OpenRecordset("tbl1")
'انشاء كائن ضمن انظمة الملفات
Set scfil = CreateObject("Scripting.FileSystemObject")
' الحصول على الملفات داخل مجلد الصور
Set pafil = scfil.GetFolder(CurrentProject.Path & "\photos\").Files
'بداية دوارة : كل ملف في المسار الهدف
For Each fil1 In pafil
' استخراج اسم اللاحقة او ما يسمى بالامتداد
i = scfil.GetExtensionName(fil1.Name)
' ارجاع الى حروف كبيرة وهي زائدة فلسنا بحاجتها فاسماء الملفات ارقام
i = UCase(i)
' بداية الشرط : اذا كانت اللاحقة (؟) وهنا يمكنك تحديد نوع الملفات المستخرجة
If i = "JPG" Then
' اضف سجلات جديدة
rs.AddNew
' استخراج اسم الملف '
rs("picNm") = (scfil.GetBaseName(fil1.Name))
السجلات ' تحديث
rs.UpDaTe
' نهاية الشرط
End If
'عودة للدوارة
Next
Exit_erru_Click:
Exit Sub
Err_erru_Click:
DoCmd.CancelEvent
Resume Exit_erru_Click
Set scfil = Nothing
Set pafil = Nothing
Set rs = Nothing
لست بحاجة الى نقل الرقم حيث انه سينتقل من ذات نفسه .. كيف ؟
نحن نتعامل في ادخال البيانات عبر النماذج وليس الجداول اليس كذلك ؟
وما دمت ى ربطت علاقة بين الجدولين بعلاقة واحد لمتعدد فيمكنك انشاء نموذج رئيسي يكون مصدر بيثاناته الجدول1 وآخر فرعي ومصدر بياناته الجدول 2
فبمجرد ما تنتقل من النموذج الاول الى الفرعي سيتم تثبيت الرقم الجامعي في الجدول 2
امل ان يكون شرحي هذا مفهوما لديك ؟
حياك الله اخونا اسلام
عن نفسي لم اتعامل باستيراد البيانات الا لاستيراد ملف معين لاجراء العمليات عليه
تجد بالمرفقات مثالين بالاكسس لجلب بيانات اكسل ارجو ان تجد فيهما الفائدة
علما انه يتوفر في المنتدى امثلة اكسل لتصدير البيانات الى اكسس واستيرادها كذلك
في اكسس عند الالحاق المتكرر وخشية تكرار المعلومات نفسها حين ننقر على زر الالحاق اكثر من مرة
نستخدم الاحتياطات غالبا داخل الجدول حيث نضع مفتاحا للجدول يمنع التكرار
excel_to_access.rar