I have an Access app I wrote, to handle the data work a team needs to do, rather than working on a giant excel spreadsheet. The one annoying constraint is people are sharing this db over a wifi connection.
I have the db split, so users get a copy of the front end in runtime, when they run a bat file shortcut. The backend is on a hard drive, connected to a laptop, which is directly connected to the wifi router.
In this app, I have a form with a combo and some buttons to perform functions on dynamic queries, so the user can filter the records. Everything is in 1 table, and the table has about 75,000 records. When the users go to the form, on load, a sql string is constructed, to set the base recordsource for the form.
When a user clicks any column in the datasheet view subform object, the whole form freezes and you can see in the bottom right Access says "running query". The users like to click the drop down arrow by the column to filter based on values, and that usually isn't too bad, but clicking on the column seems to trigger a query to run and I don't know why. Can anyone help?
I just want to up the performance on this application as much as possible. These forms allow the users to filter to a set, select the rows they want, click a button, and a column gets tagged (assigning those records to someone). Then a button shows, they click it, and those results are exported to an excel formatted template. They send that to the person assigned the records. Later that comes back to us, and I have a button for our users to import that sheet and process what the assigned person entered on their records.
Thanks for any help anyone can give!
Related
I am developing a Power App using the Teams version. We have two tables in Dataverse acting as the main data sources. There is an inheritance relationship between these two tables, where one holds parent objects and the other child. I have an overview screen which displays a single record and it is important that a user can select both parent and child records from a single combobox and have the data associated to the selected record displayed.
In order to achieve this I have a collection which holds the ID and Parent/Child type of each record to form a full list of records from both tables. Collection is built as follows:
ClearCollect(Collection_RecordSelect,AddColumns(ShowColumns(record_parents,"recordID","recordID_numeric"),"type","parent")); Collect(Collection_RecordSelect, AddColumns(ShowColumns(record_children,"recordID","recordID_numeric"),"type","child"));
When a user selects a record from the combobox, the ID value from the collection is looked up against the respective data source to get the rest of the data for the record.
The issue I have now is, when a user makes a change to a record in another screen, the app returns to this overview screen to show the record they have just changed. To achieve this I used the DefaultSelectedItems property of the combobox which looks at a selectedRecord variable containing the record ID as a string, set after a user changes the record in another screen. As the combobox requires a record, the combobox uses the selectedRecord variable to Lookup into the collection I referenced earlier to get the full record, unless it's blank in which case it default to the first record. Shown below:
If(IsBlank(selectedRecordID),First(Collection_RecordSelect),Lookup(Collection_RecordSelect, recordID = selectedRecordID))
This results in the combobox displaying two instances of the selected record and showing the old version of the record before the user made changes on the overview screen. If you select another record, the duplicate disappears. If you select the other duplicate record in the combobox, the user's changes are then shown on the overview screen.
Screenshot of duplicate record in combobox.
I have tried creating a single collection, containing all records from both tables, however as they are slightly different due to the inheritance field in the child table they don't merge properly and data is missed. Unfortunately, I need the inheritance field on the overview screen so I can't use ShowColumns and remove it.
I have recently re-built the app in Teams as opposed to standard Power Apps. This solution worked fine in the standard Power Apps environment, so I have a suspicion it may be a bug with the Power Apps for Teams combobox? Unless I am making a mistake, I think this is probably true as I've just tested and the "Classic Control" combobox doesn't have the same behavior, shame because it looks rubbish compared to the Teams one!
I have turned off multi-select on the combobox and search and the problem still exists.
Any help would be hugely appreciated!
I have a form in MS Access 2013 that is associated with two tables. The form populates with various fields from each table. I also have several buttons to Add a Record, Find a Record (from one of the tables), Save, and Close Form. I want to add a button that allows me to find a record from the other table. I was successfull creating the button, but the button is looking at the wrong table. I want the button to look at the other table but I can't find a way to switch the table the button is looking at. I don't understand Macros very well but this appears to be a very easy problem. How can I make the button look at the right table?
I have a web application that inserts/updates/deletes records from a database. Each time a transaction is made to a table, the change is recorded with the type of modification and the previous values from a trigger. What is a good web user interface layout to view such transactions to the users? Currently we just dump the whole history table to the user in a html table row and column format. I'm looking for some interface hints to present these edit history better.
Thanks for your input.
You can use a grid representation of the database table, plain html or produced by a js framework, plenty of options out there.
For the newly inserted records with no updates, just show the record with the insertion datetime.
For records that have been updated you can add a link/button at the end of the row with a title like "history" or "previous versions" or somethink like that and when a user clicks on it, then you can open a subgrid under this record or a pop up with a new grid (depends how you will implement your grid on the first place) which will show this record's history only.
The deleted records, you can add them (at the bottom of the table maybe) but grayed out or striked out. Again you can add the history option if you want it even for deleted records.
EDIT:
You could also add some filtering functionality above your grid for the user to select/see only the inserted/updated/deleted records and of course sorting functionality on the grid columns
hey all..
i want the user to enter a set of data such as "name" and "age" and correspondingly send it to the person bean. But the user can choose to enter any number of person's data at 1 go.
What control at GUI would be suitable for achieving this (keeping in mind i am developing the application in stuts2).
Thanks;!
There isn't going to be anything definitive. Just hand roll the solution with your favorite JS library. Adding struts2-json-plugin will probably help.
I had created something very much like what you are looking for... It was a two column table where you typed in a user name into one field, hit tab, then typed in the second field. There was one button at the end of the table, so hitting tab once more and enter added the current fields to the DB and added a new row to the table and positioned the input into the first field. It allowed for smooth data entry.
I have a joomla site where users can log in. Once logged in, a user can display a list screen -- say, a contact list with a name column and a phone number column. I call it a list screen, but I guess it could be called a list view, grid view, etc.
I'd like to make one of the columns (say, the phone number column) editable in place; meaning, I don't want to force the user to open a contact editing form. Thus, in the phone number column, a text box should be displayed on each line. The textbox contains the existing data for that row. The user can change the phone number in the text box directly in the list screen, and then press some 'save' icon on that row to save only that row (and only if it has changed). It'd be nice if the saving was done with an AJAX request, but it'd be ok to submit a form for now.
Based on the 'list screen' in the book "Learning Joomla Extension Development", I can currently display the correct list of items for the user. Does any one have example/tutorial of how to do the saving of each row individually? It seems like all list screens that I see have a link which must be clicked to open an edit form, as opposed to allowing editing in place.
Thanks
You have to write a component first. Which will basically do the saving part of the individual row. So basically your component URL takes parameter as row_id phone number etc and have a update query updating the database.
Second is you need to write a javascript function which is called on click of every save button. The javascript function reads row details by reading from the DOM. and then fire an ajax request to the above mentioned component. the URL to the above mentioned component should have format=raw.
The result from the component update queries can be returned as true or false. And accordingly read by javascript ajax response. based on which A flag could be shown saying row updated. I can help you with code further if you describe it in more details