[AccessD] [dba-OT] Access files by date

Rocky Smolin rockysmolin at bchacc.com
Mon Jul 24 08:51:48 CDT 2017


Perfecto, mi amigo.

Thank you.

Here's my finished function to load the file table and rename the files on
chronological order in case it's of value to someone else. It could be
generalized by removing the referenced to "Photos", and strFileSpec to "*.*"
In the name statement you'd have to get the file extension of the original
file instead of just adding ".jpg". And passing strFolder and strFilespec to
the function as arguments would have been a nice touch.  But for the moment
this is a one-off for me.


Best,

Rocky

Option Compare Database
Option Explicit

Dim strFolder As String
Dim strFileSpec As String
Dim strFileName As String

Private Sub Command0_Click()

strFolder = "C:\temp\"
strFileSpec = "*.*"
 
MsgBox GetPhotos & " And Done."

End Sub

Function GetPhotos() As Long

  Dim strFileName As String
  Dim strNewName As String
  
  Dim rs As DAO.Recordset
  
  Dim lngCount As Long
  Dim lngFileNumber As Long
  
  CurrentDb.Execute "Delete * FROM tblPhotos"
  
' Get files into table
  Set rs = CurrentDb.OpenRecordset("Select * FROM tblPhotos")
  MsgBox strFolder & strFileSpec
  strFileName = Dir$(strFolder & strFileSpec)
  While strFileName <> ""
       rs.AddNew
       rs!fldPhotosFileName = strFileName
       rs!fldPhotosFileDate = FileDateTime(strFolder & strFileName)
       rs.Update
       lngCount = lngCount + 1
      strFileName = Dir$
  Wend
  rs.Close
  Set rs = Nothing
  GetPhotos = lngCount
  
' Rename files
    lngFileNumber = 0
    
  Set rs = CurrentDb.OpenRecordset("Select * FROM tblPhotos ORDER BY
fldPhotosFileDate")
  Do While rs.EOF = False
    lngFileNumber = lngFileNumber + 10
    strNewName = strFolder & "RR" & Right("0000" & Trim(Str(lngFileNumber)),
4) & ".jpg"
    Name strFolder & rs!fldPhotosFileName As strNewName
    rs.MoveNext
Loop

  End Function


-----Original Message-----
From: dba-OT [mailto:dba-ot-bounces at databaseadvisors.com] On Behalf Of
Stuart McLachlan
Sent: Monday, July 24, 2017 1:20 AM
To: 'Off Topic'; Access Developers discussion and problem solving
Subject: Re: [dba-OT] [AccessD] Access files by date

That was air code.  Quite a few typos and simpel erros there :(

This one should run:

Function GetPhotos() As Long
 Dim strFileName As String
 Dim rs As DAO.Recordset
 Dim lngCount As Long
 Set rs = CurrentDb.OpenRecordset("tblPhotos")
 strFilename = Dir$(CurrentProject.path & "\*.jpg")  While strFilename > ""
      rs.AddNew
      rs!FileName = strFilename
      rs!Filedate = FileDateTime(CurrentProject.Path & "\" & strFilename) 
      rs.Update lngCount = lngCount + 1
     strFilename = Dir$
 Wend
 rs.Close
 Set re = Nothing
 GetPhotos = lngCount
 End Function



On 24 Jul 2017 at 18:09, Stuart McLachlan wrote:

> I'd create a table to store all the filenames and dates with whatever 
> other fields you need for new filenames, comments or whatever.  Then a 
> simple function:
> 
> Function GetPhotos() As Long
> Dim strFName As String
> Dim fdate As Date
> Dim rs As DAO.Recordset
> Dim lngCount As Long
> Set rs = CurrentDb.OpenRecordset("tblPhotos")
> strFilename = Dir$(CurrentProject.payh & "\*.jpg") While strFilename > 
> ""
>      rs.AddNew
>      rs!FileName = strFilename
>      rs!Filedate = fdate = FileDateTime(CurrentProject.Path & "\" &
>      strFilename) rs.Update lngCount = lngCount + 1
>     strFilename = Dir$
> Wend
> rs.Close
> Set re = Nothing
> GetPhotos = lngCount
> End Function
> 
> Once you have then in the table you can do anything you want with the 
> data, manually or with VBA.
> 
> On 23 Jul 2017 at 21:36, Rocky Smolin wrote:
> 
> > Dear List:
> > 
> > 
> > 
> > Having just returned from a 5 day 250 mile bike trek through the 
> > redwoods of northern California with a group of 0 guys, I have 
> > volunteered to assemble everyone's pictures and edit them down to a 
> > director's cut.
> > 
> > 
> > 
> > What I have done after editing all their photos (and discarding
> > many) is put everyone's pictures in one folder which I can then 
> > display by date.  Since everyone (hopefully) has a correct date time 
> > stamp, the pictures of like places and times are now grouped 
> > together.
> > 
> > 
> > 
> > So now I would like to loop through these picture in date sequence, 
> > and rename them RR00010, RR00020, RR0030, etc.  so I can then do a 
> > bit of rearranging by changing file names. Once that's done I can do 
> > a final cull of the pictures and, if I need to manually insert any 
> > in a different place I can do it - like RR00025 would go between
> > RR00020 and RR00030.
> > 
> > 
> > 
> > I'm having a little though, trouble extracting this solution from 
> > the web. Can someone point me in the right direction?  Can this all 
> > be done with FSO? My first attempt retrieved the pics in file name 
> > order, not date/time order. And don't see a way using the Dir 
> > command to do that.
> > 
> > 
> > 
> > MTIA
> > 
> > 
> > 
> > 
> > 
> > Rocky Smolin
> > 
> > Beach Access Software
> > 
> > 760-683-5777
> > 
> >  <http://www.bchacc.com> www.bchacc.com
> > 
> >  <http://www.e-z-mrp.com> www.e-z-mrp.com
> > 
> > Skype: rocky.smolin
> > 
> > 
> > 
> > 
> > 
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> > 
> 
> 
> 





More information about the AccessD mailing list