It depends on the case, and perhaps I've been too broad in my sweeping statements - My apologies.
You both raise several points that have made me re-think some of the things I said.
@isladogs the example you made of RGB is a good one. You also make a valid point about report pages, or something along those lines.
The fact that I myself have not had occasion to use a Variable for RGB color code properties, as well as Reports being the one Access object I've used much less of than some people made me blind to those particular use cases, so that was my mistake, and it was also wrong of me to resist the point you were making, choosing instead to focus on the portions of your statement I found confusing.
I still found some of your response confusing, as it sounded like you were suggesting that the overflow-type dangers of using Long were equal to the overflow-type dangers of using Integer, which puzzled me that you would suggest that and led me to believe that you maybe hadn't read the sequence or detail of my posts. My point was that in a world of less certainty than we would sometimes care to admit, it can be helpful to default to a larger range rather than limit ones self to a smaller range if there is no particular benefit in doing the limiting. Or at least, that's what I should have said, but I went too far and admit it.
As far as Column vs. Field. So there are some naming things that I have found Microsoft to be annoyingly back-and-forth on. A great example is Worksheet vs. Workbook. In my opinion, the best approach is to call the whole file a Workbook (always), and to call those little tabs at the bottom Worksheets (always). There are many reasons why it is helpful to stick to that single name approach which I trust will be obvious to everyone so I won't belabor that point. And yet, Microsoft has muddled the picture, and IMO helped confuse newcomers, by doing things like displaying "Microsoft Excel
Worksheet" in File Explorer, when labelling the Type of an Excel file.
To my mind, they created a similar disservice to people's understanding and terminology by calling Access table columns "Fields".
Nonetheless, I was wrong to extend this opinion to make it sound like Microsoft has not chosen to call them Fields, or that it was wholeheartedly wrong to call them Fields, in Access context. Thanks to those who took the time to point this out.
I guess the sincere truth is that I've really enjoyed how my career has progressed to involve various database-related work, and one of the most enjoyable parts of that was when SQL Server came along in my journey. When that happened, I took great pains to identify which aspects of my "Access upbringing" were things that were best modified in some way in order to be most successful in the larger, wider, world of databases. There were many things of course, not all of them Access's fault, some of them just my own misunderstanding. Still, and you can agree or disagree with me on this, but it's been my observation over time and after having had the opportunity to interact with many database-type professionals across a healthy span of different firms, that there were many things about Access development that actually had created some poor habits, concepts, ways of thinking, and even naming, that--unless I changed, those things would continue to somewhat separate me from being better integrated in the larger database world. I'm sure it wasn't just "Access fault", I'm sure it was how I interacted with and understood Access, but I do observe that whether right or wrong, it does seem to be common that working extensively with Access at the beginning definitely puts most people on a path that requires many corrections in order to be successful at the other things I've mentioned. You can blame Access more or the person's understanding/application more, either way, it's a common denominator.
To my mind one of these habits that I was better off leaving behind was calling columns Fields. Not just because I found out I couldn't integrate into any non-Access db job while using that term for Columns, but (in my opinion) I also think there is a philosophy behind it that makes sense (which is hard to explain, as I've proved by trying to in vain several times and won't belabor now). Most practically because, I could intelligently communicate with my
whole world using 'Column', whereas if I tried to use both and said 'Field' to any of my SQL Dev colleagues, I would get laughed all the way to the Watercooler. It made more sense (to me) to land on just one - a more universally accepted one.
However, I'll admit that doing so is a personal preference, and you are right that Microsoft calls them Fields (for Access), so whether I think that is silly or not, it is certainly not wrong for a person who is working with Access and wishes to use Access-approved terminology to continue to do so.
In my enthusiasm for what I have found works best for me, I wrongly failed to acknowledge that, from a strictly "Access lingo" perspective, "Fields" is perfectly fine and correct.
@Galaxiom Yes, I do think it matters when one writes a high volume of code that there are some decisions that aren't worth making, it all adds up. I posted earlier in this thread with an example that mentioned "Decimal(19,2)", you can read that for more explanation. You can make it sound funny (because you're right, a few moments to consider Byte or Long doesn't sound like much), but I stand by my opinion that on some subjects, it also makes sense to "default" yourself to something in order to 1) avoid the time to consider over and over daily/hourly/etc, and 2) in some cases a certain default might be less risky. I think I can safely say we have all had times where we felt certain the future would only involve _____ [insert some assumption you made, which drove your decision - any decision, not just Byte vs. Long], and then found out later that assumption was wrong. Is the best solution for that to default to Long? No, not necessarily, that's just one example of one person (me and the people on UA who recommended that to me, Banana I think but it was too many years ago to remember).....but I'll bet if we could be a fly on the wall, you probably also have your 'default' choices that could be criticized as not the 'perfect' choice, but also it does no harm, and allows you to move on quickly from the decision point.
Perhaps I can understand you better by remembering you may be talking mostly about considered, robust, deployed applications, whereas you can understand me better by knowing that a lot of my projects have been ad-hoc, short-term scripts that literally had me writing the same declarations over and over, and stopping to think of Byte, Int and Long just didn't make sense for me in almost all cases.
All in all, I was too sweeping in a couple things and would like to apologize for it. I allowed my personal opinions, as well as my personal experience and ambitions, to have too much influence in the way I said things, to the extent my generalizations became way too broad and I accept all of your respective points about Fields. Thanks
@isladogs and
@Galaxiom for pointing this out.
I can admit when I've been wrong.
