Solved

2 x Access form as Public Display monitor

Posted on 2014-10-31
9
174 Views
Last Modified: 2014-11-05
I am planning a DB where I have an input form  that may be udated constantly.  I plan on using MSflexgrid for the main user interface form that will visually display the current situation like a scoreboard as well as being interactive for the user. I am planning on making a similar form  for a display information screen similar to the ones in airports, in that the format remains the same, but the content is constantly updated.  

Is this a done thing in Access or do I need to look at another solution for the wrapper like .net  Is it possible to have have 2 x different full screen forms runing off the one computer (in runtime)?
0
Comment
Question by:Johnni I
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 5

Expert Comment

by:ReneD100
Comment Utility
You can use the timer control on the form (it's on the property page) to force a refresh/requery. Not sure if Access will provide the nicest layout, but it's definitely possible with Access.
0
 
LVL 57

Accepted Solution

by:
Jim Dettman (Microsoft MVP/ EE MVE) earned 500 total points
Comment Utility
The answer is no  and yes.

Access (or any app for that matter), can't tell how many screens it's running on.  To an app, the only real difference is in its window properties of Left, Top, Right, and Bottom.  It's the station and hardware that determine  how things are displayed across two monitors.  All you need from Access is the ability to have two forms open at the same time, which of course it can do.

However the rub with Access is that everything must appear within the main window since it is a MDI interface. So there are one of two approaches:

1. Stretch the main windows so that it fills to monitors, then tile two forms side by side.

2. More simply, run two instances of Access talking to the same DB with one form each.

So that's the "yes" part.

I think though your biggest issue will be trying to control the interface and hide the main window ("Kiosk mode" style).

If you must have a clean interface, then I would consider using another tool, say something based on VB.net for the display.

Jim.
0
 
LVL 84
Comment Utility
I plan on using MSflexgrid for the main user interface form
And this further enforces Jim's suggestion of using a tool other than Access. The MSflexgrid was not designed to be used with Access, and you can run into issues with it - maybe not today, or tomorrow, but at some point MSFT may update Windows or one of the many underlying libraries on which MSFlexgrid depends, and it'll stop working. You would be much better off using something like VB.NET for this ...
0
 

Author Comment

by:Johnni I
Comment Utility
I'm liking the ideal of having multiple instances of  Access on the one machine for each screen.  As this is remote display, and if the computer powers down, then  have Access in startup file and open the program and open the forms and display ithem in the right places with a bit screen alignment code.  Possible? Also, 2 instances in Runtime, possible?

If I stick with Access as the Display screen, then it will  a breeze on the back of the user form and all connectiions to the BE.  Also if it was decided to make an interactive kiosk, then that would be easy to do also.  

Not knowing much about VB.net, would it be a straightforward learning experience form VBA to  create something similar to an Access form
0
Free Gift Card with Acronis Backup Purchase!

Backup any data in any location: local and remote systems, physical and virtual servers, private and public clouds, Macs and PCs, tablets and mobile devices, & more! For limited time only, buy any Acronis backup products and get a FREE Amazon/Best Buy gift card worth up to $200!

 
LVL 84
Comment Utility
It's certainly doable in Access, I would think - but Access was never really intended for doing things like this, so it's hard to say what challenges you might face.

VBA >> VB.NET is a fairly steep learning curve, depending on exactly how you've been using VBA. If you're more or less a drag-n-drop programmer, with a few blocks of Recordset code on the side, then you're road is quite steep and long. If you're accustomed to dealing with Class objects, have used API coding a good bit, and are generally "object-centric", then your path will be much easier.
0
 
LVL 57

Expert Comment

by:Jim Dettman (Microsoft MVP/ EE MVE)
Comment Utility
<< Possible? Also, 2 instances in Runtime, possible?>>

 All possible.   I think it really comes down to how much control you want over the display form.   If you don't want anyone to know it's Access, then your going to have a tough time with it.   For example, just trying to get the main form hidden, which must be done with API calls and can easily lead to a "frozen" app (with the main window hidden, if you don't correctly handle an error, your in trouble because with the main window hidden, the resulting error dialog is hidden as well, so there is no option other then to end task it).

And ditto what Scott said on the Flexgrid.  I know many have used it with Access, but if you use any non-native control with Access not designed specifically for Access, your asking for trouble.   That's not to say it won't work (depends on what you do with the control), but you might have problems.

Access does not fully support the iDispatch interface used in ActiveX/COM, and quite often controls won't work or yield odd results.

Jim.
0
 

Author Comment

by:Johnni I
Comment Utility
THere is anoher program called VSflexgrid which is proprietry product from Component One that is similar to MSflexgrid.  That also is Active X, but there is a cost and includes a year of support.   I have the trial version which I am yet to trial, but it is supposed to play with Access.
that was 5 years

So far, I like everything I have read and seen of MSFlexgrid.  There are quite a few resources for learning online also. My first experiment was to insert my xtab query into a flexgrid that I converted from a demo without any issues. I haven't really read too many bad stories.  As far as the MSFT you mention, i've only found I source, that was 5 years ago and version 5.  I have version 6 if that makes a difference.

I think you are right about the displays would be better with a dedicated display in something other than Access forms.  What does VB.net have  that I can use as a time line and is like a cross between a project management tool and a booking system with bars for timespan when something is booked?
0
 
LVL 84
Comment Utility
I've used VSFlexGrid in Access, and it works ... okay. It's difficult to work with from a design standpoint, and was quite slow.

What does VB.net have  that I can use as a time line and is like a cross between a project management tool and a booking system with bars for timespan when something is booked?
.NET includes quite a few controls, one of which is the DataGrid/DataGridView, but it has nothing that would be usable for those purposes out of the box. There are no "templates" like you might find in Access, but there are quite a few sample projects online. The professional developer base for .NET is much larger than for Access, it seems, so there's generally a lot of "pet" stuff out there, and many .NET devs have create user controls that can do some very cool things.

There are also a LOT of component suites that can do some really neat things (but most of them are quite pricey). I use DevExpress quite a bit, and really like their controls.

As far as the MSFT you mention
MSFT = Microsoft. My point was that MSFlexGrid is not guaranteed to work with Access, and updates from MSFT could very well render the control useless. Also, "support" for non-native controls in newer versions of Access is dicey, at best, so you're taking a risk if you decide to go outside the box.
0
 

Author Closing Comment

by:Johnni I
Comment Utility
The solution from Jim answers the question I asked and even offers options to achieve this.

Now, I have spent the past few days researching what Scott and Jim have suggested in regards to a vb.net solution for the dispaly screens.  The initial project was for 1 main user and 2 other users just for updating occaisionally and of course the display screens.  

Access would be perfect, me thinks, and I could build something quickly with a few examples I found that  would assist me in the development and coding of what I am after.

I realise I do need to learn vb.net to achieve the best results. In my quest to find free code samples only unearthed a few results and that code is in Spanish.  Most of the results I found all point to various development tools that would allow me to achieve the results I am after- at a cost. I think you get what you pay for though, as some of the example visuals of the timeline schedulers look stunning.

It has been quite difficult for me as my whole project has to be re-assesed as active X is not recommended for use in Access and after researching, .net would be a very good current language to learn.   I have VS Express 2012 and it does have Datagridview.  I don't know if I can achieve what I am after in the express edition with its limitations. I don't know if I  could add a third party development tool also and still not have to buy the professional version of VS at this early stage of development.

 Thank you all for your input and will keep assessing all that I have learnt in this thread that has lead me to a far wider horizon.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

This article is a continuation or rather an extension from Cascading Combos (http://www.experts-exchange.com/A_5949.html) and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now