I have bumped into VBA Intellisense seemingly getting confused as to which class is which.
1) For In-Memory collection classes, I CamelCase my attributes.
2) For DB table classes, however, I create alllowercase attributes to match up with the DB columns.
Somehow Intellisense realizes similarities between the DB class and the In-Memory Collection Class such that it insists to cross pollinate case sensitivity where attribute names happen to be the "same" in caseless terms.
"But the code is talking to separate classes, instances of objects of different classes!!!" :banghead:
Any idea why VBA Intellisense would insist on MatchingCase across different classes and the code which touches / interfaces said classes? It is leading to funky looking case in the code, examples:
Forced all lower case due to the DB table class... but this is in the In-Memory collection class area of the code. Which is defined here in another module:
So if I force the Collection attribute back to CamelCase... (fixed version of the Collection Class Item class)
This mysteriously changes the DB class to also be CamelCase!
rrrrrr????? What's going on? I have never seen VBA Intellisense cross pollinate between distinct classes before.
1) For In-Memory collection classes, I CamelCase my attributes.
2) For DB table classes, however, I create alllowercase attributes to match up with the DB columns.
Somehow Intellisense realizes similarities between the DB class and the In-Memory Collection Class such that it insists to cross pollinate case sensitivity where attribute names happen to be the "same" in caseless terms.
"But the code is talking to separate classes, instances of objects of different classes!!!" :banghead:
Any idea why VBA Intellisense would insist on MatchingCase across different classes and the code which touches / interfaces said classes? It is leading to funky looking case in the code, examples:
Code:
With newItem
[B][COLOR=Blue].fasrule[/COLOR][/B] = strFASRule
.FASMessageXSD = strXSD
strKey = [B][COLOR=Blue].fasrule[/COLOR][/B]
End With
Code:
'Attributes for fasmessages table
Public id As Variant
Public authid As Integer
Public authusername As String
Public logtimestamp As String
Public [B][COLOR=Blue]fasrule[/COLOR][/B] As String
Public fasstatus As String
Public fasmessage As String
Code:
'FASRule API's
Public Property Get [B][COLOR=Blue]FASRule[/COLOR][/B]() As String
On Error GoTo Err_FASRule
[B][COLOR=Blue]FASRule [/COLOR][/B]= strFASRule
Exit_FASRule:
Exit Property
Err_FASRule:
Call errorhandler_MsgBox("Class: " & TypeName(Me) & ", Property: Get FASRule()")
FASRule = vbNullString
Resume Exit_FASRule
End Property
Public Property Let [B][COLOR=Blue]FASRule[/COLOR][/B](ByVal newFASRule As String)
On Error GoTo Err_FASRule
strFASRule = newFASRule
Exit_FASRule:
Exit Property
Err_FASRule:
Call errorhandler_MsgBox("Class: " & TypeName(Me) & ", Property: Let FASRule()")
Resume Exit_FASRule
End Property
Code:
'Attributes for fasmessages table
Public id As Variant
Public authid As Integer
Public authusername As String
Public logtimestamp As String
Public [B][COLOR=Blue]FASRule[/COLOR][/B] As String
Public fasstatus As String
Public fasmessage As String
Last edited: