11. august 2006 - 11:04Der er
12 kommentarer og 1 løsning
Tjek om disk findes
Hej alle eksperter
Jeg sidder med en access2000 database, hvor jeg har lavet en knap som kopier en fil til en USB-disk. Mit sp. lyder hvordan kan jeg tjekke om usb-disken er isat inden den kører filecopy. Altså en popup boks som fortæller at f.eks. F:\ ikke findes. Så jeg slipper for fejl, når min usb-disk ikke er sat i og F-drevet er aktivt.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Slettet bruger
11. august 2006 - 11:16#1
Du kunne jo lave en error handling, med en msgbox "Tjek usb-disk"
On Error GoTo errhandler 'her din kopieringskode' 'som det nederste i din kode skriver du' If err.Number = fejlnummer som koden evt. returnere Then Exit Sub
Fejlhåndteringen vil så forlade subben uden at gøre skade, og uden at der popper fejlmedelser op når din USB disk ikke klar. Bemærk at mit forslag forudsætter at du kender
Jeg bruger selv denne form for fejlhåndtering i mange sammenhænge i Access databaser, og det virker faktisk godt.
Jeg anvender også en kopieringskode dog til A-drevet, men metoden er den samme, jeg mener at fejlkoden er fejl 71, men er ikke sikker, når jeg når hjem i aften kan jeg poster fejlkoden her.
Private Sub Kommandoknap1_Click() On Error GoTo errhandler FileCopy Me!Filnavn, "A:\" & ExtractFileName(Me!Filnavn) errhandler: If Err.Number = 71 Then Exit Sub End Sub
Her en lidt udvidet version hvor du viser bruger din egen fejlmedelse;
Private Sub Kommandoknap1_Click() On Error GoTo errhandler FileCopy Me!Filnavn, "A:\" & ExtractFileName(Me!Filnavn) errhandler: If Err.Number = 71 Then MsgBox "USB key mangler, indsæt denne og prøv igen", vbCritical, "USB key mangler" Exit Sub End If End Sub
Synes godt om
Slettet bruger
13. august 2006 - 09:44#10
Hej, så havde jeg endelig tid til et hurtigt kig forbi!~)
Hvis du ikke er 100% sikker på errorkode, så kan du tage usb nøglen ud og køre koden:
Private Sub Kommandoknap1_Click() On Error GoTo errhandler FileCopy Me!Filnavn, "A:\" & ExtractFileName(Me!Filnavn) errhandler: msgbox err.number 'If Err.Number = 71 Then 'MsgBox "USB key mangler, indsæt denne og prøv igen", vbCritical, "USB key mangler" Exit Sub End If End Sub
Du kan evt. checke på om folderen f:\ eksisterer med følgende kode
Public Function fhpFolder_Exists(strFolder As String) As Boolean ' ----------------------------------------------------------------------------------- ' Purpose : Check if a folder exists ' Parameters : ' Returns : Boolean ' Created : 03-26-02 ' Modified : ' Remarks : ' ----------------------------------------------------------------------------------- On Error GoTo Error_fhpFolder_Exists Dim fsObj 'Filesystem object
Set fsObj = CreateObject("Scripting.FileSystemObject") fhpFolder_Exists = fsObj.FolderExists(strFolder)
Exit_fhpFolder_Exists: Exit Function
Error_fhpFolder_Exists: Select Case Err.Number Case 2501 Case 3021 Case Else MsgBox Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error in procedure 'fhpFolder_Exists'" End Select Resume Exit_fhpFolder_Exists
End Function
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.