Pinned Discussions
Forum Widgets
Recent Discussions
Join Table help
I have 3 tables in my Quickbase App, Assignments (PhoneNum is key), Member (PhoneNum_MbrID is key but has PhoneNum field), Calls (Record Id is key but has PhoneNum) Assignments is connected to Member (one to many) Assignments is connected to Calls (one to many) I have to create a table report from Calls table and pull all member table data. How can I achieve this? Please help.0likes0CommentsQuickbase Native File Attachment Question
I think this is a simple thing, but I've been struggling with it for a while, so I thought I'd ask the community. I have a direct quickbase file attachment on a form. I want to only show that in edit mode (easy), then I want a button that will download that file when in view mode. I've tried formula URL and Formula Rich Text, but I can't get the syntax right I guess, because I continually get a 400 error. Can someone tell me how to accomplish this please?0likes4CommentsAny tips for ensuring system calculations display consistently?
I have a billing application that tracks Assets, their monthly rates, and the Rental Charges. I'm finding instances when the same field doesn't display the same value. Example: Sub-Total field when viewing that field on an embedded report shows one number, but if I view the record directly, it shows another. The difference is nearly always a $0.01 difference. But this isn't the only field that this happens to. So I'm seeking any tips or general good practices I should consider when creating calculation fields to ensure the data is consistent across the application. I currently have nearly 15 different calculations that a record may need to compute, store and display. I've played around with using ROUND in some places, but that seems to cause additional problems.Solved0likes4CommentsSomething went wrong error when trying to view file attachment history
I am using Exact Forms Plus to generate invoice pdf and saving to a file attachment field in my record. When I click on the clock icon (to view the history) I get the following message. I have versions enabled and set to collect the 3 most recent versions, but am unable to actually view the history. The item I am trying to view should have at least 1 version in the history, but I'm getting the error message. Am I missing some setting somewhere to enable version history collection?0likes3CommentsQBL - Table notifications?
Hi, does anybody happen to know if table notifications are on the roadmap for future QBL releases? I haven't had any luck finding any mention of this feature being on the horizon on the QBL documentation. By contrast, pipelines and connected tables have been mentioned in QBL release notes as being planned for future versions & even occasionally popped up with support in specific historical QBL versions. Notifications are a pretty critical workflow feature for a lot of the apps that my team manages. I know that, in the meantime, we can duplicate the notifications across our DEV/TEST/PROD apps manually, but this is one of the bigger blockers to us fully using QBL and SLM for app lifecycle management. I'm concerned that it seems they may not be on the roadmap at all yet. Thank you!0likes0CommentsButton formula to force a "reset" of snapshot field.
I have a parent table - Customers - there is a field for Sales tax rate. This rate can change periodically, so in my Charges table (that looks up the Customer) I am looking up the sales tax rate from the related Customer and then placing that value in a snapshot field. Charge calculations then use the snapshot field for the tax rate that way, if the Customer rate changes, historical charges will still be correct. From time-to-time, new Charges are created before the Customer tax rate was modified, so now the new Charges are out-of-sync with the correct value. The only way I know to correct this is to edit the charge, remove the customer link, save and keep working, then reselect the customer. Is there a way to build that logic into a button that would accomplish the same thing? Essentially turning 5 clicks into 1?Solved0likes2CommentsCoping with EntraID username change
We have our windows ad users synced to quickbase via Azure AD/Entra ID and it is working fine but have run into our first snag which I haven't found anything directly addressing. We had a user change her name and we have updated it in on prem AD which synced to Azure AD. Everything appears to be working normally for a week except for quickbase. She went through the sign in process in quickbase which pushed her to the identity provider sign in, the Azure sign in window comes up and she signs in successfully with her new email address and password. But then in quickbase she has no access to anything. Looking into user management it appears that Quickbase has generated a new user with her new email address, it still says "External authentication ID: <her new email>" so I assume that it's imported through provider management as usual however it did not transfer her paid quickbase seat or any of her app access or groups. My read on this is that quickbase is using the primary email as the unique identifier instead of the azure object ID (looks like xxxxxxx-xxxx-xx...) and so it just thinks she's a totally different person. Does anyone know of a workaround or best practices article for this if it happens in the future? We can manually recreate her permissions and move her license but it's kind of a hassle, and she'll lose any history tied to her old account which is now orphaned as she can't log into it using single sign on anymore.Solved1like4CommentsCode Page for User to Search And Return Value
Hi, I have the following Code page. Basically I want the user to enter in text and search. Then the result finds their input and matches with field id 256 and return field id 29. I will replace anything with a "XXXX". When the user searches they get "Target field not found in response." instead of the value. For knowledge the user should enter in "mickey.mouse" and 256 holds that value : When i simply put this in the URL I do get a response:https://XXXXX-XXXXX.quickbase.com/db/XXXXXX?a=API_DoQuery&query={%27256%27.EX.%27mickey.mouse%27}&clist=29 Thank you so much for helping me! <!DOCTYPE html> <html> <head> <title>Quickbase Data Retriever</title> </head> <body> <label for="inputField">Enter Record ID or Search Term:</label><br> <input type="text" id="inputField"><br><br> <button id="retrieveButton">Retrieve Data</button> <div id="result"></div> <script> document.getElementById('retrieveButton').addEventListener('click', function() { const inputValue = document.getElementById('inputField').value; const appDbId = 'XXXXXXXX'; // Replace with your Quickbase App DBID const tableDbId = 'XXXXXXX'; // Replace with your Quickbase Table DBID const targetFieldId = '29'; // Replace with the FID of the field to retrieve const queryFieldId = '256'; // Replace with the FID of the field to query against (e.g., Record ID#) const userToken = 'XXXXXXXXX'; // Replace with your Quickbase User Token or use API_Authenticate for a ticket // Construct the API_DoQuery URL const apiUrl = `https://XXXXXX-XXXXXXX.quickbase.com/db/${tableDbId}?a=API_DoQuery&query={'${queryFieldId}'.EX.'${inputValue}'}&clist=${targetFieldId}&usertoken=${userToken}`; fetch(apiUrl) .then(response => response.text()) // Quickbase API returns XML .then(str => (new window.DOMParser()).parseFromString(str, "text/xml")) .then(data => { const errcode = data.querySelector('errcode').textContent; if (errcode === '0') { const fieldNode = data.querySelector(`f[id="${targetFieldId}"]`); if (fieldNode) { const fieldValue = fieldNode.textContent; document.getElementById('result').textContent = `Retrieved Value: ${fieldValue}`; } else { document.getElementById('result').textContent = 'Target field not found in response.'; } } else { const errtext = data.querySelector('errtext').textContent; document.getElementById('result').textContent = `Error: ${errtext}`; } }) .catch(error => { console.error('Error:', error); document.getElementById('result').textContent = 'An error occurred during the API call.'; }); }); </script> </body> </html>Solved0likes5Comments