এক্সেল ভিবিএর মাধ্যমে ডেটাবেসে ব্যবহৃত এসকিউএল স্টেটমেন্টের জন্য উদ্ধৃত স্ট্রিংগুলি কীভাবে এড়ানো যায়

এখন শেয়ার:

SQL Server গুলি সনাক্ত করতে একক উদ্ধৃতিগুলির জোড়া ব্যবহার করেtarটি এবং একটি স্ট্রিং এর শেষ। 'মিসেস ব্রাউন'স বয়েজ' ডাটাবেস টেবিলের মধ্যে প্রবেশ করা ব্যর্থ হবে যেহেতু তিনটি একক উদ্ধৃতি দুটি স্ট্রিং বোঝায়, যার একটি অসম্পূর্ণ। এপি-র জন্য একটি পালানোর চরিত্রের প্রয়োজনostব্রাউন পরে রশি। এই নিবন্ধটি এই অসঙ্গতিটি সমাধান করার জন্য একটি কাস্টমাইজড ভিবিএ ফাংশনটির ব্যবহার অনুসন্ধান করে।

এই নিবন্ধটি ধরে নিয়েছে পাঠকের বিকাশকারী ফিতাটি প্রদর্শিত হয়েছে এবং এটি ভিবিএ সম্পাদকের সাথে পরিচিত। যদি তা না হয় তবে দয়া করে গুগল "এক্সেল বিকাশকারী ট্যাব" বা "এক্সেল কোড উইন্ডো"।

"ডাটাবেস" শব্দটি এখানে "শিল্প-শক্তি" ডাটাবেসের মতো প্রযোজ্য SQL Server এবং Oracle.

এই অনুশীলনে ব্যবহৃত ওয়ার্কবুকের একটি উদাহরণ পাওয়া যাবে এখানে.

এসকিউএল স্ট্রিং

এপি অন্তর্ভুক্তostকোনও এসকিউএল স্টেটমেন্টের অভ্যন্তরে রফস (বা একক উদ্ধৃতি) ডাটাবেস ম্যানেজারের (এই ক্ষেত্রে ও'ডাউড নামের জন্য) থেকে ফিরে আসা ত্রুটিটি সরবরাহ করে:ডেটাবেস পরিচালক থেকে ত্রুটি ফিরে এসেছে

ডাবল এপি হওয়ায় একটি পালানোর চরিত্রের প্রয়োজনostএকটি একক পরিবর্তে দড়ি। সুতরাং, ও ”ডাউড ডাটাবেসের কাছে গ্রহণযোগ্য। ওডড নেই is

কাজ

যেখানে ক্যাপচার ক্ষেত্রগুলি সম্ভবত একটি এপি থাকতে পারেostরোফ, একটি কাস্টম ফাংশন আপডেটের আগে গুলি চালানো যেতে পারে, একক উদ্ধৃতিটিকে একটি ডাবল দ্বারা প্রতিস্থাপন করে।

  1. একটি নতুন ওয়ার্কবুক খুলুন;
  1. আপনার নিজের ডাটাবেসের নাম ইত্যাদি ব্যবহার করে প্রথম শীটটির নাম "আপডেট" করুন এবং নীচে সম্পূর্ণ করুন এই ক্ষেত্রগুলিতে সংযোগের স্ট্রিং তৈরি করতে ব্যবহৃত হবে SQL Server.প্রথম শীটটির নাম রাখুন "আপডেট" এবং এটি সম্পূর্ণ করুন
  2. কোড উইন্ডোটি খুলুন এবং একটি মডিউল sertোকান। মেনু আইটেমগুলি> সরঞ্জাম> রেফারেন্স এডিও লাইব ব্যবহার করুন Reraries এর।কোড উইন্ডোটি খুলুন এবং একটি মডিউল sertোকান

মডিউলটিতে নীচের কোডটি অনুলিপি করুন। এটি ডাটাবেসের সাথে সংযোগ স্থাপন করে।

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 সংযুক্তিডি.আর খুলুন স্ট্রকনেকশনস্ট্রিট প্রস্থান করুন এরর সংযোগ: এমএসজিবক্স এরিয়ার বিবরণ শেষ সাব
  1. মডিউলটিতে ফাংশন যুক্ত করুন:
ফাংশন fRemoveApostrophe (strWord As String) Dim n As Integer Dim x হিসাবে পূর্ণসংখ্যা x = 0 এর জন্য n = 0 থেকে 100 x = InStr (x + 2, strWord, "'")' এপি এর অবস্থান সন্ধান করুনostযদি দন্ডগুলি x = 0 থাকে তবে যদি এক্স> 0 এর জন্য প্রস্থান করুন তবে স্ট্রওয়ার্ড = বাম (স্ট্রওয়ার্ড, এক্স - 1) এবং ক্র (39) এবং ক্র (39) এবং ডান (স্ট্রওয়ার্ড, লেন (স্ট্রওয়ার্ড) - (এক্স)) শেষ হলে পরবর্তী n fRemoveApostrophe = strWord শেষ ফাংশন
  1. ফাংশন উপেক্ষা করুন।
সাব উপেক্ষা (ফাংশন) কল কানেক্টডেটাবেস = পত্রক ("আপডেট")। রেঞ্জ ("বি 10") টিআরএসকিউএল = "টিবিএলক্রিউমাইবার (লাস্টনেম) মানগুলিতে প্রবেশ করান (" "& #Critedia &" ")" এমএসজিবক্স টিআরএসকিউএল & "। ​​এই এসকিউএল এন্ট্রি হবে ব্যর্থ; তিনটি এপি নোট করুনostদড়ি। "ডিবাগ.প্রিন্ট স্ট্রএসকিউএল 'সংযোগবি.এক্সেকিউট (টিআরএসকিউএল) শেষ সাব
  1. ফাংশনটি ব্যবহার করুন
সাব ইউজফিউশন () কল কানেক্টডেটিবেস = ক্রেডিটরিয়া = শীটস ("আপডেট") Ran রেঞ্জ ("বি 15") Cক্রিটরিয়া = fRemoveApostrophe (strCritedia) strSQL = "tblCrewMeumber (সর্বশেষ নাম) মান ('" & #Critedia & "") "MsgBox strSQL &" intoোকান S ডিবাগ.প্রিন্ট টিআরএসকিউএল 'সংযোগবি.এক্সেকুট (টিআরএসকিউএল) শেষ সাব
  1. সম্পূর্ণ করুন আপডেট কার্যপত্রক নীচে, এসtarসেল এ টিং A8:আপডেট ওয়ার্কশিটটি সম্পূর্ণ করুন
  1. বোতামগুলি ম্যাক্রোগুলিতে বরাদ্দ করুন উপেক্ষা করুন un এবং ফাংশন ব্যবহার করুন প্রতিবিম্বিতভাবে

ফলাফলগুলো

একটি বার্তা বাক্স ফলাফল প্রদর্শন করবে; এই অনুশীলনে কোনও ডেটাবেস শারীরিকভাবে আপডেট করা হয়নি তবে, আপনি যদি এটি করতে চান তবে ক্ষেত্রের নামগুলি আপনার ডাটাবেসের সাথে সামঞ্জস্যপূর্ণ রয়েছে এবং ভিবিএ বিবৃতিটি কনডব.এক্সেকিউট (strSQL) যুক্ত করুন

এক্সেল ক্র্যাশ থেকে পুনরুদ্ধার করা

আপনার কম্পিউটারের সংস্থানগুলি শেষ হয়ে গেলে এক্সেল ক্র্যাশ হওয়ার ঝুঁকিপূর্ণ। এই অনুশীলনের লেখার সময়, এক্সেলের স্প্রেডশিটটি এখনও সংরক্ষিত না থাকা, হিমশীতল। কোড উইন্ডোটি আংশিকভাবে প্রতিক্রিয়াশীল ছিল, পুরোপুরি ওয়ার্কবুকটি বন্ধ করার অনুমতি দেয়। দেখা গেল, কার্যপত্রকটি সম্পূর্ণরূপে সামগ্রী এবং কোড সম্পূর্ণ করে পুনরায় খোলা হয়েছে। টেম্পো ছিলrary এবং উত্স ফাইলগুলি (খুব ঘন ঘন ঘন) ক্ষতিগ্রস্থ হয়েছে, সমাধানের সরঞ্জামের অভাবে কাজটি আবার করতে হবে would xlsx ক্ষতি। এক্ষেত্রে এটি সামান্য তাত্পর্যপূর্ণ ছিল, তবে বৃহত্তর ওয়ার্কবুকগুলির জন্য এটি একটি সম্ভাব্য বিপর্যয় হতে পারে।

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

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

এখন শেয়ার:

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