Newbies adizz 0 Posted June 10, 2020 Newbies Share Posted June 10, 2020 Hi, I tried using the below script to export batch images from my container field: Go to Record/Request/Page [First] Loop * Set Variable [$filePath; Value: Get ( DesktopPath ) MyPics::Description & ".jpg"] ** Export Field Contents [MyPics::Picture; “$filePath”] Go to Record/Request/Page [Next; Exit after last] End Loop And modified it with all my information and when I run it in my database it only exports the first picture in each container when 1. there are multiple images in each container and 2. there are multiple records within each collection. I'm trying to batch export every image in the database. The image database is its own relational database and is a container field where multiple images can be inserted. Is there a way to modify the above script so that it picks up all the images in the database and not just the first one? Let me know if you need anything else from me. Thank you! Link to post Share on other sites
comment 1,778 Posted June 11, 2020 Share Posted June 11, 2020 2 hours ago, adizz said: it only exports the first picture in each container when 1. there are multiple images in each container Not sure what exactly you mean by that. A container field contains at most one picture. Unless you are using a repeating field, in which case you would need to nest another loop. 2 hours ago, adizz said: The image database is its own relational database and is a container field where multiple images can be inserted. Is it possible you have multiple images as individual records in a child table, and you are looping over the records of the parent table? That would indeed export only the image in the first child record of every parent in the found set. To export all images, you would need to start by Go to Related Record [ Child ; Show only related records; Match all records in the current found set ] and do the loop from there. Link to post Share on other sites
Newbies adizz 0 Posted June 11, 2020 Author Newbies Share Posted June 11, 2020 Hi, Thanks for the response. I inherited this DB and kind of learning on the fly here so attached some pictures of the layout of the database as well as how the container field looks like. Each item in a collection has multiple pictures in the image table. Let me know if that helps clarify things and I'll give your suggestion a go right now as well. Link to post Share on other sites
Fitch 178 Posted June 13, 2020 Share Posted June 13, 2020 Context is key in FileMaker. As comment suggested, go to a layout that's based on the Images table and run your loop/export there. You can make Go to Layout the first step in your script; then Show All Records if you want to export them all; then Loop. Link to post Share on other sites
Newbies adizz 0 Posted June 13, 2020 Author Newbies Share Posted June 13, 2020 Thank you for your reply. I tried your suggestions and the comments with my code below: Go to Layout ["Images" (Images) ; Animation: None] Show All Records Go to Record/Request/Page [ First ] Set Variable [ $filePath ; Value: Get ( DesktopPath ) & "exports/" ] Loop Set Variable [ $fileName ; Value: Images::__kft_Item & ".jpg"] Set Variable [ $exportPath ; Value: $filePath & fileName] Export Field Contents [ Images::Image ; "$exportPath" ; Create directories: Off] Go to Record/Request/Page [ Next ; Exit after last: On ] End Loop This was able to export every jpeg in the Images table. The problem I ran into is that there are multiple images with the same item number. So it seems like the loop is only exporting the first one, and not all the duplicates. Is there a way to fix this so that every image is exported, even the ones with the duplicate names (though they have duplicate names, they are separate images). See photo below. Thanks! Link to post Share on other sites
comment 1,778 Posted June 13, 2020 Share Posted June 13, 2020 41 minutes ago, adizz said: The problem I ran into is that there are multiple images with the same item number. So it seems like the loop is only exporting the first one, and not all the duplicates. I believe it is exporting all of them - but if you do not use a unique path for each image, then each export will overwrite a previous one with the same name. Why do you need to use the foreign key to Items as the file name? It seems meaningless anyway. Use something unique to each image such as the primary key field of the Images table or Get ( RecordID ) or even just a serial number. Link to post Share on other sites
Newbies adizz 0 Posted June 13, 2020 Author Newbies Share Posted June 13, 2020 Yay! Thanks so much! Making a unique number from the item number did the trick! Appreciate all the help. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now