saadatdoost
چهارشنبه 21 تیر 1385, 09:28 صبح
مشکل این کد چیه که combo box را خالی نشون می ده:
Option Explicit
Global gCnn As ADODB.Connection
Global SQL As String
Public Sub FillCombo(pCombo As ComboBox, pField As String, pTable As String, Optional WhereClause As String = "", Optional AddBlank As Boolean = False, Optional ClearFirst As Boolean = True, Optional PreserveValue As Boolean = True)
Dim pRs As ADODB.Recordset
Dim theTemp As String, TempArray() As String, i As Long
Dim OrigValue As String
On Error Resume Next
If PreserveValue Then OrigValue = pCombo
If ClearFirst Then pCombo.Clear
If AddBlank Then pCombo.AddItem ""
Set pRs = New ADODB.Recordset
Set pRs = gCnn.Execute("Select Distinct " & pField & " From " & pTable & " " & WhereClause & " Order by " & pField)
If Not pRs.EOF Then
theTemp = Trim$(pRs.GetString(adClipString, , "", vbCrLf))
TempArray = Split(theTemp, vbCrLf)
For i = 0 To UBound(TempArray)
If Trim$(TempArray(i)) <> "" Then pCombo.AddItem Trim$(TempArray(i))
Next i
End If
If PreserveValue Then pCombo = OrigValue
End Sub
Private Sub Form_Load()
FillCombo Combo1, "country_name", "country", False, True, True
End Sub
Option Explicit
Global gCnn As ADODB.Connection
Global SQL As String
Public Sub FillCombo(pCombo As ComboBox, pField As String, pTable As String, Optional WhereClause As String = "", Optional AddBlank As Boolean = False, Optional ClearFirst As Boolean = True, Optional PreserveValue As Boolean = True)
Dim pRs As ADODB.Recordset
Dim theTemp As String, TempArray() As String, i As Long
Dim OrigValue As String
On Error Resume Next
If PreserveValue Then OrigValue = pCombo
If ClearFirst Then pCombo.Clear
If AddBlank Then pCombo.AddItem ""
Set pRs = New ADODB.Recordset
Set pRs = gCnn.Execute("Select Distinct " & pField & " From " & pTable & " " & WhereClause & " Order by " & pField)
If Not pRs.EOF Then
theTemp = Trim$(pRs.GetString(adClipString, , "", vbCrLf))
TempArray = Split(theTemp, vbCrLf)
For i = 0 To UBound(TempArray)
If Trim$(TempArray(i)) <> "" Then pCombo.AddItem Trim$(TempArray(i))
Next i
End If
If PreserveValue Then pCombo = OrigValue
End Sub
Private Sub Form_Load()
FillCombo Combo1, "country_name", "country", False, True, True
End Sub