title image


Smiley Mmmh, dann sollte da eigentlich auch keine Fehlermeldung kommen ...
Hallo Markus,



ich habe mal eben Deine Typ-Deklaration und Deine Api-Deklaration (aus dem ersten Beitrag) zusammen mit dem M$-Beispielcode kombiniert; klappt bei mir (ales in einem Modul) tadellos ...









Option Compare Database

Option Explicit



Private Type OPENFILENAME

  lStructSize As Long

  hwndOwner As Long

  hInstance As Long

  lpstrFilter As String

  lpstrCustomFilter As String

  nMaxCustomFilter As Long

  nFilterIndex As Long

  lpstrFile As String

  nMaxFile As Long

  lpstrFileTitle As String

  nMaxFileTitle As Long

  lpstrInitialDir As String

  lpstrTitle As String

  flags As Long

  nFileOffset As Integer

  nFileExtension As Integer

  lpstrDefExt As String

  lCustData As Long

  lpfnHook As Long

  lpTemplateName As String

End Type



Private Declare Function apiGetSaveFileName Lib "Comdlg32.dll" Alias _

 "GetSaveFileNameA" (lpofn As OPENFILENAME) As Long



Sub test()

  Dim OpenFile As OPENFILENAME

  Dim lReturn As Long

  Dim sFilter As String



  On Error GoTo HandleErr



  OpenFile.lStructSize = Len(OpenFile)

  OpenFile.hwndOwner = 0

  sFilter = "Textdateien (*.txt)" & Chr(0) & "*.txt" & Chr(0)

  OpenFile.lpstrFilter = sFilter

  OpenFile.nFilterIndex = 1

  OpenFile.lpstrFile = String(257, 0)

  OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1

  OpenFile.nMaxFileTitle = OpenFile.nMaxFile

  OpenFile.lpstrInitialDir = "C:\"

  OpenFile.lpstrTitle = "'Speichern unter'-Dialog der Common Dialog API"

  OpenFile.flags = 0

  lReturn = apiGetSaveFileName(OpenFile)



  If lReturn = 0 Then

    MsgBox "Der Anwender hat die Aktion abgebrochen."

  Else

    MsgBox "Der Anwender hat den folgenden Pfad und Datei angegeben:  " _

      & Trim(OpenFile.lpstrFile)

  End If



ExitHere:

  Exit Sub

HandleErr:

  MsgBox "Fehler " & Err.Number & ": " & Err.Description, vbCritical, "Modul1.CmdSave_Click"

End Sub





Code eingefügt mit Syntaxhighlighter 4.0







Mir käme da noch in den Sinn, dass Du die API in einem normalen Modul deklarierts, diese dann aber in einem Formular (oder einem anderen Modul) aufrufst; dagegen spricht aber Deine Private-Deklaration der API-Function. Du kannst es ja mal probieren und die Private-Anweisung gegen die Public-Anweisung austauschen ...







Public Type OPENFILENAME

  '...

End Type



Public Declare Function apiGetSaveFileName Lib "Comdlg32.dll" Alias _

 "GetSaveFileNameA" (lpofn As OPENFILENAME) As Long





Code eingefügt mit Syntaxhighlighter 4.0







Ansonsten lässt sich, ohne den vollständigen Code im Zusammenhang zu kennen, nur sehr wenig sagen. Vielleicht ist ja Deine Datenbank selber defekt, dann schau mal bei donkarl.com FAQ 1.27 rein (speziell die Variante, alles in eine leere Datenbank zu kopieren).



Gruss








scotty

I´m an admin. If you see me laughing, you should better have a backup.
Einen Fehler machen und ihn nicht korrigieren - das erst heisst wirklich einen Fehler machen.
Konfuzius


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: