আপনি কীভাবে একটি ভিবিএ ফাংশন তৈরি করতে পারবেন তা আপনাকে কেবলমাত্র একটি বোতামের একটি ক্লিকের মাধ্যমে পূর্ববর্তী রেকর্ডগুলি থেকে নির্দিষ্ট ডেটা অনুলিপি করতে দেয়। একই জিনিস বারবার টাইপ করার দরকার নেই।
আপনি কি কখনও অভিজ্ঞতা অর্জন করেছেন যেখানে আপনাকে অ্যাক্সেসে একটি নতুন রেকর্ড প্রবেশ করতে হবে যেখানে একটি ক্ষেত্র বাদে পূর্বের রেকর্ডের সাথে মানগুলির ঠিক একই সেট রয়েছে? এটা ক্লান্তিকর হতে পারে, তাই না? এই টিউটোরিয়ালটি আপনাকে শিখাবে যে আপনি কীভাবে একটি ফাংশন তৈরি করতে পারেন যা একটি বোতামের একটি ক্লিকের সাহায্যে আপনি পূর্ববর্তী রেকর্ডের কয়েকটি মানগুলি অনুলিপি করতে পারেন - টাইপ করা থেকে আপনার সময় বাঁচায়। শুধু নীচের পদক্ষেপগুলি অনুসরণ করুন।
এখন ডাউনলোড করুন
আপনি যদি যত তাড়াতাড়ি সম্ভব ফিচারটি ব্যবহার করা শুরু করতে চান, তাহলে আপনি করতে পারেন:
এখনই ভিবিএ কোডগুলির সাথে নমুনা ডেটাবেস ডাউনলোড করুন
অন্যথায়, আপনি ডিআইওয়াই করতে চাইলে, আপনি নীচের সামগ্রীগুলি পড়তে পারেন।
অ্যাক্সেসে একটি 'রেকর্ড অনুলিপি তৈরি করুন' কার্যকারিতা যুক্ত করার পদক্ষেপ
- ডিজাইন দৃশ্যে আপনার ফর্মটি খুলুন।

- একটি কমান্ড বোতাম যুক্ত করুন। কমান্ড বোতাম উইজার্ডটি এড়িয়ে যান।
- একটি যোগ করুন ক্লিক করুন বোতামে ইভেন্ট।
- ডিজাইন দৃশ্যে থাকাকালীন বোতামটি নির্বাচন করুন।
- সম্পত্তি পত্রকটি খুলুন (ALT + Enter)
- ইভেন্ট ট্যাবে> ক্লিক করুন>… এ যান
- যখন নির্মাতা চয়ন করুন মেনু পপ আপ, নির্বাচন করুন কোড নির্মাতা।
- ওকে ক্লিক করুন
- এটি ভিবিএ সম্পাদক খুলবে।
-
- আপনার প্রয়োজন অনুসারে নিম্নলিখিত কোডটি অনুলিপি করুন এবং এটি সংশোধন করুন। গাইড হিসাবে মন্তব্য ব্যবহার করুন।
Private Sub Command24_Click() Dim currentID As Long 'TO DO: change all instances of 'BookID' with the actual name of your table's ID or primary key If IsNull(BookID) Then MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation Exit Sub End If currentID = BookID DoCmd.GoToRecord record:=acNewRec 'TO DO: set the fields to be copied (those that most likely will have the same values) 'FORMAT: fieldName = Dlookup("fieldname", "tableName", "primaryKeyField=" & currentID) Author = DLookup("Author", "Books", "BookID=" & currentID) Country = DLookup("Country", "Books", "BookID=" & currentID) Language = DLookup("Language", "Books", "BookID=" & currentID) Genre = DLookup("Genre", "Books", "BookID=" & currentID) Publisher = DLookup("Publisher", "Books", "BookID=" & currentID) Title.SetFocus ‘TO DO: change 'Title' with name of field that is going to be edited by the user End Sub - এখন কোডটি পরীক্ষা করে যদি এটি কাজ করে।
কোড ব্যাখ্যা করা হয়েছে
উপরের কোডটি একটি বইয়ের দোকানে ডাটাবেসের জন্য ব্যবহৃত হয়েছিল। বইয়ের সিরিজের কারণে এমন উদাহরণ রয়েছে যেখানে সমস্ত বইয়ের বিবরণ (যেমন লেখক, দেশ, ভাষা ইত্যাদি) এক ক্ষেত্র বাদে শিরোনাম। সুতরাং, কোড প্রয়োজন।
নীচের তালিকাটি প্রোগ্রামের প্রবাহ দেখায়।
- ব্যবহারকারী অনুলিপি করতে কোনও রেকর্ড নির্বাচন করেছেন কিনা তা পরীক্ষা করুন। ব্যবহারকারী নতুন রেকর্ড যুক্ত করুন বোতামটি ক্লিক করার পরে ডানদিকে বোতামটি ক্লিক করে - আইডিটি নাল করে দিলে একটি ত্রুটি বার্তা পপ আপ হবে।
If IsNull(BookID) Then MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation Exit Sub End If
- বর্তমান রেকর্ডের আইডি বা প্রাথমিক কী পান এবং এটির মান হিসাবে নির্ধারণ করুন কারেন্টআইডি মানগুলি অনুলিপি করার জন্য এটি ভিত্তি হিসাবে ব্যবহৃত হবে।
currentID = BookID
- একটি নতুন রেকর্ড যুক্ত করুন।
DoCmd.GoToRecord record:=acNewRec
- উপর ভিত্তি করে নির্দিষ্ট ক্ষেত্রের মান নির্ধারণ করুন কারেন্টআইডি এখানেই নির্বাচিত রেকর্ড থেকে ডেটা অনুলিপি করা হয়।
'FORMAT: fieldName = Dlookup("fieldname", "tableName", "primaryKeyField=" & currentID)
Author = DLookup("Author", "Books", "BookID=" & currentID)
Country = DLookup("Country", "Books", "BookID=" & currentID)
Language = DLookup("Language", "Books", "BookID=" & currentID)
Genre = DLookup("Genre", "Books", "BookID=" & currentID)
Publisher = DLookup("Publisher", "Books", "BookID=" & currentID)
- যে ফিল্ডটি ব্যবহারকারী প্রথমে সম্পাদনা করার সম্ভাবনা সবচেয়ে বেশি, সেটিতে ফোকাস সেট করুন। এটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করে, কারণ এর ফলে ব্যবহারকারীকে ম্যানুয়ালি সেই ফিল্ডটি নির্বাচন করতে হয় না যা এখনও আপডেট করা বাকি আছে।
Title.SetFocus ‘TO DO: change 'Title' with name of field that is going to be edited by the user
একটি দুর্নীতিগ্রস্থ ডাটাবেস মেরামত করুন
যদি কোনও দুর্ভাগ্যজনক কারণে, আপনি আপনার ডেটাবেস খুলতে না পেরে একদিন ঘুম থেকে ওঠেন, আপনি তৃতীয় পক্ষের সরঞ্জামগুলি সম্পাদন করতে পারেন অ্যাক্সেস মেরামত। এটি আশ্চর্য কাজ করে।
লেখকের ভূমিকা:
জেমে স্ট্যাক একটি ডেটা রিকভারি বিশেষজ্ঞ DataNumen, ইনক। যা তথ্য পুনরুদ্ধারের প্রযুক্তিগুলির সহ বিশ্বের শীর্ষস্থানীয় স্কয়ার পুনরুদ্ধার এবং এক্সেল পুনরুদ্ধার সফ্টওয়্যার পণ্য। আরো তথ্যের জন্য, যান WWW.datanumen.com
