accessで日付名のバックアップができない

このQ&Aのポイント
  • accessでファイルをコピーして日付の名前をつけて保存したいが、うまくいかない。
  • 指定した新ファイル名の仕方が間違っているため、正しい方法を教えてほしい。
  • どこを修正すればいいのかわからず、困っている。
回答を見る
  • ベストアンサー

access 日付名でバックアップ

accessでファイルをコピーして日付の名前をつけて保存したいのですがうまくいきません。 ------------------------------------------------------ Dim objFSO As FileSystemObject Dim str元ファイル As String Dim str新ファイル As String Set objFSO = CreateObject("Scripting.FileSystemObject") str元ファイル = "C:\sample.mdb" str新ファイル = "C:\format(date(),"yymmdd").mdb" objFSO.copyFile str元ファイル, str新ファイル, True Set objFSO = Nothing ------------------------------------------------------- どうも新ファイル名の指定の仕方が悪いようですがどこを直していいかわかりません。 どなたか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

> str新ファイル = "C:\format(date(),"yymmdd").mdb"  str新ファイル = "C:\" & Format(Date(),"yymmdd") & ".mdb" ですね。

hotsan022
質問者

お礼

どうもありがとうございました。無事解決です(^^♪

関連するQ&A

  • ACCESSのバックアップ

    ACCESSを閉じる際に自分自身をコピー、 リネームしてバックアップを取りたいのです。  ・BackUp20080108.mdb ←バックアップを取る際に日付を入れる。  ・3日分までバックアップをとり、4日目を取る時は   1日目のものを消す。   【1日目】BackUp20080105.mdb   【2日目】BackUp20080106.mdb   【3日目】BackUp20080107.mdb   【4日目】BackUp20080108.mdb ←これを作る際に【1日目】を削除 とりあえずコピー、削除は出来ましたが、 フォルダ内にあるファイルの識別をどうしてよいのかわかりません。 なにかサンプル、同じようなものを作った事のある方がおりましたら ご指導お願い致します。 Dim fs As Object '自身をコピー Set fs = CreateObject("Scripting.FileSystemObject") fs.CopyFile CurrentProject.Path & "\" & CurrentProject.Name, _ CurrentProject.Path & "\" & "BackUp" & Format$(Date, "yyyymmdd") & ".mdb" 'ファイル削除 Set fs = CreateObject("Scripting.FileSystemObject") fs.deleteFile CurrentProject.Path & "\" & CurrentProject.Path & "\" & "BackUp" & Format$(Date, "yyyymmdd") & ".mdb" set fs=Nothing End Sub

  • 10分おきに自動でバックアップファイルを作成する

    エクセルファイルで 「10分おきに自動でバックアップファイルを作成する」 ということは可能ですか? Sub バックアップ作成() Dim myFSO As Object Dim MyFile As Object Dim WSH As Variant Dim strdate As String Set myFSO = CreateObject("Scripting.FileSystemObject") Set WSH = CreateObject("Wscript.Shell") strdate = Format(Now, "yyyy年mm月dd日hh時mm分") myFSO.CopyFile ActiveWorkbook.FullName, "D:\backup\" & strdate & ".xlsm" Set MyFile = Nothing Set myFSO = Nothing Set WSH = Nothing End Sub これでバックアップは作成できるのですが 「10おきに」というのはどうすればいいのでしょうか?

  • 同名でもエラーにならない理由

    Sub バックアップ作成() Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFile CurrentProject.FullName, "C:\test.mdb" Set FSO = Nothing End Sub このコードを実行すると、同じファイルがあってもエラーになりません。 Sub DiskOprate4() MkDir "C:\バックアップ" End Sub なら同名のフォルダがあればエラーになります。 ファイルはエラーにならないがフォルダならエラーになるのでしょうか? それともFSOというのを使うとエラーにならないのですか? よろしくお願いします。

  • VB6.0 CreateObject以外のファイルI/O

    以前CreateObject("Scripting.FileSystemObject")を使用してファイルを読込む方法、一行ずつ書込む方法を教えていただいたのですが。 環境によってはウイルスチェックに引っかかってしまうようで、別な手段を取らなければならなくなりました。 読込み: Set objFso = CreateObject("Scripting.FileSystemObject") Set objTxtSt = objFso.OpenTextFile(strFilePass, 1) strData = CStr(objTxtSt.ReadAll()) 書込み: Set objFso = CreateObject("Scripting.FileSystemObject") Set objTxtSt = objFso.OpenTextFile(strFilePass, 2, False) Call objTxtSt.WriteLine(strData) 現在の処理は以上です。 上記と同じ処理をCreateObjectを使用せずに作成するにはどのようにすればよろしいでしょうか。

  • エクセル2010のVBAを使ってバックアップ

    エクセル2010のVBAを使ってバックアップを取れる仕組を作っています。 Sub backup() Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFile "C:\data\*.xls", "C:\back\" Set FSO = Nothing End Sub 実際にバックアップを取りたい元データはマイドキュメントにあります。 また、複数のパソコンで実行したいのですが、 C:\Documents and Settings\ログインユーザー名\MyDocuments\ このログインユーザー名がバラバラです。 データ元のパスはどのように取得すれば良いでしょうか? 教えて下さい。

  • コピーするVBS

    ファイルサーバーからファイルをデスクトップにコピーするVBSを下記のように作成しています。 Set objFSO= CreateObject("Scripting.FileSystemObject") objFsoCopyFile("\\server\public\test.mdb","C:\Documents and Settings\user\デスクトップ",true) この中で、「C:\Documents and Settings\user\デスクトップ」はパソコンごとに異なりますので、 それぞれのPCのデスクトップをしてする方法を探しています。 ネットで、デスクトップという類のフォルダの取得として Dim WshShell As Object Set WshShell = CreateObject("WScript.Shell") WshShell.SpecialFolders("Desktop") を絡めれば出来るようなことがありましたが、使い方をどなたか教えてください。

  • VBSでルートフォルダ名を取得したい

    (I)ドライブにUSBメモリーがあってルートフォルダ名がABCだとします。 VBSでルートフォルダ名を取得したくてコード書いてみたんですがMsgBoxには空欄しかでません。なにが間違っているのか教えて頂けないでしょうか? dim objFSO dim objDrive Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objDrive = objFSO.GetDrive("I") MsgBox objDrive.RootFolder.name

  • 画像ファイル名をパス付きで表示

    Sub Test2() Dim objFSO As Object Dim sPath As String, sSubFol As String, sFileName As String Dim nRow As Long, nCol As Long Set objFSO = CreateObject("Scripting.FileSystemObject") sPath = "C:\Users\Owner\Downloads\base\setting_000002016\" nRow = 2 sSubFol = Cells(nRow, 1).Text Do While sSubFol <> "" nCol = 11 sFileName = Dir(sPath & sSubFol & "\*.jpg") If objFSO.FileExists(sPath & sSubFol & "\" & sSubFol & ".jpg") Then nCol = 12 Else nCol = 11 End If Do While sFileName <> "" If sFileName = sSubFol & ".jpg" Then Cells(nRow, 11) = sFileName Else Cells(nRow, nCol) = sFileName nCol = nCol + 1 End If sFileName = Dir() Loop nRow = nRow + 1 sSubFol = Cells(nRow, 1).Text Loop Set objFSO = Nothing End Sub こちらは商品番号とサブフォルダの名前が一致したらフォルダ内のファイル名を抽出するというマクロですが、これをパス付で表示という動作をするにはどこをいじればよろしいでしょうか?

  • ACCESSのCSV出力に関して

    教えて下さい。 ACCESSであるテーブルのデータをCSV出力しようとして、以下のような記述をしました。 結果、問題なく出力されましたが、データだけでなく、項目も出力しようと考えています。 その際にはどのような記述をすれば良いでしょうか? 初歩的な質問で申し訳ありません。 教えて下さい。 《内容》 Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim stSQL As String Dim stTBL As String Dim myWSH As Object 'WScript Dim myDesktopPath As String Dim stPath As String 'フルパス Dim objFSO As Object 'FileSystemObject Dim fsoTS As Object 'TextStream Dim tmp As Variant 'データ Dim re As Variant 'データ件数 Dim stDocName As String Const ForAppending = 8 stTBL = "t_合算" 'テーブル名 '開始メッセージ stDocName = "「" & stTBL & ".CSV」 ファイルをデスクトップに作成します" If MsgBox(stDocName, vbYesNo) = vbNo Then Exit Sub 'デスクトップパス取得 Set myWSH = CreateObject("WScript.Shell") myDesktopPath = myWSH.SpecialFolders("Desktop") Set myWSH = Nothing 'フルパス stPath = myDesktopPath & "\" & stTBL & ".CSV" '読み取り専用でセット Set cnn = CurrentProject.Connection stSQL = "SELECT * FROM " & stTBL Set rst = cnn.Execute(stSQL) If rst.EOF Then stDocName = "出力するデータがありませんでした" Else '文字列データ格納 (全データ出力、カンマ区切り) tmp = rst.GetString(adClipString, , ",", vbNewLine) '出力 Set objFSO = CreateObject("Scripting.FileSystemObject") With objFSO If .FileExists(stPath) Then '既存ファイル削除 Call .DeleteFile(stPath) End If Set fsoTS = .OpenTextFile(stPath, ForAppending, True) '文字列一括書き出し fsoTS.WriteLine tmp re = fsoTS.Line - 2 End With Set fsoTS = Nothing: Set objFSO = Nothing stDocName = re & " 件の CSVデータを出力しました。" End If MsgBox stDocName, vbOKOnly

  • VBAでCSVファイルを読み込もうとしていますが、

    VBAでCSVファイルを読み込もうとしていますが、 「ファイルが見つかりません」とエラーが表示されます。 どのように対処していいのかわかりません。 教えてくください。 Sub readCsv() Dim csvFile As String Dim ch As Integer Dim csvStr As String Dim str() As String Dim i As Integer Set ShellApp = CreateObject("Shell.Application") Set oFolder = ShellApp.BrowseForFolder(0, "フォルダ選択", 1) targetFolder = oFolder.Items.Item.Path Set fso = CreateObject("Scripting.FileSystemObject") Set fileList = fso.GetFolder(targetFolder).Files For Each file In fileList csvFile = file.Name ch = FreeFile Open csvFile For Input As #ch i = 1 Do While Not EOF(1) Line Input #ch, csvStr Close #ch str = Split(csvStr, ",") Range(Cells(i, 1), Cells(i, UBound(str) + 1)) = str i = i + 1 Loop Next End Sub