同样的结果。嗯...
这是我正在使用的修订版。基本接入2000 db BTW。
- Private Sub UserForm_Initialize()
- ' Call PopulateComboWhere(cmbValueLisT, "c:\edbs\edbs.mdb", "ITM#", "JOB DETAIL LIST", "JOB", "00-0000")
- ' Call PopulateComboWhere(cmbValueLisT, "c:\edbs\edbs.mdb", "DESC", "JOB DETAIL LIST", "JOB", "00-0000")
- Call Populate2ComboWhere(cmbValueLisT, "c:\edbs\edbs.mdb", "ITM#", "DESC", "JOB DETAIL LIST", "JOB", "00-0000")
- End Sub
- Public Sub Populate2ComboWhere(objCombo As ComboBox, strDBase As String, strField1 As String, strField2 As String, strTable As String, strControlField As String, strControlData As String)
- Dim strSQL As String
- Dim objConn As ADODB.Connection
- Dim objRSet As ADODB.Recordset
- Set objConn = New ADODB.Connection
- objConn.ConnectionString = _
- "Provider=Microsoft.Jet.OLEDB.4.0;" & _
- "Data Source=" & strDBase & ";" & _
- "Persist Security Info=False"
- With objConn
- .Provider = "Microsoft.Jet.OLEDB.4.0"
- .mode = adModeReadWrite
- End With
- objConn.Open
- strSQL = "SELECT [" & strTable & "].[" & strField1 & _
- "],[" & strTable & "].[" & strField2 & _
- "] FROM [" & strTable & _
- "] WHERE [" & strTable & "].[" & strControlField & "]='" & strControlData & _
- "' ORDER BY [" & strTable & "].[" & strField1 & "]"
- Set objRSet = objConn.Execute(strSQL, , adCmdText)
- Debug.Print strSQL
- Do Until objRSet.EOF
- objCombo.AddItem objRSet.Fields(CStr(strField1) & "~" & strField2)
- objRSet.MoveNext
- Loop
- objRSet.Close
- objConn.Close
- End Sub
- Public Sub PopulateComboWhere(objCombo As ComboBox, strDBase As String, strField1 As String, strTable As String, strControlField As String, strControlData As String)
- Dim strSQL As String
- Dim objConn As ADODB.Connection
- Dim objRSet As ADODB.Recordset
- Set objConn = New ADODB.Connection
- objConn.ConnectionString = _
- "Provider=Microsoft.Jet.OLEDB.4.0;" & _
- "Data Source=" & strDBase & ";" & _
- "Persist Security Info=False"
- With objConn
- .Provider = "Microsoft.Jet.OLEDB.4.0"
- .mode = adModeReadWrite
- End With
- objConn.Open
- strSQL = "SELECT [" & strTable & "].[" & strField1 & "] FROM [" & _
- strTable & "] WHERE [" & strTable & "].[" & strControlField & "]='" & _
- strControlData & "' ORDER BY [" & strTable & "].[" & strField1 & "]"
- Set objRSet = objConn.Execute(strSQL, , adCmdText)
- Debug.Print strSQL
- Do Until objRSet.EOF
- objCombo.AddItem objRSet.Fields(strField1)
- objRSet.MoveNext
- Loop
- objRSet.Close
- objConn.Close
- End Sub
|