Periodically, my database gets slow and I have to create a new database and import all my forms, etc. into the new database. For some reason, all my form control settings (Access Theme, etc.) gets lost and I have to manually go through every control on every form to reset it to the way I like it.
My question is:
Is there a way to keep all my form control properties and settings when I import them into the new database?
If not, how would I use VBA to do this for me automatically... looping through all the controls on all my forms to set all the properties to the way I like it? And, even more specific, I have a Sample Form with one of each control with all the properties set the way I want. So, how could I open this Sample Form and read each control's properties to copy to all the same controls on all my forms?
Performing a "Compact & Repair Database" action under the file tab will speed up your slow database. So you will not have to export and create a new instance of the database.
Microsoft does a good job of explaining
hope this helps
I Compact and Repair all the time.
I found the answer to my question: When I create a new database and import the forms from my old, slow, database, Access asks if I want to import the Themes along with the forms and, when I check this box, it copies all the forms' formatting, colors, etc. I think you have to click the Advanced button (or something like that) to see this option when you're in the Forms tab.
Related
I have a web2py application and want to create a form where I am able to make a drop down menu, which has several options to choose, which dont come from a database. 1st Is this even possible with web2py and if yes, how would I do that and read out it's value?
I'm trying to create subpanel in Account detail view where list of elements is fetched from external REST service.
I know how to define subpanel, but have no idea how to fill it with data from external network source. Was trying to use get_subpanel_data but there I can only change SQL.
Any ideas how can I do this?
When I've done this in the the past, at least with Sugar 6, I opted distinctly not to try to create a true subpanel. The data being loaded is coming from an outside source and is loaded dynamically with the page, so why present it as if it's static data coming from Sugar? Instead, I created a custom Smarty template to use as the footer on the detail page. For such an example, you can check how it works on the Calls Edit View. I think it's the footerTpl parameter in the detailviewdefs.php or editviewdefs.php. I loaded the smarty template by creating a custom detail view for my module, so custom/modules/MyModule/views/view.detail.php - extend the base Detail View class and override the display to feed Smarty new params, then your Smarty template only needs to iterate through and present the data that your view defined.
To be super-hip and abide by MVC, you could even put your custom code into your bean (if it's a custom module) or into a custom controller method, then reference that from the view.detail.php, and still feed it from there to the Smarty template.
Alternatively, you could just load JavaScript into the Smarty template and use the JavaScript to call the third-party service, parse and present it, etc.
I realize this question is a little bit old now however it comes up fairly often so why not provide an answer with a couple possible solutions. I won't get into code but more just into the design theory of how it can work. If someone needs more specific code help then that is another question.
A couple ideas...
As you mentioned you can define a custom Function which will load in Data to the SubPanel from your own SQL Query. That is one method that I just recently got to finally put to use after knowing about it for a good year and a half.
When you go this route, you are restrained to using the Columns in the SubPanel. I assume it is using the actual Metadata files to determine which Field Columns a SubPanel can use so you pretty much need your custom data in a Database table to have the same column names as the fields defined in the SubPanel Metadata.
Obviously this works great in the right situation, however not always and that leads us into the 2nd method I know of.
The other way is pretty much what #Mattew-Poer mentioned in his answer. It means abandoning the SubPanel altogether and instead generating your own HTML. This is by far my favorite and prefered way of doing it and I have been some really custom modules due to this being possible in a custom module! I will show an example below.
(Click HERE to View full size image)
In the screenshot, you can see in this example that I have something looking Similar to a SubPanel however it is not and is much for flexible and easy to customize.
Example, to the far left column in my fake subpanel is image checkboxes. When clicked on, an AJAX request is made to change the Task row Status.
After that, the checkbox image is updated to indicate the new Status state, the Modified DateTime is updated, the Status column has color background SPANS and is also updated with the correct text and background color when the left side checkbox is clicked.
Doing any of this with the standard SubPanels is a complete nightmare and would be difficult to do some of the stuff that you are open to do when you build your own version of a SubPanel.
With that said, I have built an identical clone of the above screenshot using SugarCRM default SubPanels! It was a nightmare. I could easily update the content and HTML in some of the columns. I even had the AJAX click checkbox image to update and do all the other updates I mentioned above. It wasn't too hard and worked fairly good but it had some issues.
When you do inline edit, inline create record, or subpanel paging to load different set of record. You would then lose all the custom HTML formatting that was applied. The reason is, in the SubPanel you are limited to using the After UI load logic hook. So since the "Page" is loaded already, when an AJAX request is made to add/edit the subpanel content or load a new set of items with the paging links. It only loads the SubPanel content on those events and the whole Page content does not reload. Because the logic hook only fires off 1 time after the page loads, this newly loaded subpanel data doe not receive any of your custom HTML formatting.
In my case, this means that nice looking colored background Status spans are lost, the image checkboxes are lost, and some other functionality is lost.
Now to get super technical, I could have gone another 3rd route and instead made new Custom Field Types for each SubPanel filed that I needed to apply custom HTML to. This process is super hard in my experience and in some cases it really isn't the BEST solution.
Because of the reason explained, this is why my new modules use the Custom HTML route to generate my own version of a custom subpanel or whatever Data is needed in my Module pages! So far it is working better than I imagined and has opened doors for me to build custom SugarCRM modules that I previously didn't even realize would be possible to build due to some of the issues I mentioned above. Now I bypass them altogether and open the door to do pretty much anything!
I've got some really cool stuff for SugarCRM in the works right now. If anyone has any questions feel free to ask in a new question or for me personally in a comment here.
we have a possible customer, who would like to have a custom ribbon in ONE template, which makes it for him easier to design the text etc.
This stuff should work on Office 2007, 2010 and 2013.
Since this will go to thousands of people, the easiest solution for this would be, to implement Macros, which do the Design-Stuff.
It seems to be no problem (I tested only with 2013) to create a custom ribbon and connect it to macros, it seems even to be possible to define custom Icons.
The real problem causess the Ribbon itself. Since, if I activate my custom ribbon, it's activated for all documents, I have to anyhow create a macro, which makes it visible JUST for one template.
Is this even possible, or is there a possibility to define a Ribbon per dotm? I didnt find anything about that, but what I found makes me nervous about the 2007, 2010, 2013 thing...
Or is it easier to create an Addin, which is kindahow compatible with alle 3 Versions?
Use Visual Studio and start a Word Template project. You can use VB if macros are to your liking or C#.
Your future documents will have to have the template attached for the ribbon to show up, which in my experience has proven to be a pain.
Alternatively you can create an addon that handles document-open events and checks if the document looks like what you expect it to look like. Heuristics can be very tricky if you don't have very specific indicators (such as an attached template, schema or content tags)
Another suggestion, which would most likely be acceptable to users, is to write an addon that shows and hides its main ribbon tab but has a ribbon button to "activate" the document and when you click that button (on another tab) it attaches your template or assigns some other persistent indicator to the document. This addon would also check each document when opened for that indicator and automatically show the actual ribbon tab when the document is recognized.
I'm coming accross a problem and i have searched the entire World Wide Web:
I have a Navigation form which has forms in it.
Those forms are used to give properties to my queries.
For example:
FormStatus-->Ask user to select the status and shoot the value to the query.
These queries build reports.
The main problem is that now that my form is in a navigation form, the link for the property is no longer working.
The link used to be : Forms!myForm!myProperty
Now i tried
Forms!navigationForm!myForm!myProperty
Me!myForm!myProperty
Forms!ParentForm!SubForm.Form!FieldName
Nothing works out!! Can anybody help me?
As a general approach to filtering forms or reports, as you can see placing forms! references inside of forms becomes a rather messy business real fast here.
You are best to remove the forms! references from ALL your queries. You then build a form that the user enter the values into, and then execute a browseto command.
The problem you are experiencing here is that the new navigation form swaps out a given form for a new form. This means that the old form is NOT loaded anymore. So, either you
Plan A
Dump use of forms! commands in your SQL queries. This is a good idea anyway since then one query will not blow up because some silly form is not open. And more important the query can be used in other places in the application without fear of some form not being opened.
The instant you place a forms! reference inside of a query is the instant you ruin that query and force "marry" that query to one form that must be opened.
Plan b:
Dump the use of the new navigation control system. Just remember, the new navigation system does NOT load the next form, but "replaces" the one that is being displayed. Thus the previous form is not going to be loaded anymore and thus no forms! ref is allowed. Worse, since the navigation form is really using sub-forms, then the forms! references have to be changed.
You can certainly grab the values of controls and build a where clause in code and use that for openform or open report commands here.
Last but not least, if you in for lots of continued torture, you can stick with your poor design you have now and simply re-edit and fix all of the forms! references to reflect that they are now being used inside of a parent form, and all of your forms are now in effect being run as sub forms.
Try using a dot instead of ! before the property Forms!navigationForm!myForm.myProperty
my company's software product has a feature that allows users to generate forms from Word templates. The program auto fills some fields from the SQL database and the user can fill in other data that they desire. So we have a .dotx template that holds the design of the form, and then the user gets the .docx file to fill out when they call it from our program.
The problem we're having is that some of our users have been finding that the forms take an exceptionally long time to open up and then, once open, are so slow to respond (scroll around, etc) that they're unusable. So in my investigations so far, I've found out that the problem systems are one with lower powered CPUs (unfortunately it happens for systems above our system requirements) and the Word forms that cause the problems are ones with large amount of ActiveX style checkboxes on them. I verified that reducing the ActiveX checkboxes fixes the form loading problems.
So I have the following questions about solutions (we're using Word 2007):
1) Is there any way to configure Word, or some other settings, so that there won't be such a strain opening a Word form with lots of ActiveX checkboxes? Any way of speeding up Word's opening?
2) Using Legacy style checkboxes instead of the ActiveX ones makes the forms load fine, but it looks like the user has to double-click the checkbox and change Default Value->Checked. Is there a way to configure it so that they can simply click on the checkbox to tick it? "Legacy Forms" checkbox as a name kind of worries me (Legacy…), does that mean a future version of word at some point wouldn't load the checkboxes because they're "legacy"?
3) Yes, it became clear to me after a little bit of research into solutions that Word is not the tool for the job for forms like I'm describing. InfoPath seems to be exactly what we should have been using all along but unfortunately I wasn't involved in the decision making or development of these forms, just tasked with coming up with a solution.
I'd appreciate answers to any of these, or if anyone has any other ideas for solutions to this problem.
Thanks
I'm about 3 years too late, but if you want a legacy checkbox to act like a checkbox, you have to restrict editing on the document or section. (You can lock just a section, if you want.) Locking--on Word 2010 it's called "Restrict editing"--is an option under either the Developer tab or the Review tab.
If you restrict editing in this way, the user cannot edit the text but can fill in the form field, so if the form field is a checkbox, the user can click the checkbox on or off; if the form field is a text box, the user can fill the text box.
If you choose to lock off just a section, you'll probably want to use continuous section breaks (Page Layout > Breaks > Continuous) and specify which section. (In the space where you choose form editing as your kind of restriction, there's a small link that lets you specify which section or sections are locked.)