ساخت چند رکورد در یک جدول در اکسس - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

ساخت چند رکورد در یک جدول در اکسس

0 امتیاز

سلام و عرض ادب

بنده سعی دارم یک سیستم مدیریتی برای یک باشگاه ورژشی در اکسس ایجاد کنم. بخشی که الآن دارم روش کار میکنم مربوط به بوفه ی باشگاه هست. میخوام هر خریدی که انجام میشه یک رکورد ساخته بشه (توی تصویر ضمیمه شده نشون دادم). از این طریق میتونیم میزان درآمد ماهیانه بوفه رو به صورت مجزا مشاهده کنیم. اما مشکل اینجاست که وارد کردن دونه به دونه هر خرید خیلی کار مشکلیه و بیهوده است. مثلا تا پایان روز کاری ممکنه 30 تا آب معدنی کوچک و یا 12 تا نوشیدنی انرژی زا فروخته بشه. به همین منظور میخوام که کل فروش رو روزانه وارد سیستم کنیم. برای همین دو تا راه حل خواستم پیش بگیرم که هر کدوم مشکل خاص خودشونو دارن و امکان پذیر نیستند:

  1. خواستم یک فیلد به جدول اضافه کنم که تعداد خریداری شده از اون محصول رو نشون بده و این کار رو هم کردم (تصویر دوم) اما مشکل اینجاست که در صورتیکه این کار رو انجام بدم، هنگام محاسبه هزینه های پرداختی خیلی مشکل ایجاد میشه. 
  2. خواستم یک فیلد فقط داخل فرم اضافه کنم که اصلا داخل جدول مربوط به اون وجود نداشته باشه. میخوام هر عددی که داخل اون فیلد نوشتم، به همون تعداد رکورد برای من داخل جدول مربوطه بسازه. مثلا اگه توی فیلد نوشتم 5، یعنی 5 بار یک رکورد شبیه به هم بسازه. اما مشکل اینجاست که هیچگونه macro ای در اکسس وجود نداره که این کار رو بتونه انجام بده و احتمالا نیاز به برنامه نویسی vba داره که من اصلا متوجه نمیشم.sad

ممنون میشم راهنمایی کنید.

با تشکر فراوان

سوال شده دی 14, 1397  بوسیله ی samanm47 (امتیاز 12)   1 1 2

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

 برای حل این مشکل، می‌توانید از برنامه‌نویسی VBA در اکسس استفاده کنید. با استفاده از VBA، می‌توانید یک کد نوشته و به یک دکمه در فرم خود متصل کنید که هنگام فشار دادن آن، تعداد مشخصی رکورد جدید با مقادیر مشخصی در جدول شما ایجاد شود. برای نوشتن چنین کدی، می‌توانید از تابع DoCmd.RunSQL برای اجرای دستورات SQL بر روی جدول‌های خود استفاده کنید. به عنوان مثال، برای اضافه کردن 5 رکورد جدید با مقادیر مشخص به جدول Sales، می‌توانید کد زیر را بنویسید:

Private Sub CommandButton1_Click()
    Dim i As Integer
    For i = 1 To 5
        DoCmd.RunSQL "INSERT INTO Sales (Product, Quantity, Price) VALUES ('Water', 1, 1000)"
    Next i
End Sub

این کد یک حلقه For دارد که 5 بار تکرار می‌شود و در هر تکرار، یک دستور INSERT INTO اجرا می‌شود تا یک رکورد جدید با مقادیر مشخص به جدول Sales اضافه شود. شما می‌توانید این کد را با تغییر نام جدول و فیلدها و همچنین تعداد تکرار حلقه و مقادیر قرار گرفته در دستور INSERT INTO، به نیاز خود سفارشی کنید.

 

 

پاسخ داده شده شهریور 3, 1402 بوسیله ی zirak (امتیاز 473)   3 28 52
انتخاب شد شهریور 8, 1402 بوسیله ی farnoosh
...