我们需要为用户创建自定义公式以从我们的 mysql 数据库中提取数据。用户通过身份验证后,他们将在 excel 中输入一个公式(类似于“=retrievemybirthday("Frank Dodge")”)。我们该怎么做呢?我们不是编程新手,只是编程新手 w/Excel。有这方面的任何教程吗?我们已经看过,但可以找到任何东西。
谢谢!
最佳答案
1) 您需要为您的 MySQL 数据库配置一个 ODBC 驱动程序。
2) 找出你需要这个函数的 SQL 代码,比如
select birthdate
from YourTable
Where membername=?
您将在您的函数中使用此代码
3) 在您的函数中,您将需要正确的连接字符串。检查像 http://www.connectionstrings.com/ 这样的网站
4) 这是一个使用 ActiveX 数据对象的函数示例(您需要在 VB 编辑器中的“工具”>“引用”中设置引用)
Function GetNomen(sPN As String) As String
'SkipVought/2006 Mar 7
'--------------------------------------------------
' Access: DWPROD.FRH_MRP.READ
'--------------------------------------------------
':this function returns nomenclature for a given part number
'--------------------------------------------------
'2011-9-26 Converted to Parameter Query
'--------------------------------------------------
Dim sConn As String, sSQL As String, sServer As String
Dim rst As ADODB.Recordset, cnn As ADODB.Connection, cmd As ADODB.Command
Set rst = New ADODB.Recordset
Set cnn = New ADODB.Connection
Set cmd = New ADODB.Command
sServer = "dwprod"
cnn.Open "Driver={Microsoft ODBC for Oracle};" & _
"Server=" & sServer & ";" & _
"Uid=/;" & _
"Pwd="
sSQL = "SELECT PM.Nomen_201 "
sSQL = sSQL & "FROM FRH_MRP.PSK02101 PM "
sSQL = sSQL & "WHERE PM.PARTNO_201 =?"
Debug.Print sSQL
With cmd
.CommandText = sSQL
.CommandType = adCmdText
.Prepared = True
.Parameters.Append .CreateParameter( _
Name:="PARTNO_201", _
Type:=adChar, _
Direction:=adParamInput, _
Size:=16, _
Value:=sPN)
.ActiveConnection = cnn
Set rst = .Execute
End With
rst.MoveFirst
If Err.Number = 0 Then
GetNomen = rst("NOMEN_201")
Else
GetNomen = ""
End If
rst.Close
cnn.Close
Set cmd = Nothing
Set rst = Nothing
Set cnn = Nothing
End Function
您可以根据要求在工作表上运行此功能。
关于mysql - 如何在excel中创建自定义函数来抓取mysql数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8232830/