लिब्रे ऑफिस कैल्क में कुछ ऐसा ही करना संभव है, लेकिन विभिन्न मेनू के साथ डेटाबेस कनेक्शन स्थापित करने के बजाय, सब कुछ मैक्रो कोड के साथ किया जाता है।
निम्नलिखित ने मेरे लिए इसका उपयोग करके काम किया MySQL संग्रहीत कार्यविधि :
Sub RunStoredProc
Dim oParms(1) as new com.sun.star.beans.PropertyValue
oParms(0).Name = "user"
oParms(0).Value = "root"
oParms(1).Name = "password"
oParms(1).Value = "password"
oManager = CreateUnoService("com.sun.star.sdbc.DriverManager")
sURL = "sdbc:mysql:jdbc:localhost:3306/world"
oConnection = oManager.getConnectionWithInfo(sURL, oParms())
sFormat = "Europe"
oStmt = oConnection.prepareCall("CALL country_hos(?)")
oStmt.setString(1, sFormat)
oResult = oStmt.executeQuery()
sResult = ""
If Not IsNull(oResult) Then
While oResult.Next()
sResult = sResult & oResult.getString(1) & CHR(10)
Wend
End If
MsgBox "Result: " & sFormat & " = " & CHR(10) & sResult
oStmt.close()
End Sub
कोड को https://forum.openoffice से अनुकूलित किया गया है। org/hi/forum/viewtopic.php?f=21&t=41149 ।
कोड को समाप्त करने के लिए, परिणामों को संदेश बॉक्स में प्रदर्शित करने के बजाय स्प्रेडशीट में डालने के लिए इसे संशोधित करें। sFormat
. के मान को हार्डकोड करने के बजाय ड्रॉप-डाउन बॉक्स से चयनित मान को भी पढ़ें ।
नोट:कुछ ऑनलाइन जानकारी एक मध्यवर्ती .odb फ़ाइल का उपयोग करने का सुझाव देती है। इसमें मैक्रो में सब कुछ करने के बजाय अधिक मेनू शामिल होंगे। यह तालिकाओं और प्रश्नों के लिए काम करता है लेकिन जाहिरा तौर पर संग्रहीत प्रक्रियाओं के लिए नहीं, जब तक कि शायद एचएसक्यूएलडीबी के साथ यहां उल्लेख किया गया होए> ।