اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

بعد التحية والسلام على كل اساتذة وأعضاء المنتدى الأعزاء

 

في الملف المرفق قاعدة بيانات تحتوي على جدولين الأول vtb ويحتوي حقل النص val 

 

وجدول ثاني rtb يحتوي 6 حقول نص تبدأ من B1  وتنتهي بــ B6

 

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

اي من B1 الى B6  في السجل الأول ,, وبعدها ستة حقول أخرى في سجل جديد من rtb

 

 

مع الشكر مقدما .

 

أبو منتظر

قام بنشر

عمل جميل استاذ مارد

واسمح لي عملت تعديل بسيط على مثالك 

وكانت النتيجة مقبولة ولكن العملية ليست سريعة 

الوقت متأخر وسأغفو قليلا قبل الفجر

 

لعلك تجرب المرفق وتكتشف سبب هذا البطء

Insert 6 Fields0.rar

قام بنشر
  في 26‏/5‏/2015 at 00:06, أبـوخليل said:

عمل جميل استاذ مارد

واسمح لي عملت تعديل بسيط على مثالك 

وكانت النتيجة مقبولة ولكن العملية ليست سريعة 

الوقت متأخر وسأغفو قليلا قبل الفجر

 

لعلك تجرب المرفق وتكتشف سبب هذا البطء

 

 

هههههههههههه انا ايضا وقعت فى هذا الفخ اخى الكريم لحد ما زهقت وكلفت نفسى عناء تحويل الارقام باعطاء كل ستة سجلات رقما واحدا

ثم فكرت فى نموذج ادخال محدد السجلات  الى كل ستة سجلات ياخذ رقما

 

وكل هذا لاتفادى عملية البطء هذه هههههههههههه لا حرمنا الله منك  اخى ابو خليل

قام بنشر

عملية البطء سببها الدوارة الداخلية

والسرعة زادت الضعف تقريبا عندما استبدلتها

 

Do While Not Rst.EOF
Rst1.Fields(m) = Rst.Fields(0)
m = m + 1
Rst.MoveNext
Loop

حين استبدلتها بهذه

For p = 1 To n
Rst1.Fields(m) = Rst.Fields(0)
m = m + 1
Rst.MoveNext
Next p
  • Like 1
قام بنشر (معدل)

اعزائي 

هذا كود رمهاني .. سريع مجاني ..!

DoCmd.SetWarnings False
Set rs = CurrentDb.OpenRecordset("vtb"): rs.MoveLast: rs.MoveFirst
For i = 1 To rs.RecordCount Step 6
Set rs1 = CurrentDb.OpenRecordset("select * from vtb where id between " & i & " and " & i + 5 & " order by id"): rs1.MoveFirst
Do While Not rs1.EOF
xsql_val = xsql_val & "'" & rs1(1) & "',"
rs1.MoveNext
Loop
xsql_val = Left(xsql_val, Len(xsql_val) - 1)
DoCmd.RunSQL "insert into rtb(b1,b2,b3,b4,b5,b6) values(" & xsql_val & ")"
xsql_val = ""
Next i
DoCmd.SetWarnings True

اخي ابو منتظر : يمكنك تنفيذ الكود في اي مكان . مثلا خلف زر امر وعند النقر ! 

مع ملاحظة : لو نفذته اكثر من مرة سيكرر البيانات فيمكن وضع سطر واحد حذف سجلات الجدول قبل تنفيذ الكود !

 

تحياتي وبالتوفيق

تم تعديل بواسطه رمهان
  • Like 2
قام بنشر (معدل)

اشكر جميع الأخوة الذين تفاعلوا من أجل أعطاء الجواب الأمثل .

 

الاستاذ العزيز مارد ..في مرفق ردك الأول يحصل خطأ في إلحاق القيم للحقول بداية من السجل 43 ويكون الترتيب غير صحيح !!

 

الاستاذ الجليل ابو خليل ..ان الكود في مثالك الاخير لايحقق المطلوب .. حيث لاتتم توزيع محتويات كل ستة حقول متتالية من العمود Valx  على الحقول الستة من B1 الى B2

 

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

post-23816-0-85704700-1432629970_thumb.j

تم تعديل بواسطه أبو منتظر
قام بنشر
  في 26‏/5‏/2015 at 07:18, أبـوخليل said:

عمل احترافي جميل استاذ رمهان

جزاك الله خير ،،،

وجزاكم الله بالمثل واكثر ..

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information