Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с импортом текстового файла / 5 сообщений из 5, страница 1 из 1
23.06.2004, 11:52:06
    #32573358
Maksuta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с импортом текстового файла
Я не специалист по аксесу, и мне хватало стандартных функций для чайников. Но сейчас потребовалась дополнительная автоматизация для еще больших чайников. Задача простая: пользователь нажимает кнопку в форме и должен осуществлять импорт из текстового файла в существующую таблицу. Через макрос сделать невозможно, так как имена файлов меняются, поэтому пользователь при каждом импорте должен сам выбирать нужный файл. Я знаю, что должна быть VBA простая функция для вызова диалогового окна выбора файлов. Только вот какая?
Приведите пожалста пример кода, чтоб я смог его модифицировать
...
Рейтинг: 0 / 0
23.06.2004, 11:54:42
    #32573363
omhl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с импортом текстового файла
Например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
  "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

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

Function Open_XML()


Dim OpenFile As OPENFILENAME
Dim lReturn As Long
Dim sFilter As String
OpenFile.lStructSize = Len(OpenFile)
OpenFile.hwndOwner =  0   'VesselComing.Hwnd
 
OpenFile.hInstance =  0   '
 
sFilter = "XML ôàéëû (*.xml)" & Chr( 0 ) & "*.xml"
OpenFile.lpstrFilter = sFilter
OpenFile.nFilterIndex =  1 
OpenFile.lpstrFile = String( 257 ,  0 )
OpenFile.nMaxFile = Len(OpenFile.lpstrFile) -  1 
OpenFile.lpstrFileTitle = OpenFile.lpstrFile
OpenFile.nMaxFileTitle = OpenFile.nMaxFile
OpenFile.lpstrInitialDir = "%USERPROFILE%\NetHood\XML"
OpenFile.lpstrTitle = "Âûáèðåòå XML ôàéë"
OpenFile.flags =  0 
lReturn = GetOpenFileName(OpenFile)
If lReturn =  0  Then
   Exit Function
Else
    'MsgBox "The user Chose " & Trim(OpenFile.lpstrFile)
 
End If

Dim fst, f
Set fst = CreateObject("Scripting.FileSystemObject")
Set f = fst.OpenTextFile(OpenFile.lpstrFile,  1 , - 1 )
Dim ss As String
ss = f.ReadAll

End Function


В конце весь файл я читаю еще
...
Рейтинг: 0 / 0
23.06.2004, 12:11:23
    #32573403
Maksuta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с импортом текстового файла
Private Sub Кнопка38_Click()
On Error GoTo HandleErrors


docmd.TransferText acImportDelim, "Scan - специмп", ScanForAutoSale, FileName, 0, , 886

ExitHere:
Exit Sub

HandleErrors:
MsgBox "Error: " & Err.Description & " (" & Err.Number & ")"
Resume ExitHere

End Sub

Вот что у меня уже есть, отсутсвует только определение [FileName]
Что вставить выше?
...
Рейтинг: 0 / 0
23.06.2004, 12:44:24
    #32573527
omhl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с импортом текстового файла
Видимо так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
  "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

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

Function Open_XML()


Dim OpenFile As OPENFILENAME
Dim lReturn As Long
Dim sFilter As String
OpenFile.lStructSize = Len(OpenFile)
OpenFile.hwndOwner =  0   'VesselComing.Hwnd
 

OpenFile.hInstance =  0   '
 

sFilter = "XML ôàéëû (*.xml)" & Chr( 0 ) & "*.xml"
OpenFile.lpstrFilter = sFilter
OpenFile.nFilterIndex =  1 
OpenFile.lpstrFile = String( 257 ,  0 )
OpenFile.nMaxFile = Len(OpenFile.lpstrFile) -  1 
OpenFile.lpstrFileTitle = OpenFile.lpstrFile
OpenFile.nMaxFileTitle = OpenFile.nMaxFile
OpenFile.lpstrInitialDir = "%USERPROFILE%\NetHood\XML"
OpenFile.lpstrTitle = "Âûáèðåòå XML ôàéë"
OpenFile.flags =  0 
lReturn = GetOpenFileName(OpenFile)
If lReturn =  0  Then
   Exit Function

docmd.TransferText acImportDelim, "Scan - специмп", ScanForAutoSale, OpenFile.lpstrFile,  0 , ,  886 

End If
...
Рейтинг: 0 / 0
23.06.2004, 12:45:46
    #32573533
omhl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с импортом текстового файла
Код: plaintext
OpenFile.lpstrInitialDir 
Начальный каталог, установи свой, также

Код: plaintext
1.
OpenFile.lpstrTitle
sFilter
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите с импортом текстового файла / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]