sql >> データベース >  >> RDS >> PostgreSQL

LibreOfficeCalcはPostgreSQL関数を実行します

    LibreOffice Calcでも同様のことが可能ですが、さまざまなメニューでデータベース接続を設定する代わりに、すべてがマクロコードで実行されます。

    以下は、thisを使用して機能しました。 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 / en / forum / viewtopic.php?f =21&t =41149

    コードを完成させるには、メッセージボックスに表示するのではなく、結果をスプレッドシートに配置するようにコードを変更します。また、sFormatの値をハードコーディングする代わりに、ドロップダウンボックスから選択した値を読み取ります。 。

    注:オンラインの一部の情報では、中間の.odbファイルの使用が提案されています。これには、マクロですべてを実行するのではなく、より多くのメニューが含まれます。これはテーブルとクエリでは機能しますが、おそらくHSQLDBでここ




    1. oracle CASEWHENsqlステートメントにキーワードエラーがありません

    2. 誕生日を保存するのに最適なフィールドは何ですか?

    3. すべての行を取得しますが、最初のレコードがありません

    4. MySQLでインデックスのサイズを把握する方法