--- title: "Process images across multiple records" slug: "image-resizer-rotator-multiple-records" updated: 2026-10-09T18:07:25Z published: 2026-10-09T18:07:25Z canonical: "help.quickbase.com/image-resizer-rotator-multiple-records" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.quickbase.com/llms.txt > Use this file to discover all available pages before exploring further. # Process images across multiple records Images often live on child records—for example, photos attached to many *Files* records under one *Project*. Instead of opening each record, one button on the parent record can process the images on all of its related records. This is called **multiple-record mode**. - A button or API request can process up to **50 records** at a time. For more, or to run automatically, use [batch processing](https://help.quickbase.com/quickbase-extensions/docs/en/image-resizer-rotator-batch-processing), which uses the same parameters. - If the query matches more than 50 records, nothing is processed and the result reads *Error - Proccessing more than 50 records - recommend using batch process*. - Records whose image field is empty are skipped without an error. ## How it works The button passes: - **query**—a Quickbase query that selects the records to process. - **querydbid**—the table to query. If omitted, the button's own table is used. - **recid**—the Record ID# of the record with the button (the parent). The images come from the query, not from this record, but keep **recid** in the formula: it's required whenever you use **triggerfid**, because that's the record the status is written to. The examples below always include it. The FIDs in **clist**, and in any tracking lists such as **falist** or **updatefidlist**, refer to fields on the **queried** table. The resize values (**width**, **height**, **rsrate**, and so on) come from the record with the button and apply to every image. ## Example In this app, each *Project* has many *Submittals*, and each *Submittal* has many *Files*. Each *Files* record has two photo fields (FIDs 6 and 15). The goal is to resize every photo for a project to 100 × 100 pixels from a button on the *Project*. 1. **Make the project available on Files.** Add a lookup of the related project's Record ID# to the *Files* table, through the Submittals–Files relationship (in this example, FID 39, *Related Project*). 2. **Create the input fields on Projects**—for example, *New Width* and *New Height*. 3. **Create the button on Projects**, a **Formula - Text** field with **Allow some HTML tags** selected: ``` var text url = "https://.../ImageResizer.aspx?"  // your Image Resizer/Rotator server URL & "clientid=Q#"  // your Client ID & "&appid=" & AppID() & "&dbid=" & Dbid() & "&recid=" & [Record ID#]  // this project (the record with the button) & "&query={'39'.EX.'" & [Record ID#] & "'}"  // Files records for this project & "&querydbid=" & [_DBID_FILES]  // the Files table & "&clist=6.15"  // photo fields on Files & "&width=" & [New Width] & "&height=" & [New Height]; "Resize Project Photos" ``` In the query, *'39'* is the *Related Project* field on Files, *EX* means "is equal to", and the value is this project's Record ID#. *[_DBID_FILES]* is the Files table's alias, found in that table's settings under **Advanced**. Keep *data-temptokendbid* set to the button's own table (*Dbid()*), not the queried table. ## Rotate across multiple records Use the *RotateImage.aspx* address. You can rotate in either of two ways: - **The same amount for every image**—pass **rotateval**. Create a **Text - Multiple Choice** field on the parent—for example, *Rotate Value*—with the choices *0*, *90*, *180*, and *270*. A number followed by *degrees* (*90 degrees*) also works, but text such as *Do not rotate* or a blank value is an error. - **An amount per image**—add rotation fields to the queried table and pair them in **clist** (for example, *clist=6:40.15:41*). Each image is rotated by the value on its own record. See [Rotate images](https://help.quickbase.com/quickbase-extensions/docs/en/image-resizer-rotator-rotate-images). Example using **rotateval**: ``` var text url = "https://.../RotateImage.aspx?"  // your Image Resizer/Rotator server URL & "clientid=Q#" & "&appid=" & AppID() & "&dbid=" & Dbid() & "&recid=" & [Record ID#] & "&query={'39'.EX.'" & [Record ID#] & "'}" & "&querydbid=" & [_DBID_FILES] & "&clist=6.15" & "&rotateval=" & [Rotate Value]; "Rotate Project Photos" ``` For every parameter, see [Formula URL parameters](https://help.quickbase.com/quickbase-extensions/docs/en/image-resizer-rotator-formula-url-parameters).