Simple Excel to connect to the database and display filtered data.
2013-10-31 20:25
435 查看
需求:
A1中放一个Dropdownlist,B1放一个button,点击button后从数据库读取数据绑定到Dropdownlist,选择任一item后,再去数据库读取对应内容展示出来
A1中放一个Dropdownlist,B1放一个button,点击button后从数据库读取数据绑定到Dropdownlist,选择任一item后,再去数据库读取对应内容展示出来
Sub btnList_Click() ActiveSheet.Range("5:65536").ClearContents Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim cmd As New ADODB.Command Dim sqlText As String Dim Row As Long Dim Findex As Long conn.Open "DSN=Oracle;;DBQ=ORAPRDPIM;......" cmd.ActiveConnection = conn cmd.CommandType = adCmdText sqlText = "SELECT DISTINCT ult_parent_name FROM pm_own.hy_master_exposure_sdb e, pm_own.sec_risk_measures srm WHERE srm.ssm_id = e.cusip AND e.comp_sec_type_code NOT IN ('ABS','TSY') ORDER BY ult_parent_name " cmd.CommandText = sqlText Set rs = cmd.Execute On Error GoTo ErrorHandler ActiveSheet.DropDowns("ddlUltParent").Delete ErrorHandler: 'do nothing Resume Next ActiveSheet.DropDowns.Add(Range("A1").Left, Range("A1").Top, 240, 18).Select With Selection .Name = "ddlUltParent" .OnAction = "ddlUltParent_SelectionChanged" Do While Not rs.EOF Row = Row + 1 .AddItem rs.Fields(0).Value, Row rs.MoveNext Loop .DropDownLines = 50 End With ActiveSheet.Range("A1").Select conn.Close End Sub Public Sub ddlUltParent_SelectionChanged() 'Sheets("Sheet1").Range("5:65536").ClearContents ActiveSheet.Range("5:65536").ClearContents Dim selectIndex As Integer Dim selectText As String Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim cmd As New ADODB.Command Dim sqlText As String Dim data As Worksheet Dim dd As DropDown Set dd = ActiveSheet.DropDowns("ddlUltParent") 'Set data = Sheets("Sheet1") Set data = ActiveSheet selectIndex = ActiveSheet.DropDowns("ddlUltParent").Value selectText = dd.List(selectIndex) conn.Open "DSN=Oracle;;DBQ=ORAPRDPIM;......" cmd.ActiveConnection = conn cmd.CommandType = adCmdText sqlText1 = "SELECT e.acct_no, e.acct_name, e.mgr_name, e.cusip, e.isin, e.description," sqltext2 = "e.coupon, e.maturity, e.price, e.quantity, e.bond_exposure," sqltext3 = "AND e.ult_parent_name = '" + selectText + "'" sqlText = sqlText1 + sqltext2 + sqltext3 cmd.CommandText = sqlText Set rs = cmd.Execute Row = 5 For X = 1 To rs.Fields.Count data.Cells(Row, X).Value = rs.Fields(X - 1).Name Next Do While Not rs.EOF Row = Row + 1 For Findex = 0 To rs.Fields.Count - 1 data.Cells(Row, Findex + 1).Value = rs.Fields(Findex).Value Next Findex rs.MoveNext Loop End Sub
相关文章推荐
- sql: Query to Display Foreign Key Relationships and Name of the Constraint for Each Table in Database
- How to display the data from database on JTable
- A more elegant solution to display GridView header and footer when the data source is empty. (cite)
- using JS to control two select(html),the data can be loaded from database and XML,and show in the select
- [Nuxt] Add Arrays of Data to the Vuex Store and Display Them in Vue.js Templates
- LINQ to SQL and WCF - Sharing types, subverting the DataContext on the client side
- Use Jet OLE DB Provider 4.0 to Connect to ISAM Databases (连接Excel, Text等数据库)
- The most simple and easy to use Qt GUI library plug-in FTStyle (3)How do Qt4 and Qt5 choose
- Simple Path Data Resources that I Add to Every WPF and Silverlight Project
- 23. Can't connect to X11 window server using '127.0.0.1:0.0' as the value of the DISPLAY variable.解决办法
- Craw the data of the web page and parse to pdf
- Metasploit启动时Failed to connect to the database
- Connect to the mysql dataase from remote server
- Metasploit启动时Failed to connect to the database
- How to get the rowid when insert the data to Oracle database
- Use C# to get JSON Data from the Web and Map it to .NET Class => Made Easy! 转
- How to re-initialize the offline files cache and database
- connect to remote mysql database by the java
- Could not store transport type data for Receive Location 'Recv.Loc' to config store. Primary SSO Server 'Sql-server' failed. The external credentials in the SSO database are more recent.
- javax.jdo.JDOFatalDataStoreException: Failed to create database 'metastore_db', see the next excepti