Jump to content


Caspio Guru
  • Posts

  • Joined

  • Last visited

  • Days Won


CoopperBackpack last won the day on June 16

CoopperBackpack had the most liked content!


Recent Profile Visitors

551 profile views
  1. Hello @wimtracking2, I am afraid that I didn`t get the idea. So, on the initial load you want the records to be displayed that have values "Bozeman", "Belgrade", "Livingston" for the City, and there is another Search field that also should have preselected values. Could you provide more details, please?
  2. Hello @Benades, I agree that it is easier to prevent submission of the duplicated values than to delete them. Since this post is about deleting or avoiding duplicates, I would like to share the solution that I used in my account to delete duplicated records. Maybe it can be helpful for someone. The main point here is to determine what is a duplicate. Lets` say this is the initial table: 1) For example, we need to remove all record with the duplicated names. I used a Task with the following design: The table after the Task run: 2) For example, we need to remove all record with the duplicated names and emails. In this case, the Task is the following: The table after the Task run: So, the idea is to have a some unique field in the table (in my example it is the ID field). Then in the GROUP BY Statement we need to specify all fields where you want to check the duplicates. If the ID field is an Autonumber then using the MAX function we leave the record with the maximum ID value. It is also possible to use the MIN function to leave the record with the minimum ID value.
  3. Hello @Peterson, Please try the following: 1) Add the span or div element with the ID to the DataPage Header. For example: <span id='edit_link'></span> 2) Add this code to the DataPage Footer <script> document.addEventListener('DataPageReady', function(event){ const linkElement = document.getElementById('edit_link'); //save the element form the Header to the variable if("[@authfield:Editor^]" === "Yes"){ linkElement.innerHTML = '<a href="https://domain.com/edit_page?id=[@id]">EDIT</a>'; //change the innerHTML property for the element } else{ linkElement.innerHTML = '<span>Only authorized employees are allowed to edit their company information.</span>'; } }); </script> Feel free to update this thread if you have any further questions.
  4. Hello @Maria, Since SQL syntax is supported in the Formula field, please use the SQL CASE statement instead. The syntax should be like: CASE WHEN Len([@field:Text]) < 2 THEN '0' + [@field:user_email] WHEN Len([@field:Text]) > 2 THEN '1' + [@field:user_email] ELSE [@field:user_email] END The ESLE part is optional. The important note: each THEN/ELSE should return the value of the same data type. You may refer to these articles: https://howto.caspio.com/function-reference/ https://howto.caspio.com/tables-and-views/data-types/formula-fields/ Hope this helps.
  5. Hello @Joemac, As I got your inquiry you want to timestamp the record only when a specific field with Yes/No data type is checked. It is possible with Triggered Actions. 1) If you need to set Timestamp when the record is inserted, then the Trigger design can be like this. The sample table: 2) If you need to set Timestamp when the record is updated, then the Trigger design can be like this. Feel free to update this thread in the case you have further questions.
  6. Hello again @ChrisSayers, Since the Free plan doesn`t include the Task feature, while you are using the Free plan, you may create a View that filters the records based on the condition: Then you may create an editable Report using this View as a data source and check the records that are displayed on the Report every date/edit them.
  7. Hello @ChrisSayers, Yes, as PotatoMato replied it should be possible with the Tasks. You may create a Task and schedule it to run every day. In the case of the following Task design you will receive as many emails as there are records that meet condition in your table: To receive 1 email per day with the list of records, you may use Table Variable: Feel free to update this thread in case you have further questions.
  8. Hello @kpcollier, I tested the same DataPage design in my account and you are correct, in your example we need to hide the 2 last cells in the row with the Totals. In DevTools the layout has the following view: Basically, as I checked, the cbResultSetTotalsDataCell CSS class is used only for the Totals. However, we can use a more complex selector to refer to the required cells. tr[data-cb-name='grand_total'] td:nth-of-type(3), tr[data-cb-name='grand_total'] td:nth-of-type(4) {display: none;}
  9. Hello @kpcollier, I suggested a solution for the Report that was provided in the screenshot. The JS solution should work if the Totals are for the field that is located after the hidden fields. Lets` say, you have 10 fields on the Result page, need to hide fields 5 and 6, and Totals are for field 9. In this case, Totals will not be aligned correctly and you may use the JS code to change the colspan value. May I know which fields are hidden and whether the Totals are for the last field in the Report as I can see from your screenshot?
  10. Hello @BGrambo, As I understand, you receive this error in the table, in the Formula field. Please note that SELECT statements are not allowed in the Formula field. Basically, Formula works within one record. You may want to check more information about the Formula field https://howto.caspio.com/tables-and-views/data-types/formula-fields/ In case you need to get and store the values from the other tables, you may use Tasks or Triggered Actions. https://howto.caspio.com/tables-and-views/triggered-actions/ https://howto.caspio.com/tasks/
  11. Hello @Sam23, It looks like you need to enable the "Enable cross-app login option" that is available in the Advanced setting of the Authentication. Please check this article https://howto.caspio.com/authentications-and-connections/authentication/authentication/ Enable cross-app login – With this option you can enable cross app login to users who already have an active session with another one of your apps that uses the same users table for its authentication. For example if your ticketing system and your sales system are based on the same Employees table, but different authentications object, authorized users who are signed into one app can access the second app without having to login again.
  12. Hello @Hayleyy, Since you need to store the answers, you may try the following: 1) Use a real field from the table to submit answers. For example: 2) Add the Virtual field, set it to the Calculated Value and use the CASE statement there. When the field is set to the Calculated Value it is possible to hide it by checking the "Hide Field" checkbox on the Advanced tab. You may learn more about the CASE statement in this external article if needed https://www.w3schools.com/sql/sql_case.asp 3) And again set the "Destination after record submit" as a Virtual field: Feel free to update this thread if you have further questions.
  13. Hello @Hayleyy, 1) If the video files are stored in the Files section of your Caspio account, you may use the <video> tag inside the HTML block. For example: <video width="320" height="240" controls> <source src="[@field:Video_file/]" type="video/mp4"> Your browser does not support the video tag. </video> Also, you may firstly host a video in the hosting site, for example, YouTube, copy the video embed code and paste it to the HTML block. For both options, there is an issue with iOS devices that cannot render the video correctly and the issue with Safari browser. 2) It is possible to redirect the user depending on the selected answer. The solution is described in this article https://howto.caspio.com/tech-tips-and-articles/common-customizations/dynamic-redirects-after-form-submission/ This should work for Radio Buttons, Dropdown, Listbox Form Elements. The idea is to display the answers (in your example) and use a URL to redirect as a Value: Then use this field as a Destination after record submit:
  14. Hello @innov2e, This should work with document.getElementsByName. Please note that it returns not a single value, but the NodeList Collection of elements, so to get the value you need to use [0] index: document.getElementsByName('cbParamVirtual1')[0].value So, you may try this code: <script> document.addEventListener('BeforeFormSubmit', function(event) { let virtualField = document.getElementsByName('cbParamVirtual1'); document.querySelector('#EditRecordFieldAA').value = virtualField[0].value; }); </script>
  15. Also, I wanted to add, that if you set the field that has Date/Time data type to the Calculated Value, you may use the Formatting options. You may select the format from Localization or set the Custom format: These articles can be helpful: https://howto.caspio.com/localizations/formatting-options/ https://howto.caspio.com/datapages/datapage-components/field-formatting-options/
  • Create New...