- Код: Выделить всё
Option Compare Database
Option Explicit
'описание структуры, применяемой для открытия диалога "OpenAs"
Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter 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
'декларация WinAPI импортируемой функции из comdlg32.dll
Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias _
"GetSaveFileNameA" (pOpenFileName As OPENFILENAME) As Long
_________________________________________
Private Function myFuction ()
Dim OpenFile As OPENFILENAME
Dim lReturn, lFreeFileNum, lQDCounter, lCounter As Long
Dim sFilter, sSQLRequery, sQDName0, sQDName1, sCurQDName As String
Dim sFileName As String * 256
Dim bEOLFlag As Boolean
'задание параметров для диалога "OpenAs"
OpenFile.lStructSize = Len(OpenFile)
OpenFile.hwndOwner = Screen.Application.hWndAccessApp
OpenFile.hInstance = 0
sFilter = "Text files (*.txt)" & Chr(0) & "*.txt" & Chr(0)
OpenFile.lpstrFilter = sFilter
OpenFile.nFilterIndex = 1
'sFileName = "obmen_" & Me!month0.Column(1) & Me!day0
OpenFile.lpstrFile = sFileName
OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
OpenFile.lpstrFileTitle = OpenFile.lpstrFile
OpenFile.nMaxFileTitle = OpenFile.nMaxFile
OpenFile.lpstrInitialDir = "\\server\obmen"
OpenFile.lpstrTitle = "Save File"
OpenFile.flags = 2050
OpenFile.lpstrDefExt = "txt"
'открываем диалог
lReturn = GetSaveFileName(OpenFile)
... ну и т.д.
Так вот, из-за этой вот строчки: sFileName = "obmen_"... - в Windows 2000 процедура не работает!! А если ее закомментировать, то работает (ну, естественно, тогда имя файла надо вводить вручную, а это в данном случае неприемлемо...) А в 98 всё работает без проблем!
Подозреваю, что дело в API функции, но в чем именно ошибка, разобраться не могу...
Хелп!
