Есть ли причина использовать ENUM в VBA? - PullRequest
1 голос
/ 24 апреля 2009

Я пытался использовать ENUMS в своем коде для Access 2007. Но это очень неудобно. Может быть, лучше использовать коллекции?

Мой код не работает, я подумал, что это будет полезно.

Public Function 

    GetEnumId(Name As String, ReferenceTable As String) As Long
        Dim rs As DAO.RecordSet

        Set rs = CurrentDb.OpenRecordset("Select * From " & ReferenceTable & _
                    " Where Name= '" & Name & "'")
        GetEnumId = rs("ID")

        rs.Close

    End Function

    ' Doesn't work because of wrong type params
    Public Function GetEnumName(ID As Long, ReferenceTable As String) As String
        Dim rs As DAO.RecordSet

        Set rs = CurrentDb.OpenRecordset("Select * From " & ReferenceTable & _
                    " Where ID= '" & ID & "'")
        GetEnumName = rs("Name")

        rs.Close

    End Function

1 Ответ

1 голос
/ 24 апреля 2009

Не является ли номер идентификатором? Тогда не заключайте его в кавычки:

Set rs = CurrentDb.OpenRecordset("Select * From " & ReferenceTable & _
            " Where ID= " & ID )
...