Dưới đây là một số mã có thể sử dụng làm tham chiếu. Hy vọng nó giúp.
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
@ Câu trả lời của Craig (tốt và chi tiết hơn của bạn) đã chỉ ra vấn đề 32 bit. Bạn có thực sự thêm bất kỳ giá trị nào vào nó với câu trả lời này không? – Alexander
Trên thực tế, tôi ** không thể ** kết nối Excel với PostgreSQL qua VBA với câu trả lời của Craig, cũng như không phải với tất cả các câu trả lời khác trên StackOverflow. Không đề cập đến vấn đề tiềm năng với 'odbcad32.exe'. Nó có thể hiển nhiên đối với một số nhưng không phải cho tôi và, bởi số lượng các chủ đề chưa được trả lời trên web, tôi đoán tôi không đơn độc. Bổ trợ Excel trên Github không hoạt động do một vấn đề định dạng nhưng từ ngữ là tuyệt vời để giải thích các thủ tục để làm theo. Nếu bạn không muốn xuất bản câu trả lời của tôi, tôi sẽ không giận nhưng nhiều người sẽ gặp phải cùng một vấn đề giống như tôi trong tương lai. – Candide