自動バックアップの方法と勤怠状況一覧表への日付追加方法

このQ&Aのポイント
  • Accessで自動バックアップを行う方法と、勤怠状況一覧表に日付を追加する方法について教えてください。
  • 自動バックアップの手順として、Accessで保存を開始し、勤怠状況一覧表をExcel形式で指定したパスに保存する方法があります。
  • 勤怠状況一覧表に日付を追加するために、入力欄に完全なパスを指定しているため、日付の追加方法について教えてください。
回答を見る
  • ベストアンサー

自動バックアップ

If MsgBox("保存を開始しますか?", vbOKCancel) = vbOK Then DoCmd.SetWarnings False DoCmd.OutputTo acOutputQuery, "勤務状況一覧表", acFormatXLS, "C:\buckup\勤務状況一覧表.xls", flese DoCmd.SetWarnings True MsgBox "保存が終了しました。" End If このような感じで自動バックアップをさせてるのですが「勤怠状況一覧表」 のあとに日付を追加したいのです。 いろいろやってみてるのですがここの入力は完全なパスと書いてあり、無理なのかなぁと分からなくなってきております。 何か方法等知ってる方、教えていただけませんでしょうか?

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

ファイルのアドレス指定部分にDate$関数を使用してやれば、日付を追加できるのではないでしょうか。 (日付を文字列として含ませる形にして、完全なパスを作成する、と) <現状> "C:\buckup\勤務状況一覧表.xls" <修正> "C:\buckup\勤務状況一覧表_" & Date$ & ".xls" なお、OutputToの最後の引数、「flese」は「False」の誤記かと思いますので、ご確認下さい。

rnyrevo
質問者

お礼

回答ありがとうございます。無事なりました。

関連するQ&A

  • ACCESSデータをEXCELに出力したい。

    ACCESSでフィルタを使って複数項目(空欄の箇所がある場合もあり)を抽出したデータ(サブフォームに表示)だけをEXCELに出力したいのですが、下記のコードではすべてのデータが出力されてしまいます。 ------------------------------- Private Sub 出力_Click() DoCmd.OutputTo acOutputQuery, "Q_出力", acFormatXLS End Sub ------------------------------- 情報が少なかったらすみません。 よろしくお願いいたします。

  • ACCESS2013VBA任意の文字列付与する方法

    ACCESS2013を使用しています。 メニュー用に作成したフォームにコマンドボタンを置いて、下記のようなソースを割り当て、 ボタンを押すとstrPathで指定したフォルダ内にエクセル形式にて出力するようにしています。 このフォームにテキストボックスを置いて、そこに入力した文字を出力するファイル名の末尾に 付与するにはどうしたら良いでしょうか? よろしくお願いいたします。 Function 一括エクスポート() On Error GoTo 一括エクスポート_Err strPath = "C:\Users\tanaka\Desktop\エクスポート\" DoCmd.OutputTo acOutputQuery, "DCAC", "ExcelWorkbook(*.xlsx)", strPath & "エクスポートデータ1.xlsx", False, "", , acExportQualityPrint DoCmd.OutputTo acOutputQuery, "DCAC", "ExcelWorkbook(*.xlsx)", strPath & "エクスポートデータ2.xlsx", False, "", , acExportQualityPrint DoCmd.OutputTo acOutputQuery, "DCAC", "ExcelWorkbook(*.xlsx)", strPath & "エクスポートデータ3.xlsx", False, "", , acExportQualityPrint 一括エクスポート_Exit: Exit Function 一括エクスポート_Err: MsgBox Error$ Resume 一括エクスポート_Exit End Function

  • CSVデータをAccess2000に自動取得

    いつもお世話になっております。 Access2000(OSはWindowsXP)上にボタンを作り、これをクリックするとExcelデータを自動的にインポートするプログラムを作りました。 このプログラムを利用して、エクセルデータではなく、CSVデータをインポートするように変更しようと思っていますが、インターネットを調べても、今一つ要領を得ません。 どの部分をどのように修正すればよいのか、お分かりの方がおられれば、是非ご教授をお願いします。 どうぞ宜しくお願い致します。 (記述したプログラム) ------------------------------------------------------------------ Dim strac As String Dim strxls As String Dim strrange As String Dim strmsg As String strac = "T_回収お客様情報" 'Accessテーブルを指定 strxls = "C:\回収お客様情報.xls" 'エクセルファイルを指定 strmsg = "エクセルファイル" & strxls & "を、" & strac & _ "という名前のファイルとして、データ転送を行います。" & Chr(13) & Chr(13) & _ "よろしければ、OKをクリックしてください。" 'MsgBoxのメッセージ DoCmd.DeleteObject acTable, strac 'テーブルを削除 If MsgBox(strmsg, vbOKCancel, "Microsoft Access Club") = vbOK Then DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _ strac, strxls, True MsgBox "データ入力は、正常に完了しました。" End If Exit Sub ---------------------------------------------------------------------

  • アクセスで複数データ削除

    myPath = "D:\" myfilename = Dir(TxB04) Do Until myfilename = "" DoCmd.TransferText acImportDelim, , "tbl1", myPath & myfilename, False myfilename = Dir Loop MsgBox "取込が正常に終了しました。" MsgBox "二重打刻をチェックしてます。" '取込ファイル名を変換します。 DoCmd.SetWarnings False DoCmd.OpenQuery "データ変換" DoCmd.OpenQuery "実績追加" DoCmd.OpenQuery "重複データ削除" DoCmd.OpenQuery "削除クエリ" DoCmd.SetWarnings True Cmd21.Enabled = False ★Kill (strInFPath)★ 'メッセージマスタ取得 Sqlstate2 = "SELECT * FROM 氏名登録なし;" Set M_MSG2 = MyDB2.OpenRecordset(Sqlstate2, dbOpenSnapshot) If M_MSG2.RecordCount > 0 Then DoCmd.SetWarnings False DoCmd.OpenQuery "くえり1" DoCmd.SetWarnings True End If Exit Sub Err_Set_Seisan_Click: End Sub 今、vbでこのようなデータ取込を作っており★のところで取込データを削除させてます。 ただこれだと1つのデータしか削除できず、複数あったときには対応が困ってます。 こちら歯どのような対応でできるでしょうか? ご指導お願いします。

  • 簡単な事だと思うのですが vba での質問です。

    Private Sub 処理名()  Dim a as Byte vbOK = MsgBox ("OK? or Cancel?",vbOKCancel,"確認")  If vbOK = 1 Then   MsgBox "OKが押されました"  else if   MsgBox "キャンセルが押されました"  End if  ~以下長々と処理~     長々と処理の最後~ End Sub 例えば上記のような、vbaマクロがあったとします。 もし、キャンセルを押した場合、有無を言わさず全ての処理を終了したい場合どのように記述をすれば宜しいのでしょうか? キャンセルを押した場合後続の長々と処理部分は全てキャンセルしたいのです。 私はその方法が分からないために分岐がある度にif分のネストが深くなってしまって困っています。 どなたかご教授下さい。 よろしくお願い致します。

  • access VBA処理がうまくいかない

    お世話になります。 T_請求に追加する追加クエリQ_家賃請求Tがあります。 どの物件を更新するかをチェックボックスで指定し、追加クエリの抽出条件にしています。 月に1度のみの操作ですが、数人でこのデータベースを触り、 何度も追加されると困るので2度目以降はエラー処理をさせたいと思っています。 Private Sub 更新_Click() Dim ret As Integer ret = MsgBox("チェック物件を請求更新します。" & vbCrLf & "よろしいですか?", _ vbYesNo + vbQuestion, "請求月次更新") If ret = vbYes Then If DCount("[契約者CD]", "[T_請求]", "[物件CD] = " & Me!物件CD & _ " AND [T_請求]![請求年月] > #" & DateSerial(Year(Date), Month(Me![処理日]) + 1, 1) & "#") _ <> 0 Then MsgBox "すでに指定物件の請求は更新されています" & vbCrLf & _ "同じ月に請求を2度更新できません" Else DoCmd.SetWarnings False DoCmd.OpenQuery "Q_家賃請求用T" MsgBox "更新されました" DoCmd.SetWarnings True End If Else If MsgBox("処理を中止しました", vbOKOnly + vbDefaultButton1 + vbExclamation) = vbOK Then Me.Undo Cancel = True End If End If End Sub 以上のようなコードを書きました。 処理が正しくできているか確認のために、動作を調べたのですが、 まったく同じ請求年月で同じ物件CDのものが保存先のテーブルに処理されてしまいます。 どの部分を直せばいいのでしょうか? 足りない情報があれば提示しますので、よろしくお願いいたします。

  • MsgBoxへの和暦表示について

     G2に=DATE(C1,G1,1)で日付を取得し和暦表示で「H25年03月」とセルの書式設定で しているのですが、これをMsgBoxに同じように表示させたいのですが、お教え願えま せんでしょうか。 Windows7 Office2010 Dim ret As Integer ret = MsgBox(ActiveSheet.Range("G2").Value & "の勤務割表を編集データを元に作成します。よろしいですか?", _ vbOKCancel + vbQuestion, "作成") Select Case ret Case vbOK 処理のコード文 Case vbOKCancel Exit Sub End Select

  • アクセス2000VBA

    アクセス2000でのVABで Dim OutFlName Dim 先頭 Dim 後方 WK集計開始日 = Me![開始日] WK集計終了日 = Me![終了日] 先頭 = Format(WK集計開始日, "GGGEE\年MM\月DD\日") 後方 = Format(WK集計終了日, "GGGEE\年MM\月DD\日") OutFlName = "C:\ACDB\" & 先頭 & "から" & 後方 & "間の日報データ.xls" Response = MsgBox(WK集計開始日 & "から" & WK集計終了日 & "までの日報データをエクセルに出力します。", vbInformation + vbYesNo, "日報データ出力") If Response = vbYes Then DoCmd.OutputTo acOutputQuery, "NWKQ_日報一覧", acFormatXLS, OutFlName, True '," On Error GoTo 0 MsgBox "データの出力が完了しました。", vbInformation + vbOKOnly, "出力完了" On Error Resume Next Else MsgBox "出力を中止します。", vbExclamation + vbOKOnly, "出力中止" Exit Sub End If DoCmd.Close acForm, Me.Name End Sub というプログラムを組んでいます。格納先をC:\ACDB\currentにしたいのですが、OutFlName = "C:\ACDB\" & 先頭 & "から" & 後方 & "間の日報データ.xls"を"C:\ACDB\current" &~ に変更すると、C:\ACDB直下でcurrent先頭~のファイル名で保存されます。 これを上手くC:\ACDB\currentへ保存できる方法はないでしょうか。

  • Access97でのエクスポートエラーメッセージ

    OS WINXP Excel2002 Access97で、下記の操作をやると、 Microsoft Visual Basic 実行時エラー ’1004’:’講習会資料.xls’にアクセスできません。 というメッセージがでます。 再起動してやるとエラーにはならないのですが、もう1回やるとまた エラーメッセージがでます。 EXCELのファイルが何かおかしいのでしょうか? 教えてください。 Private Sub 講習会収支明細_Click() DoCmd.SetWarnings False DoCmd.Maximize If gOnErrorCtl Then On Error GoTo Err_講習会収支明細_Click Dim sh DoCmd.OpenQuery "Q_総会資料用", acViewNormal, acReadOnly DoCmd.OpenQuery "Q_借方仕訳伝票一覧印刷用", acViewNormal, acReadOnly DoCmd.OpenQuery "Q_貸方仕訳伝票一覧印刷用", acViewNormal, acReadOnly DoCmd.OpenQuery "Q_講習会資料残高用", acViewNormal DoCmd.TransferSpreadsheet acExport, 5, "T01_講習会資料残高用", "c:\講習会会計\講習会資料.XLS", True sh = Shell("C:\Program Files\Microsoft Office\Office10\EXCEl c:\講習会会計\講習会資料残高用.XLS", 1) DoCmd.SetWarnings False DoCmd.OpenQuery "Q_講習会収入残高用", acViewNormal DoCmd.TransferSpreadsheet acExport, 5, "T02_講習会資料残高用", "c:\講習会会計\講習会資料.XLS", True Exit_講習会収支明細_Click: Exit Sub Err_講習会収支明細_Click: MsgBox Err.Description Resume Exit_講習会収支明細_Click End Sub

  • Access2000のモジュールで

    テーブル1にある処理をした後、そのテーブルを開いて内容を確認し、OKならエクセルにエクセルにエクスポートという処理を記述したいのですが、   ・   ・ DoCmd.OpenTable "テーブル1" If MsgBox("出力してよろしいですか。", vbYesNo, "確認") = vbYes Then DoCmd.TransferSpreadsheet acExport, , "テーブル1", "C\テーブル1.xls", True とすると、テーブルを開いてすぐにメッセージボックスが手前に表示されるので、テーブルをスクロールすることができません。 Docmd・・・とif MsgBoxの間にどんな記述を入れれば、できるようになりますか? それとも、もっとスマートなやり方があるのでしょうか? 教えてください。お願いします。