Is it possible to make query like SELECT from VBA in Excel, so I can query a PostgreSQL DB from Excel?
If is possible please explain me how to connect to the database. I was looking in Google but found no results.
Create a table or view in PostgreSQL that describes the data you want.
Use an ODBC or ADO connection from VBA to connect to PostgreSQL. If using ODBC you'll need to create a DSN via odbcad32.exe then use the DSN in VB, it isn't easy to just connect directly.
See:
Better written eample that uses Oracle, but the principles are the same - ODBC/ADO.
Here's some code can use as reference. Hope it helps.
Sub SelectBasic()
        Dim objDb_con
        Dim strSomeValue As String
        Set objDb_con = CreateObject("ADODB.Connection")
        Set Rsdatatype = CreateObject("ADODB.RecordSet")
        glbConnString = Trim(ActiveSheet.Range("B1").Value)
        //Connection string format:Driver={PostgreSQL Unicode};Database=MyDB;server=192.16*.*.**;UID=USERID;Pwd=pasword //comment it
        If glbConnString = "" Then
         MsgBox "Enter the Connection String"
        Else:
        objDb_con.Open glbConnString
        strSql = "select strSomeValue  from SOMETABLE where Something=1"
        Rsdatatype.Open strSql, objDb_con, adOpenKeyset, adLockpessimistic
        If Rsdatatype.EOF = False Then strSomeValue = Rsdatatype.Fields(0).Value
        Rsdatatype.Close
        End If
        objDb_con.Close
    End Sub
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With