SQL Server একটি স্ট্রিং-এর শুরু এবং শেষ চিহ্নিত করতে জোড়া একক উদ্ধৃতি চিহ্ন ব্যবহার করা হয়। একটি ডাটাবেস টেবিলে 'Mrs Brown's Boys' সন্নিবেশ করতে গেলে তা ব্যর্থ হবে, কারণ তিনটি একক উদ্ধৃতি চিহ্ন দুটি স্ট্রিং বোঝায়, যার মধ্যে একটি অসম্পূর্ণ। Brown-এর পরে অ্যাপস্ট্রফিটির জন্য একটি এস্কেপ ক্যারেক্টার প্রয়োজন। এই নিবন্ধে এই অসঙ্গতিটি সমাধান করার জন্য একটি কাস্টমাইজড VBA ফাংশনের ব্যবহার আলোচনা করা হয়েছে।
এই নিবন্ধটি ধরে নিয়েছে পাঠকের বিকাশকারী ফিতাটি প্রদর্শিত হয়েছে এবং এটি ভিবিএ সম্পাদকের সাথে পরিচিত। যদি তা না হয় তবে দয়া করে গুগল "এক্সেল বিকাশকারী ট্যাব" বা "এক্সেল কোড উইন্ডো"।
"ডাটাবেস" শব্দটি এখানে "শিল্প-শক্তি" ডাটাবেসের মতো প্রযোজ্য SQL Server এবং ওরাকল।
এই অনুশীলনে ব্যবহৃত ওয়ার্কবুকের একটি উদাহরণ পাওয়া যাবে এখানে.
এসকিউএল স্ট্রিং
SQL স্টেটমেন্টের ভিতরে অ্যাপস্ট্রফি (বা সিঙ্গেল কোট) ব্যবহার করলে ডাটাবেস ম্যানেজার থেকে নিম্নলিখিত ত্রুটিটি ফেরত আসে (এই ক্ষেত্রে O'Dowd নামের জন্য):
একটি এস্কেপ ক্যারেক্টার প্রয়োজন, যা একটি অ্যাপস্ট্রফির পরিবর্তে দুটি অ্যাপস্ট্রফি হবে। সুতরাং, O”Dowd ডাটাবেসের কাছে গ্রহণযোগ্য। O'Dowd গ্রহণযোগ্য নয়।
কাজ
যেখানে ক্যাপচার ফিল্ডে অ্যাপস্ট্রফি থাকার সম্ভাবনা থাকে, সেখানে আপডেটের আগে চালু হওয়ার জন্য একটি কাস্টম ফাংশন তৈরি করা যেতে পারে, যা সিঙ্গেল কোটটিকে ডাবল কোট দিয়ে প্রতিস্থাপন করবে।
- একটি নতুন ওয়ার্কবুক খুলুন;
- আপনার নিজের ডাটাবেসের নাম ইত্যাদি ব্যবহার করে প্রথম শীটটির নাম "আপডেট" করুন এবং নীচে সম্পূর্ণ করুন এই ক্ষেত্রগুলিতে সংযোগের স্ট্রিং তৈরি করতে ব্যবহৃত হবে SQL Server.
- কোড উইন্ডোটি খুলুন এবং একটি মডিউল যুক্ত করুন। ADO লাইব্রেরি রেফারেন্স করার জন্য >Tools >References মেনু আইটেমটি ব্যবহার করুন।
মডিউলটিতে নীচের কোডটি অনুলিপি করুন। এটি ডাটাবেসের সাথে সংযোগ স্থাপন করে।
New ADODB.Connication হিসাবে সর্বজনীন সংযোগ পাবলিক আরএসএডবি হিসাবে রেকর্ডসেট পাবলিক আরএসএসকিউএল স্ট্রিং সাব সংযোগডেটাবেস হিসাবে স্ট্রিং হিসাবে পাবলিক স্ট্রোক্রিটিয়ার () যদি কানডিবি.স্টেট = 1 তবে ত্রুটি GoTo এরর সংযোগ দিম স্ট্রসার্ভার, আরআরডিবেস, স্ট্রিংস, আরআরপিডব্লিউডি হিসাবে সংযুক্ত করুন strServer = পত্রক ("আপডেট")। রেঞ্জ ("B2") strDBase = পত্রক ("আপডেট")। রেঞ্জ ("B3") strUser = পত্রক ("আপডেট")। রেঞ্জ ("B4") strPWD = পত্রক (" আপডেট ")। ব্যাপ্তি (" বি 5 ") যদি </ p> <pdd>" "তারপরে strConnectionstring =" DRIVER = {SQL Server}; সার্ভার = "& strServer &"; ডাটাবেস = "& #DDBase &"; UID = "& strUser &"; Pwd = "& strPWD &"; সংযোগের সময়সীমা = 30; "অন্যথায় strConnectionstring =" ড্রাইভার = {SQL ServerER; SERVER = "& strServer &"; বিশ্বস্ত_সংযোগ = হ্যাঁ; DATABASE = "& strDBase 'উইন্ডোজ প্রমাণীকরণ সমাপ্ত হয় যদি কানডিবি.সিঙ্কেশনটাইমআউট = 30 সংযুক্তিডি.আর খুলুন স্ট্রকনেকশনস্ট্রিট প্রস্থান করুন এরর সংযোগ: এমএসজিবক্স এরিয়ার বিবরণ শেষ সাব
- মডিউলটিতে ফাংশন যুক্ত করুন:
ফাংশন fRemoveApostrophe(strWord As String) ডিম n As Integer ডিম x As Integer x = 0 For n = 0 To 100 x = InStr(x + 2, strWord, "'") 'অ্যাপোস্ট্রফির অবস্থান খুঁজুন If x = 0 Then Exit For If x > 0 Then strWord = Left(strWord, x - 1) & Chr(39) & Chr(39) & Right(strWord, Len(strWord) - (x)) End If Next n fRemoveApostrophe = strWord End Function
- ফাংশন উপেক্ষা করুন।
Sub IgnoreFunction() Call ConnectDatabase strCriteria = Sheets("Update").Range("B10") strSQL = "Insert into tblCrewMember (LastName) values ('" & strCriteria & "')" MsgBox strSQL & ". এই SQL এন্ট্রিটি ব্যর্থ হবে; তিনটি অ্যাপস্ট্রফি লক্ষ্য করুন।" Debug.Print strSQL 'connDB.Execute (strSQL) End Sub
- ফাংশনটি ব্যবহার করুন
Sub UseFunction() Call ConnectDatabase strCriteria = Sheets("Update").Range("B15") strCriteria = fRemoveApostrophe(strCriteria) strSQL = "Insert into tblCrewMember (LastName) values ('" & strCriteria & "')" MsgBox strSQL & ". এই SQL এন্ট্রিটি সফল হবে, এবং ডেটাটেবিলে O'Dowd হিসাবে প্রদর্শিত হবে।" Debug.Print strSQL 'connDB.Execute (strSQL) End Sub
- সম্পূর্ণ করুন আপডেট ওয়ার্কশিটটি নিম্নরূপ, সেল থেকে শুরু করে A8:
- বোতামগুলি ম্যাক্রোগুলিতে বরাদ্দ করুন উপেক্ষা করুন un এবং ফাংশন ব্যবহার করুন প্রতিবিম্বিতভাবে
ফলাফলগুলো
একটি বার্তা বাক্স ফলাফল প্রদর্শন করবে; এই অনুশীলনে কোনও ডেটাবেস শারীরিকভাবে আপডেট করা হয়নি তবে, আপনি যদি এটি করতে চান তবে ক্ষেত্রের নামগুলি আপনার ডাটাবেসের সাথে সামঞ্জস্যপূর্ণ রয়েছে এবং ভিবিএ বিবৃতিটি কনডব.এক্সেকিউট (strSQL) যুক্ত করুন
এক্সেল ক্র্যাশ থেকে পুনরুদ্ধার করা
আপনার কম্পিউটারের রিসোর্স কমে গেলে এক্সেল ক্র্যাশ করার প্রবণতা দেখা যায়। এই অনুশীলনটি লেখার সময়, এক্সেলের স্প্রেডশীটটি, যা তখনও সেভ করা হয়নি, ফ্রিজ হয়ে যায়। কোড উইন্ডোটি আংশিকভাবে সচল ছিল, যার ফলে পুরো ওয়ার্কবুকটি বন্ধ করা সম্ভব হয়। দেখা গেল, ওয়ার্কবুকটি কন্টেন্ট এবং কোড সম্পূর্ণ অবস্থায় স্বাভাবিকভাবে পুনরায় চালু হয়েছে। যদি টেম্পোরারি এবং সোর্স ফাইলগুলো (যা প্রায়শই ঘটে থাকে) ক্ষতিগ্রস্ত হতো, তবে সমস্যা সমাধানের কোনো টুল না থাকায় কাজটি পুনরায় করতে হতো। xlsx ক্ষতি। এক্ষেত্রে এটি সামান্য তাত্পর্যপূর্ণ ছিল, তবে বৃহত্তর ওয়ার্কবুকগুলির জন্য এটি একটি সম্ভাব্য বিপর্যয় হতে পারে।
লেখকের ভূমিকা:
ফেলিক্স হুকার একটি ডেটা রিকভারি বিশেষজ্ঞ DataNumen, ইনক। যা তথ্য পুনরুদ্ধারের প্রযুক্তিগুলির সহ বিশ্বের শীর্ষস্থানীয় rar পুনরুদ্ধার করুন এবং স্কয়ার পুনরুদ্ধার সফ্টওয়্যার পণ্য। আরো তথ্যের জন্য, যান WWW.datanumen.com


