मेरे पास फॉर्म और अन्य टेबल डेटा के कई इनपुट के आधार पर वीबीए के माध्यम से एक मुख्य "अंतिम तालिका" अपडेट की जा रही है। मैं एक टेक्स्टबॉक्स ऑब्जेक्ट मान को कॉलआउट करने का प्रयास कर रहा हूं जो वीबीए कोड के रूप में मौजूद है ताकि उपयोगकर्ता अंतिम तालिका में डाले जा रहे सभी डेटा पर एक टिप्पणी जोड़ सके।

Dim strComment As String
strComment = TextBox_Comment.Value

strSQL = "INSERT INTO Main_Table (Period, Monthp, Order, Comment)"
strSQL = strSQL & "SELECT ""Weekly"" AS Period, [001_SelectedMonth].Monthp, [001_OrderTable].Order, strComment AS Comment FROM 001_SelectedMonth, 001_OrderTable;"

CurrentDb.Execute strSQL, dbFailOnError

जब मैं मुख्य तालिका सम्मिलन बिंदुओं से "टिप्पणी" और कोड के "strComment AS टिप्पणी" भाग दोनों को हटा देता हूं तो कोड ठीक काम करता है। अन्यथा मुझे रन-टाइम त्रुटि '3061' मिलती है, बहुत कम पैरामीटर। अपेक्षित 1.

प्रश्न: क्या मेरे पास जोड़े जा रहे सभी डेटा के लिए फ़ील्ड डेटा के रूप में डेटाबेस में सम्मिलित किए जाने वाले टेक्स्ट बॉक्स मान को कॉलआउट करने का कोई तरीका है या क्या मुझे ऐसा करने के लिए किसी अन्य विधि का उपयोग करना चाहिए?

अंतिम तालिका का उदाहरण:

Final Table

0
G. L. 11 अक्टूबर 2018, 18:27

1 उत्तर

सबसे बढ़िया उत्तर

आपको एक स्थान और उचित संयोजन की आवश्यकता है:

strSQL = "INSERT INTO Main_Table ([Period], Monthp, [Order], [Comment]) "
strSQL = strSQL & "SELECT 'Weekly' AS [Period], [001_SelectedMonth].Monthp, [001_OrderTable].Order, '" & strComment & "' AS [Comment] FROM 001_SelectedMonth, 001_OrderTable;"

उस ने कहा, संयोजन से बचने के लिए पैरामीटर का उपयोग करें।

1
Gustav 11 अक्टूबर 2018, 15:43