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

كيفية التعبئة المشروطة من قيمة إلى قيمة أخرى

مغلق
بدأه هانى عوض في 17 يناير 2008 · 7 رد · 948 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام لكم أخوانى وأخواتى الأعضاء الكرام فى منتدانا الدائم....

مرفق قاعدة لمكتبة ..

المطلوب تعبئة التقرير بقيم كالتالى: "مثل تعبئة Excel للأرقام التسلسلية"

كود القسم: 05

بداية التعبئة من كود الكتاب:00001

وحتى : 00200

أى بما يساوى 200 خطوة تعبئة

وعدد نسخ الرقم الواحد: 2

عموماً تفضلوا برؤية القاعدة وستوضح الأمور إن شاء الله..

وشكراً على المرور...

Library.rar

#2

اخى الحبيب hongylover

ماشاء الله عليك

كل مشاركاتك ممتازة ومفيدة

بارك الله فيك والى الامام

#3

شكراً أخى maherbadawey

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

وكانت فكرة عظيمة جداً... لطباعة استيكر باركود

ولكن المطلوب منى أن أنفذ هذه الفكرة ولكن مع إضافة تعديل عليها وهو تعبئة متسلسلة من قيمة إلى قيمة أخرى

تأخذ هذا التسلسل

لو كان المطلوب تسلسل من 000001 إلى 00003 وعدد النسخ من كل كود 2 حيث A تمثل النسخة الأولى المكررة مرتين

like this : {01-00001 A }{ 01-00001 A}{ 01-00002 A}{ 01-00002 A}{01-00003 A}{01-00003 A} .end

أرجو لمن لديه ولو فكرة بسيطة يطلعنى عليها

وشكراً

#4

السلام عليكم ورحمة الله أخي hongylover .. وبعد

اليك المثال التالي لتكرار التكويد كما طلبت - برمجت له الكود التالي

	Dim db As Database
	Dim rec As Recordset
	Set db = CurrentDb
	Set rec = db.OpenRecordset("Tab_INSERT")

Dim F As Integer, T As Integer, Var_F As Integer, Var_T As Integer, Cp1 As String, Cp2 As String
Dim i As Integer
F = VF_Books.Form!Book_Cod_F
T = VF_Books.Form!Book_Cod_T
Var_F = Right(F, 1)
Var_T = Right(T, 3)
Cp1 = VF_Books.Form!Copy_F
Cp2 = VF_Books.Form!Copy_T
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE Tab_INSERT.* FROM Tab_INSERT;"
	For i = Var_F To Var_T
		rec.AddNew
		rec!Cod = Me.txtCod_No

   On Error Resume Next

		rec!Name1 = Format(Me.txtCod_No, "#,00") & " - " & "00" & Format(Var_F, "#,000") & " - " & Cp1
		rec!Name2 = Format(Me.txtCod_No, "#,00") & " - " & "00" & Format(Var_F, "#,000") & " - " & Cp2
	   Var_F = Var_F + 1
		rec.Update
	 Next i
	 Me.Refresh
DoCmd.SetWarnings True

تأمل الكود ومتغيراته - وتقنية الإضافة في الجدول ثم أنظر التقرير وهذه صور من المثال

والمثال مرفق ..... وفقك الله أخي الكريم

EKSEER

Ek_Library.rar

post-62347-1200913182_thumb.gif

#5

عمل رائع أخونا وأستاذنا العزيز Ekseer

لا أجد كلمات تعبر عن مدى حبى وفائق احترامى وتقديرى

يا له من كود رائع...

لقد قرب لى المسافة كثيراً فى هذه المشكلة....

وقد قمت بالتطبيق ولكن واجهتنى مشكلة...

عندما قمت بإلغاء النموذج الفرعى والجدول الفرعى والعلاقة

بحيث يكون نموذج أساسى يتم كتابة كافة الأكواد به وجدت أن:....

عندما تتم عملية التكويد تتم على السجل الأول فقط وليس على باقى السجلات...

معذرة... أنا أعلم أن الخطأ تم من جانبى عند حذف الجدول الفرعى.. وذلك لسهولة الاستخدام...

عفواً على الإطالة

ما أريده أن يتم تكويد كافة السجلات فى التقرير،،، وضبط عملية التحديث للبيانات لأننى واجهت مشكلة مع requery ومع Refresh للبيانات

شكراً ومع فائق تقديرى لمجهوداتكم للنهوض بمنتدانا..

عفواً نسيت إرفاق الملف

تم رفع الملف المراد تعديله

EK_Library.rar

#6

للرفع للأهمية..

وشكراً

#7

السلام عليكم

أخي الفاضل كان طلبك السابق مايلي

اقتباس
ولكن المطلوب منى أن أنفذ هذه الفكرة ولكن مع إضافة تعديل عليها وهو تعبئة متسلسلة من قيمة إلى قيمة أخرى

تأخذ هذا التسلسل

لو كان المطلوب تسلسل من 000001 إلى 00003 وعدد النسخ من كل كود 2 حيث A تمثل النسخة الأولى المكررة مرتين

like this : {01-00001 A }{ 01-00001 A}{ 01-00002 A}{ 01-00002 A}{01-00003 A}{01-00003 A} .end

الان أختلف المطلوب كثيرا - انت تريد البرنامج يعمل لوب على كل سجل ويعمل تكويد من أول رقم خاص بذات السجل والى أخر رقم

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

وقتا .. وفقك الله ورعاك

EKSEER

#8

شكراً كثيراً أخى القديرekseer على المرور للمرة الثانية وهذا إهتمام واضح منكم...

كنت أظن أن التعديل سيكون بسيطاً وقد حاولت التعديل على الكود ليعطينى عرض لكافة السجلات ولكن بائت كل محاولاتى بالفشل بالرغم من أن فكرة الكود عبقرية بمعنى الكلمة.

عموماً أنا فى إنتظار حل.

وشكراً مرة أخرى

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

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

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

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

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

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