|
|
Attribute VB_Name = "DuplicateCode" Option Explicit Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Sub PopulateCboWithSKUs( _ ByVal i_cbo As ComboBox, _ Optional ByVal blnListCollectiveSKUs As Boolean = False _ ) Dim intIndex As Long Dim SKUs() As SKU_E
If (blnListCollectiveSKUs) Then ReDim SKUs(11) Else ReDim SKUs(8) End If
SKUs(0) = SKU_STANDARD_E SKUs(1) = SKU_PROFESSIONAL_E SKUs(2) = SKU_PROFESSIONAL_64_E SKUs(3) = SKU_SERVER_E SKUs(4) = SKU_ADVANCED_SERVER_E SKUs(5) = SKU_DATA_CENTER_SERVER_E SKUs(6) = SKU_ADVANCED_SERVER_64_E SKUs(7) = SKU_DATA_CENTER_SERVER_64_E SKUs(8) = SKU_WINDOWS_MILLENNIUM_E
If (blnListCollectiveSKUs) Then SKUs(9) = SKU_DESKTOP_ALL_E SKUs(10) = SKU_SERVER_ALL_E SKUs(11) = SKU_ALL_E End If
For intIndex = LBound(SKUs) To UBound(SKUs) i_cbo.AddItem DisplayNameForSKU(SKUs(intIndex)), intIndex i_cbo.ItemData(intIndex) = SKUs(intIndex) Next
i_cbo.ListIndex = 0
End Sub
Public Function GetParameter( _ ByVal i_cnn As ADODB.Connection, _ ByVal i_strName As String _ ) As Variant
Dim rs As ADODB.Recordset Dim strQuery As String Dim str As String
str = Trim$(i_strName)
GetParameter = Null
Set rs = New ADODB.Recordset
strQuery = "" & _ "SELECT * " & _ "FROM DBParameters " & _ "WHERE (Name = '" & str & "');"
rs.Open strQuery, i_cnn, adOpenForwardOnly, adLockReadOnly
If (Not rs.EOF) Then GetParameter = rs("Value") End If
End Function
Public Sub SetParameter( _ ByVal i_cnn As ADODB.Connection, _ ByVal i_strName As String, _ ByRef i_vntValue As Variant _ )
Dim rs As ADODB.Recordset Dim strQuery As String Dim str As String
str = Trim$(i_strName)
Set rs = New ADODB.Recordset
strQuery = "" & _ "SELECT * " & _ "FROM DBParameters " & _ "WHERE (Name = '" & str & "');"
rs.Open strQuery, i_cnn, adOpenForwardOnly, adLockPessimistic
If (rs.EOF) Then rs.AddNew rs("Name") = i_strName End If
rs("Value") = i_vntValue rs.Update
End Sub
Public Function GetUserName1() As String
Dim str As String Dim intIndex As Long
str = Space$(100) GetUserName str, 100
' Get rid of the terminating NULL char. For intIndex = 1 To 100 If (Asc(Mid$(str, intIndex, 1)) = 0) Then str = Left$(str, intIndex - 1) Exit For End If Next
GetUserName1 = str
End Function
Public Sub FixOrderingNumbers( _ ByVal i_cnn As ADODB.Connection _ ) Dim rs As ADODB.Recordset Dim strQuery As String Dim intParentTID As Long Dim intLastParentTID As Long Dim intOrderUnderParent As Long
Set rs = New ADODB.Recordset
strQuery = "" & _ "SELECT * " & _ "FROM Taxonomy " & _ "ORDER BY ParentTID, OrderUnderParent"
rs.Open strQuery, i_cnn, adOpenForwardOnly, adLockPessimistic
intLastParentTID = INVALID_ID_C
Do While (Not rs.EOF)
intParentTID = rs("ParentTID")
If (intParentTID <> intLastParentTID) Then intLastParentTID = intParentTID intOrderUnderParent = 0 End If
If (rs("TID") <> ROOT_TID_C) Then intOrderUnderParent = intOrderUnderParent + PREFERRED_ORDER_DELTA_C rs("OrderUnderParent") = intOrderUnderParent rs.Update End If
rs.MoveNext Loop
End Sub
Public Function GetKeywords( _ ByRef i_cnn As ADODB.Connection, _ ByRef i_DOMNode As MSXML2.IXMLDOMNode, _ ByRef u_dictKeywords As Scripting.Dictionary _ ) As String
Dim DOMNode As MSXML2.IXMLDOMNode Dim strKeyword As String
If (Not i_DOMNode.firstChild Is Nothing) Then For Each DOMNode In i_DOMNode.childNodes strKeyword = DOMNode.Text If ((strKeyword <> "") And (DOMNode.baseName = HHT_KEYWORD_C)) Then GetKeywords = GetKeywords & GetKID(i_cnn, strKeyword, u_dictKeywords) & " " End If Next GetKeywords = FormatKeywordsForTaxonomy(GetKeywords) End If
End Function
Public Function GetKID( _ ByRef i_cnn As ADODB.Connection, _ ByRef i_strKeyword As String, _ ByRef u_dictKeywords As Scripting.Dictionary _ ) As String
Dim intKID As Long
If (u_dictKeywords.Exists(i_strKeyword)) Then GetKID = u_dictKeywords(i_strKeyword) Else intKID = p_CreateKeyword(i_cnn, i_strKeyword)
If (intKID <> INVALID_ID_C) Then u_dictKeywords.Add i_strKeyword, intKID GetKID = intKID End If End If
End Function
Private Function p_CreateKeyword( _ ByRef i_cnn As ADODB.Connection, _ ByVal i_strKeyword As String _ ) As Long
Dim rs As ADODB.Recordset Dim strQuery As String
' Does an active Keyword exist with this name?
Set rs = New ADODB.Recordset
p_GetKeyword i_cnn, i_strKeyword, rs
If (Not rs.EOF) Then p_CreateKeyword = rs("KID") Exit Function End If
rs.Close
' Create a new record in the database
strQuery = "" & _ "SELECT * " & _ "FROM Keywords "
rs.Open strQuery, i_cnn, adOpenStatic, adLockPessimistic
If (rs.RecordCount > 0) Then rs.MoveLast End If
rs.AddNew rs("Keyword") = i_strKeyword rs.Update
p_CreateKeyword = rs("KID")
End Function
Private Sub p_GetKeyword( _ ByRef i_cnn As ADODB.Connection, _ ByVal i_strKeyword As String, _ ByVal o_rs As ADODB.Recordset _ )
Dim strQuery As String
strQuery = "" & _ "SELECT * " & _ "FROM Keywords " & _ "WHERE (Keyword = """ & i_strKeyword & """ )"
o_rs.Open strQuery, i_cnn, adOpenForwardOnly, adLockReadOnly
End Sub
|