আপনার অ্যাক্সেসে একক প্রশ্নের ক্ষেত্রে একাধিক ফলাফল কীভাবে প্রদর্শিত হবে

এখন শেয়ার:

আপনার ডাটাবেস থেকে অন্যান্য তথ্যের পাশাপাশি ফিল্ড/কোয়েরি ভ্যালুগুলোর একটি ডিলিমিটেড লিস্ট তৈরি করার প্রয়োজন যদি কখনো হয়ে থাকে, তাহলে আপনি জানবেন যে এটি বেশ কঠিন একটি কাজ – এবং বেশিরভাগ মানুষই মনে করে যে এটি করা সম্ভব নয়। উদাহরণস্বরূপ, যদি আপনাকে বছরের প্রতিটি মাসের জন্য শীর্ষ ৫ জন সেলস পার্সন কারা ছিলেন তার একটি রিপোর্ট তৈরি করতে বলা হয় – অবরোহী ক্রমে – অথবা প্রতিটি গ্রাহকের সবচেয়ে কাছের ৩টি স্টোর কোনটি, তাহলে আপনাকে সম্ভবত ক্রসট্যাব কোয়েরি নিয়ে কাজ করতে হবে অথবা অ্যাক্সেসের বাইরে ম্যানুয়ালি ফলাফলগুলো একত্রিত করতে হবে। কিন্তু সামান্য কিছু VBA কোডের সাহায্যে, আপনি মিনিটের মধ্যেই নিচের মতো ফলাফল তৈরি করতে পারবেন…

জানুয়ারি জন, স্যালি, বিল
ফেব্রুয়ারি স্যালি, অ্যাডাম, জন
বিকলাঙ্গ করা অ্যাডাম, স্যালি, বিল

অনেক সময় আসে যখন বৃহত্তর ক্যোয়ারির অংশ হিসাবে ফলাফলের সীমিত তালিকা প্রদর্শন করতে সক্ষম হওয়া কার্যকর হবে - প্রতিটি বিক্রয় প্রতিনিধির জন্য শীর্ষ 3 বৃহত্তম গ্রাহকের একটি তালিকা, আপনার সর্বোচ্চ ব্যয়ের গ্রাহকদের নিকটতম 5 টি স্টোর , তালিকা চলছে।

আপনার রিপোর্ট একসাথে সেলাই বন্ধ করুন

Ms অ্যাক্সেসএই ধরণের প্রতিবেদন তৈরি করার বিশদ অর্জন করা সম্ভব হওয়ার চেয়ে বেশি, আপনি সাধারণত কোনও স্প্রেডশিট বা প্রতিবেদনের অংশ হিসাবে অ্যাক্সেসের বাইরে ম্যানুয়ালি ফলাফলগুলি সেলাই করে শেষ করতে চান।

নীচের কোডগুলি অ্যাক্সেসের বাইরে ক্যোয়ারী ফলাফলগুলির সাথে ঝাঁকুনির প্রয়োজনকে হ্রাস করে এবং এর পরিবর্তে, আপনাকে উপরে প্রদর্শিত ধরণের ফলাফলগুলি স্বাচ্ছন্দ্যে তৈরি করতে দেয়।

প্রথমে কোডটি কী করতে সক্ষম হতে চাই সেটির রূপরেখা দিন:

"একটি ক্যোয়ারী দেওয়া হয়েছে, এক্স এর সংখ্যার ফলাফল ফিরিয়ে দিন, একক স্ট্রিংয়ের সাথে মিলিত করে যা y দ্বারা সীমিত করা হয়েছে"

আমরা শুরু করার আগে

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

নমুনা কেস

আমাদের কাছে বিক্রয় ডেটাবেস রয়েছে যা গ্রাহক ক্রয়ের বিবরণ এবং সেই সাথে পণ্যটির বিভাগের ক্রয় সম্পর্কিত stores আমরা একটি প্রতিবেদন তৈরি করতে চাই যা মাসের মধ্যে, উত্থানের ক্রমে শীর্ষ 3 বিভাগগুলি প্রদর্শন করে।

সরলতার জন্য আমরা উদাহরণটি একটি একক টেবিলের কাছে রাখব, যদিও অধ্যক্ষ আপনার সেটআপ নির্বিশেষে কাজ করবেন। আমরা যে সারণীটি ব্যবহার করব তা নিম্নরূপে সেট আপ করা হয়েছে:

বিক্রয়
ক্রেতার নাম
লেনদেন তারিখ
লেনদেনের মূল্য
বিভাগ

স্পষ্টতই এটি একটি অতি-সরল সেটআপ সেটআপ, তবে আপনি ধারণাটি পাবেন।

এখন - কোড

Public Function CategoryList(Month As String, NumResults As Integer, SortAscending As Boolean, Delimiter As String) As String
    Dim sSql, resultString As String
    Dim rst As Recordset
    Dim firstLine As Boolean
    
    'Create our SQL string using the supplied parameters
    sSql = "SELECT TOP " & NumResults & " [category] FROM sales GROUP BY Format([TransactionDate],""mmm""), sales.Category HAVING (((Format([TransactionDate], ""mmm"")) = """ & Month & """))"
    If SortAscending Then sSql = sSql & " ORDER BY Sum(sales.TransactionValue) DESC;"
    
    Set rst = CurrentDb.OpenRecordset(sSql)
    
    firstLine = True
    
    'Loop through the results, and create the string to return
    With rst
        Do While Not .EOF
            If Not firstLine Then
                resultString = resultString & Delimiter & .Fields("category")
            Else
                resultString = resultString & .Fields("category")
                firstLine = False
            End If
            
        .MoveNext
        Loop
    End With
    
    Set rs = Nothing
    CategoryList = resultString
End Function

কোড - ব্যাখ্যা

ভিবিএ কোডআপনি দেখতেই পাচ্ছেন, কোডটি বেশ সহজবোধ্য। আমরা প্রথমে সরবরাহকৃত প্যারামিটারগুলো ব্যবহার করে আমাদের কোয়েরি তৈরি করি। কোয়েরি স্ট্রিংটি তৈরি হয়ে গেলে, আমরা সেটি এক্সিকিউট করি এবং ফলাফলগুলোর মধ্যে লুপ চালিয়ে সেগুলোকে একত্রিত করে আমাদের কাঙ্ক্ষিত একক ফলাফল স্ট্রিংটি গঠন করি।

আপনি খেয়াল করবেন যে আমরা স্ট্রিংয়ে একটি ডিলিমিটার যুক্ত করব কিনা তা যাচাই করে দেখছি - এই চেকটি না করে আপনি খারাপভাবে ফর্ম্যাটেড রেজাল্ট স্ট্রিং দিয়ে শেষ করতে চান, অথবা আপনাকে অযাচিত ডিলিমিটারগুলি অপসারণের জন্য কোড যুক্ত করতে হবে - এই উপায়টি শুরু থেকেই জিনিসগুলিকে সুন্দর এবং পরিচ্ছন্ন রাখে।

ফাংশনটি নিজেই অবশ্যই কোনও জিজ্ঞাসা, একটি প্রতিবেদন বা অ্যাক্সেসের মধ্যে থেকে আপনার যে কোনও জায়গা থেকে কল করা যেতে পারে।

দূষিত অ্যাক্সেস ডেটাবেস ঠিক করুন

আপনি যদি মুখোমুখি হন দূষিত অ্যাক্সেস ডাটাবেস আপনি যখন উপরের কোডটি চালান, তখন তাদের মেরামতের জন্য কিছু বিশেষ সরঞ্জাম ব্যবহার করা ভাল এবং দুর্নীতিগ্রস্থ ডাটাবেসগুলি থেকে সমস্ত সারণী পুনরুদ্ধার করা ভাল।

লেখকের ভূমিকা:

মিচেল পন্ড একটি তথ্য পুনরুদ্ধার বিশেষজ্ঞ is DataNumen, ইনক। যা তথ্য পুনরুদ্ধারের প্রযুক্তিগুলির সহ বিশ্বের শীর্ষস্থানীয় এসকিউএল সমস্যা মেরামত এবং এক্সেল পুনরুদ্ধার সফ্টওয়্যার পণ্য। আরো তথ্যের জন্য, যান WWW.datanumen.com

এখন শেয়ার:

মন্তব্যসমূহ বন্ধ করা হয়.