Option Compare Database
Option Explicit
Private Sub バックアップ開始_Click()
Dim strBaseName As String
Dim strFileName As String
If IsNull(Me.バックアップ日付) = True Or Len(Me.バックアップ日付) = 0 Then
MsgBox "バックアップ日付をyyyymmdd形式で入力してください。", vbOKOnly + vbCritical, ""
Me.バックアップ日付.SetFocus
Exit Sub
End If
strBaseName = "C:\Data\在庫管理.mdb"
strFileName = "C:\Backup\" & Format(Me.日付, "yyyymmdd") & "StockData.mdb"
If Dir(strFileName) <> "" Then
If MsgBox(strFileName & Chr(13) & "は存在します。" & Chr(13) & _
"上書しますか?", vbYesNo + vbQuestion, "") = vbNo Then
Exit Sub
End If
End If
On Error GoTo LBL_ERROR
FileCopy strBaseName, strFileName
MsgBox "バックアップが完了しました。", vbInformation, ""
LBL_EXIT:
Exit Sub
LBL_ERROR:
Resume LBL_EXIT
End Sub
上記のVBAでバックアップを行いたいのですが、フォルダ等も設定しているの実行されません。上記の文に間違いがあるのでしょうか?
ソフトはAccessです。
No.3ベストアンサー
- 回答日時:
s_husky です。
面目ないです。
質問者と同じミスをしていました。
Private Sub バックアップ開始_Click()
On Error GoTo Err_バックアップ開始_Click
Dim isClick As Boolean
Dim Answer As Integer
If Len(Me.バックアップ日付 & "") = 0 Then
Message "バックアップ日付をyyyymmdd形式で入力してください。"
Me.バックアップ日付.SetFocus
Else
Answer = vbYes
If FileExists(strFileName) Then
Answer = Verify(strFileName & "は存在します。上書しますか?")
End If
If Answer = vbYes Then
FileCopy "C:\Data\在庫管理.mdb", _
"C:\Backup\" & Format(Me.日付, "yyyymmdd") & "StockData.mdb"
Message "バックアップが完了しました。"
End If
End If
Exit_バックアップ開始_Click:
Exit Sub
Err_バックアップ開始_Click:
ErrMsg Err.Description & "(バックアップ開始_Click)"
Resume Exit_バックアップ開始_Click
End Sub
No.4
- 回答日時:
FileCopy は 開かれている mdb のコピーはできません。
もし、"C:\Data\在庫管理.mdb" が
今、開いているこのファイル、
または、開かれている他のファイルなら
FileSystemObject の CopyFile メソッドを使えばコピーすることができます。
http://msdn.microsoft.com/library/ja/default.asp …
参考URL:http://msdn.microsoft.com/library/ja/default.asp …
No.2
- 回答日時:
全体のプロシージャの構造がいけません。
次は、私流の書き方です。
1、エラートラップは、全体に次のような基本形にするのが望ましいです。
2、Exit Sub は、<Exit_プロシージャ>以外では使わないようにします。
3、ヌルチェックは、Len(コントロール & "")で十分です。
4、コードは目でなぞったら意味が判るのがいいです。
チクッと、自前のプロシージャの基本形を作ったがいいです。
質問は、全体を正常化してからがいいです。
Private Sub バックアップ開始_Click()
On Error GoTo Err_バックアップ開始_Click
Dim Answer As Integer
If Len(Me.バックアップ日付 & "") = 0 Then
Message "バックアップ日付をyyyymmdd形式で入力してください。"
Me.バックアップ日付.SetFocus
ElseIf FileExists(strFileName) Then
Answer = Verify(strFileName & "は存在します。上書しますか?")
If Answer = vbYes Then
FileCopy "C:\Data\在庫管理.mdb", _
"C:\Backup\" & Format(Me.日付, "yyyymmdd") & "StockData.mdb"
Message "バックアップが完了しました。"
End If
End If
Exit_バックアップ開始_Click:
Exit Sub
Err_バックアップ開始_Click:
ErrMsg Err.Description & "(バックアップ開始_Click)"
Resume Exit_バックアップ開始_Click
End Sub
No.1
- 回答日時:
「実行されません」とは何を指して言っているのでしょうか。
----------------------------------------------
strBaseName にも strFileName にもファイル名がフルパスで入っているのに
FileCopy strBaseName, strFileName
の行を実行してもファイルがコピーされない
----------------------------------------------
ってことでしょうか?
ステップ実行で処理の過程を 1行ずつ確認してみましたか?
エラーが発生した場合のジャンプ先 "LBL_ERROR:" で何もしないですぐに "LBL_EXIT:" に移動させちゃってるんでエラーに気づいてないってことはありませんか?
On Error GoTo LBL_ERROR の行をコメントアウトして試してみるとか、
LBL_ERROR:
Debug.Print Err.Description
Resume LBL_EXIT
ってしてみてエラーを確認してみてはどうでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
警察はスマホに保存した動画や...
-
Access フォーム上でコンボボッ...
-
帳票フォームでのあるコンボボ...
-
エクセルのフィルタ抽出が固まる
-
DBエラーを解決したい
-
私はシステム会社に務めている...
-
DocuWorksでの印刷
-
googleフォームでインストール...
-
式を簡単にしてください。ACCES...
-
ITパスポートについての質問で...
-
更新クエリをリンクデータベー...
-
CSVファイルでテキストの改行の...
-
ACCESSのSQLで、NULLかNULLでな...
-
Accessを開きなおすとテキスト...
-
Excelフィルタ抽出で「検索して...
-
顧客データベースを作る場合、...
-
マイクロソフトAccessでsqlのas...
-
情報整理するのに、「 Fullfree...
-
レコード数のカウント
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
期限切れのバックアップの削除
-
ログファイルの圧縮がされずに...
-
バックアップの容量と時間の見積り
-
BACKUP DATABASE とINSERTが同...
-
SQLServerのトランザクションロ...
-
トランザクションログの切り捨...
-
oracleとSQL Server比較検証
-
ログ ファイルはいっぱいです。...
-
トランザクションログバックア...
-
こんにちは。
-
SQLServer2000でのトランザクシ...
-
MS-アクセスで作ったファイルの...
-
バックアップについて
-
トランザクションログファイル...
-
MySQLでバックアップなしデータ...
-
SQLServer7.0のLDF圧縮
-
MS SQLサーバデータのバックア...
-
制御ファイルの多重化の意味に...
-
XamppでインストールしたMySQL...
-
【DB】同じトランザクション内...
おすすめ情報