Is there any way I can use multiple monitors with ACCESS.

There is no real beginning to the code that you write in VBA because MSACCESS.EXE is the mainline code, and you don't write that. In fact, you don't actually write any code (by some definitions). You write pseudo-code because VBA isn't executed. It is emulated. VBA is not a fully compiled language.

You are writing subroutines or functions for everything - such as events - and Access checks for places where you can declare entry points for specific events. It does at least some of what it does, then calls your code, then finishes what it does for each given event. The event properties for forms and reports are what are commonly called "hooks" in other languages - places where you can hook your code to what Access does. I won't swear as to what a Macro really is, internally, but you don't compile that either.
 
The "missing" mainline disturbed me in the beginning also. What you have to get your head around is that THERE IS A MAINLINE. You just don't see it. The mainline is the hidden part of the Class module for the form which is standard and does all the standard stuff that is needed with every form to fill the controls and set the colors and and lock/unlock or hide/show controls and save the record and move to the next record, etc, etc, etc. The mainline code has "hooks" in it. These are places which link to events and if some event happens, the "mainline" code will execute any "user" code you have added for the event. Take a look at the names of the events. They deal with user interactions that cause the form to need to do something. So, essentially, the event code you write is a bunch of subroutines called by the hidden mainline:)

And you are absolutely correct. If you understand how Access works well enough to take advantage of what Access does for you, you can "vomit" front end applications. VBA is a fairly easy language because it is pretty high level and actually similar in a lot of respects to COBOL. When I was writing COBOL, I had a couple dozen or so templates. So, I never started from ground zero. I could pick the template and flesh out the details. Access is a little like that. Keep in mind though that you have to know your place. There are things that YOU have to do and there are things, that you have to allow Access to do. For example, Access doesn't know anything about your business rules. So, validation is mostly your responsibility. Defining certain properties at the table level helps with basic things like whether or not a field is required, but you need to fill in the details and the Validation rules at the table level are way too limited to be much use. So, whenever you are tempted to write code because you can, stand back and ask yourself, did the super designers who created Access in the beginning think about this and did they give me an easy way to do it with property settings or a function? If not, then try a query. Your final option is code. As I tell everyone, I've written my million lines of code and I don't need the practice so I never automatically write code that Access has written for me. One simple example is record navigation. Everyone seems to love to create their own navigation controls. Ok, once you've created the code and the button images you like you can make a template to reuse but Access has built in navigation controls that do everything you could possibly want. The question is does the look of the navigation bar offend you? More importantly, does it offend your user? If he is OK with it, don't spend his money to create your own version of something Access does for free.


Every single day. I always included the BAL in the compiler print out so if I had to debug the program, I could use the memory dump and follow the logic to see what variables contained what values when the abend happened. I actually found a bug in the COBOL compiler that I got to report to IBM and was thanked profusely for the report:) I don't remember the details, it was 45 years ago, but it had to do with tables and indexes and initial values in a rare case. The generated BAL was wrong! Luckily, I was able to create a work around once I saw it. There was no way I could wait for a compiler fix. One of the hardest things about Access for me in the beginning was not being able to see the "dump" when the program crashed unexpectedly.

As part of my COBOL training program, the BAL class was a required prerequisite for the advanced COBOL class because you couldn't really be a great COBOL programmer unless you understood what was happening under the covers. You had to understand the BAL that got generated and how you could affect it by modifying your COBOL to generate more efficient BAL. It was because of that early training that I can really appreciate what Access is doing for me. Once in a while, I wish Access did things differently but I have learned over the years (and have the scars to prove it) that I can't win in a fight with Access and so I should just get with the program and do it the "Access way":) Notice I never mentioned macros as an option. Some expert programmer new to Access thought I meant macros when I was trying to explain the "Access way". But to me, the logic required in macros to do anything except open a report, is so bizarre that I think it is much harder than learning VBA.

Like in my COBOL days, I have procedures that I add to many applications and even a little mini-app to manage lookup tables that goes into most new applications. like this one:

This app started over 40 years ago as COBOL with DB2 and with some refinements over the years, is now Access forms with a BE that depends on the database. Just upload to SQL Server if that is your BE of choice.
Sound like we are both from close to the same period in history. I knew an assembler programmer, that showed up his first day at the company I was with, and with him were 2 2400 foot reels of tape that contained all the stuff like your templates that he had created. When writing something new he spent most of his time assembling his modules and customizing then to fit the current need. I thought at the time that he was creating his own language. Read your note several times and it is informative, and I appreciate the time you spent writing it. So in response to your tag, your note was a 7 No Trump laydown.
 
Last edited:
I bid a heart grand yesterday. It was on a finesse. We had a RKC auction and I had 5 key cards and forgot how to show them so I bid 5D thinking it was maybe 0-3-5 and when partner signed off in 5 h. I just bid 7. Who ever has all 5 key cards when partner bids RKC???? It was a good thing I didn't make the correct response which would have been 5H showing 2 or 5 without the Q, partner would have passed and we wouldn't even have gotten to 6. How could a hand that bid RKC not have both missing kings but she didn't:) so I took a club finesse to make it. In a 2 club auction where I bid 2 h over the waiting 2d, she bid 4NT holding Q, Qxxx, QJ10, Kxxxxx. It's a lot of points but only 1 control. I got lucky. She didn't have the 10 of clubs or I would have had to make a decision on which way to finesse without being able to get a count of the black suits and you know how that goes. My hand was Ax, AKJ10x, AKx, AJx

In the most important event I have ever played, the finals of the WBF (World Bridge Federation) mixed pairs in Montreal, this was the 6th and final session and the field was down to famous players and me. I got carried away in an auction and gave my partner no option but to bid 7NT. Dummy came down and the hands were mirrors. 3-4-3-3 so no extra tricks there and I was missing three queens. We were playing behind screens and it was a good thing. I took the first finesse and there was a wiggle from my partner's side of the screen. Then I took the second finesse and the table shook. When I took the third finesse, his coffee cup hit the floor. I claimed the rest of the tricks and then went around the screen to hug him and reassure him my mind was back and he should forget this hand ever existed. Then I apologized to the opponents. They were so shook by the unearned zero, they earned a bad result themselves on the second board trying to make it up. We ended up a hair out of the money in a field of over 1200 tables. I think we were ~ 50th. Towards the end of the event, my partner and I were playing NS and Zia came to the table with at least 8 kibitzers. All of whom were standing because there was no room for one chair let alone 8 and not one of them was rooting for me. So, I called the director and got them all banished. Zia was pissed that a nobody sent away his fans and it clouded his judgment because he didn't have an audience to play to so my partner and I won that round also. We also played Bill Gates in that event but it was early on. He got knocked out after the second round. It was a cruel event. Everyone played the first two rounds and then half the field got knocked out after each succeeding round.
 
I bid a heart grand yesterday. It was on a finesse. We had a RKC auction and I had 5 key cards and forgot how to show them so I bid 5D thinking it was maybe 0-3-5 and when partner signed off in 5 h. I just bid 7. Who ever has all 5 key cards when partner bids RKC???? It was a good thing I didn't make the correct response which would have been 5H showing 2 or 5 without the Q, partner would have passed and we wouldn't even have gotten to 6. How could a hand that bid RKC not have both missing kings but she didn't:) so I took a club finesse to make it. In a 2 club auction where I bid 2 h over the waiting 2d, she bid 4NT holding Q, Qxxx, QJ10, Kxxxxx. It's a lot of points but only 1 control. I got lucky. She didn't have the 10 of clubs or I would have had to make a decision on which way to finesse without being able to get a count of the black suits and you know how that goes. My hand was Ax, AKJ10x, AKx, AJx

In the most important event I have ever played, the finals of the WBF (World Bridge Federation) mixed pairs in Montreal, this was the 6th and final session and the field was down to famous players and me. I got carried away in an auction and gave my partner no option but to bid 7NT. Dummy came down and the hands were mirrors. 3-4-3-3 so no extra tricks there and I was missing three queens. We were playing behind screens and it was a good thing. I took the first finesse and there was a wiggle from my partner's side of the screen. Then I took the second finesse and the table shook. When I took the third finesse, his coffee cup hit the floor. I claimed the rest of the tricks and then went around the screen to hug him and reassure him my mind was back and he should forget this hand ever existed. Then I apologized to the opponents. They were so shook by the unearned zero, they earned a bad result themselves on the second board trying to make it up. We ended up a hair out of the money in a field of over 1200 tables. I think we were ~ 50th. Towards the end of the event, my partner and I were playing NS and Zia came to the table with at least 8 kibitzers. All of whom were standing because there was no room for one chair let alone 8 and not one of them was rooting for me. So, I called the director and got them all banished. Zia was pissed that a nobody sent away his fans and it clouded his judgment because he didn't have an audience to play to so my partner and I won that round also. We also played Bill Gates in that event but it was early on. He got knocked out after the second round. It was a cruel event. Everyone played the first two rounds and then half the field got knocked out after each succeeding round.
I am not in your class, I used to play at work during lunch break.
 
I did too in the early days but once you start to play duplicate, it is hard to play rubber bridge because the objectives are different. I once went with a friend to the money game at the Cavendish club in NYC. It was the most terrifying game I ever played and i was playing in the penny a point game. All the players knew each other and knew who were the over bidders and who led singletons with their left hands, etc. I think we rotated partners after each rubber so I got to play with all of them. Luckily since I was the unknown, they were pretty straight as my partner but for one hand, we had a partscore. I made what I thought was a forcing bid and my partner passed:) We had a slam but the partscore would end the rubber so he passed. I ended up winning $74. Then on a trip to Australia, I ended up in a money game instead of the duplicate and I was playing ACOL (I normally play precision or 2/1 GF) which they explained to me as I joined the group. Same thing. They were on their best behavior as my partner and I ended up winning a couple of bucks. Never again though:) Sometimes I still play at home with friends but we use Chicago scoring so the objectives still stay the same as with duplicate. Nobody passes a forcing bid:)

Chicago scoring if you don't know what it is, assigns vulnerability by hand (neither - dealer - dealer - both). There are no rubbers so no one passes a forcing bid:) You might try it. It improves your bidding so you get to the optimum contract.
 

Users who are viewing this thread

Back
Top Bottom