نموذج واحد (ربما غير ملزم) للوصول إلى 2003 لإنشاء سجلات متعددة

StackOverflow https://stackoverflow.com/questions/3702862

سؤال

لقد تم تجنيد العمل على نموذج لتتبع العينات. ترتبط كل عينة بموضوع ما ؛ تحتوي كل عينة أيضًا على فتحة معينة في صندوق تخزين 9 × 9. لسهولة إدخال البيانات ، أعتقد أنه سيكون من الأفضل أن يعكس نموذج الوصول إلى المربع نفسه (والنماذج الورقية التي سيتم استخدامها لإدخال البيانات في الوصول): تسعة أعمدة بتسعة صفوف ، مع كل عنصر يتكون بشكل أساسي من النص مربع لمعرف العينة. هذا هو في الأساس كيف أود أن تبدو:

alt text

لذا ، فإن شخص إدخال البيانات سيكتب بشكل أساسي في رقم المربع ومعرفات العينة ، ثم انقر فوق "إنشاء سجلات" لإلغاء كل هذه السجلات إلى الوجود (يمكنك رؤية بعض الأشياء الأخرى التي تحدث هنا ، ولكن هذا ليس مهمًا حقًا الآن). لست متأكدًا حقًا من أفضل طريقة لترميز هذا. في الوقت الحالي ، فإن أفضل عملية يمكنني التفكير فيها هي: 1) تشغيل استعلام إدراج لإنشاء المربع إذا لم يكن موجودًا ، 2) قم بتشغيل استعلام إدراج لإنشاء الموضوع (الشخص) ، إذا لم يكن موجودًا و 3) قم بتشغيل استعلام إدراج لكل عينة ، ترددًا ثابتًا في صفه وعموده (على سبيل المثال box_col = 'a' ، box_row = '1').

ملاحظة: يتم تحليل معرف الموضوع ومعرف العينة من حقل الهوية - إنه أخرق ، وليس فكرتي ، ولكن هذه هي الطريقة التي تم إعدادها. يمكنني التعامل مع ذلك ، رغم ذلك.

هذا بالتأكيد نوع من الكلام ، لكنني لست متأكدًا مما يجب القيام به ومعظم ما لم يكن غوغل ذا صلة بإنشاء سجل متعدد من نموذج واحد. هل هناك طريقة أفضل للقيام بذلك؟ هل يجب أن أتخلى عن الفكرة ببساطة والذهاب مع نهج الشكل الفرعي التقليدي أكثر تقليدية؟ سأكون ممتنًا جدًا لرؤيتك واقتراحاتك. ًشكراً جزيلا.

هل كانت مفيدة؟

المحلول

يمكن أن يتم ذلك كله في شكل فرعي - ومع ذلك ، أفترض أن البساطة (نقرات أقل ، وتجربة مستخدم أسهل ، والحدس) قمت بتصميمها حتى يرى المستخدم النهائي كل ما يحتاجه إلى الدخول. لا حرج في القيام بذلك بهذه الطريقة. بمجرد إدخال جميع البيانات ، فقط يكون لديك زر على النموذج الذي يقوم بإدراج متعددة في وقت واحد. ابدأ من 1 وتضمين 9 تكرارات في كل مرة تصدر جديدًا INSERT بيان.

بمجرد الانتهاء من البيان ، سأضع شخصياً علامة فحص صغيرة بجوار كل صف ، بحيث إذا تم إدراجها ، فسيتحقق ذلك بشكل صحيح ، غير كاذب. يمكن أن تكون أنيقًا واستخدام صورة خضراء / صورة حمراء. بعد أن تكمل العملية ، يجب مسح جميع الحقول مما يتيح دخولًا إضافيًا.

لا أرى مشكلة مع ما لديك.

نصائح أخرى

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

هل تحتاج حقًا إلى عرض البيانات لاحقًا بنفس التنسيق الذي تم إدخاله. إذا كان بإمكانهم فقط عرض أشكال فرعية منتظمة ، فهذا نصف العمل على الأقل حيث لم تعد بحاجة إلى إجراء تحديثات لهذا النموذج.

لاحظ أيضًا أن هناك Amaximum مدى الحياة من 768 ، إذا كنت أتذكر بشكل صحيح ، يتحكم في النموذج. 9 × 9 × 2 هو 162 ، لذلك ستكون على ما يرام هناك. ومع ذلك ، إذا قررت حذف الكثير من cotrols وإعادة إنشاءك ، فقد تكون في ورطة. إذا ضربت هذا الحد ، فأعتقد أن حفظ النموذج تحت اسم منفصل يجب أن يعيد تعيين العداد.

ملاحظة يمكنك استخدام البناء التالي للإشارة إلى عناصر التحكم وجعل الحياة أسهل.

Me.Controls("abc" & Row & column) 

على سبيل المثال في التحديث بعد تحكم النوع الذي يمكنك استخدامه

call InsertRecords(3, "B")

sub InsertRecords(row as integer, Column as string)
....
cboTypeValue = Me.Controls("cboTypeID" & Row & Column) 
....

يمكن استخدام هذا كنوع من عناصر التحكم في الوصول الأصلي فقط.

إذا قام شخص ما بنشر مثال على كيفية إنشاء شكل فرعي غير مخصص مخصص مع صف لكل سجل غير محدود ورمز للحلقات وحفظه على الجداول سيكون رائعًا.

لن يكون هناك الكثير من الضوابط ولن يكون لها أي حدود من خلال أعداد الحقول في النموذج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top