Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Lỗi khi không chọn dữ liệu khi Save As 'Invalid procedure call or argument.'
#1
Mình có 1 vấn đề như sau mong các bạn nào rành về Access cho mình đoạn code:
Mình có làm 1 nút Save As code như sau:
Mã:
Private Sub Command14_Click()

Dim dlgSaveAs As FileDialog
Dim strFilePath As String
Dim strFileName As String

Set dlgSaveAs = Application.FileDialog(msoFileDialogSaveAs)

dlgSaveAs.Show
strFilePath = dlgSaveAs.SelectedItems(1)

Me.txtsave = strFilePath

strFileName = Right(strFilePath, Len(strFilePath) - InStrRev(strFilePath, "\"))
strFilePath = Left(strFilePath, InStrRev(strFilePath, "\"))
   Dim sFile As String, oDB As DAO.Database
   sFile = txtsave & ".bak"
   
   If Dir(sFile) <> "" Then Kill sFile
   
   Set oDB = DBEngine.Workspaces(0).CreateDatabase(sFile, dbLangGeneral)
   oDB.Close
   DoCmd.Hourglass True
   
   Dim oTD As TableDef
   For Each oTD In CurrentDb.TableDefs
       If Left(oTD.Name, 4) <> "MSys" Then
          DoCmd.CopyObject sFile, , acTable, oTD.Name
       End If
   Next oTD
   
   DoCmd.Hourglass False
   
   MsgBox "Sao luu du lieu xong"
   
End Sub
Nhưng nếu bấm Save As mà không ghi gì mà bấm Cancel thì bị lỗi Run-time error 5: Invalid procedure call or argument.
Ai giúp mình fix với
Chữ ký của doandinhtam doandinhtam,gia nhập Thủ Thuật Access từ 15-12 -16.
Reply
Những người đã cảm ơn
#2
Đoạn code trên của bạn thiếu code bẫy lỗi khi không chọn gì cả (bấm Cancel).
Thêm đoạn code này ngay bên dứoi dòng: dlgSaveAs.Show

dlgSaveAs.Show

    With dlgSaveAs
        If .SelectedItems.Count = 0 Then
            MsgBox "Khong chon file nao."
            Exit Sub
        Else
            strFilePath = dlgSaveAs.SelectedItems(1)
            Me.txtsave = strFilePath
        End If
    End With

Mã PHP:
Dim dlgSaveAs As FileDialog
   Dim strFilePath 
As String
   Dim strFileName 
As String

   Set dlgSaveAs 
Application.FileDialog(msoFileDialogSaveAs)

   dlgSaveAs.Show
   With dlgSaveAs
       If 
.SelectedItems.Count 0 Then
           MsgBox 
"Khong chon file nao."
           Exit Sub
       Else
           strFilePath 
dlgSaveAs.SelectedItems(1)
           Me.txtsave strFilePath
       End 
If
   End With

   strFileName 
Right(strFilePathLen(strFilePath) - InStrRev(strFilePath"\"))
   strFilePath = Left(strFilePath, InStrRev(strFilePath, "
\"))
   Dim sFile As String, oDB As DAO.Database
   sFile = txtsave & "
.bak"

   If Dir(sFile) <> "" Then Kill sFile

   Set oDB = DBEngine.Workspaces(0).CreateDatabase(sFile, dbLangGeneral)
   oDB.Close
   DoCmd.Hourglass True

   Dim oTD As TableDef
   For Each oTD In CurrentDb.TableDefs
       If Left(oTD.Name, 4) <> "
MSys" Then
           DoCmd.CopyObject sFile, , acTable, oTD.Name
       End If
   Next oTD

   DoCmd.Hourglass False

   MsgBox "
Sao luu du lieu xong
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn doandinhtam
#3
Cám ơn bạn nhé
Chữ ký của doandinhtam doandinhtam,gia nhập Thủ Thuật Access từ 15-12 -16.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Đảm bảo tính toàn vẹn của dữ liệu mrsiro 11 600 12-10-18, 10:46 AM
Bài mới nhất: ongke0711
  Hướng Dẫn Hỏi cách tạo code phục hồi dữ liệu trong table sau khi backup doandinhtam 31 1,317 29-08-18, 03:54 PM
Bài mới nhất: doandinhtam
  [Lỗi] Lỗi không mở được access tranhai_vn 2 667 09-10-17, 08:18 PM
Bài mới nhất: advnamk
  [Hỏi] Cách tổng hợp số liệu từ nhiều máy vào 1 máy vuthaiha90 3 1,229 25-07-17, 02:45 PM
Bài mới nhất: maidinhdan
  [Help] file access 2003 không chạy được trên access 2013 NganDinhNguyen 4 963 04-04-17, 09:53 PM
Bài mới nhất: NganDinhNguyen

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line