Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Очень требуется совет специалистов / 12 сообщений из 12, страница 1 из 1
20.03.2006, 14:11:27
    #33611968
fish124
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень требуется совет специалистов
Просьба не издеваться и не прикалываться, ну не селен я в VBA, а проблема есть.
Такая проблема xls файл с данными в котором запускается макрос. Запускается диалог выбора базы mdb и в этой базе меняется значения в соответятвии с значениями в файле xls. Макрос работал под 2003 офисом, а 2000 или хр не запускается диалог, требует какие то библиотеки. Подскажите какие и как их подгрузить, а может можно исправить чтобы работало везде.
Заранее огромное спасибо.

Код: 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.
Sub con()

Dim cnnConn As ADODB.Connection
Dim rstRecordset As ADODB.Recordset
Dim cmdCommand, cmd1 As ADODB.Command
Dim fd As FileDialog


Set fd = Application.FileDialog(filedialogtype:=msoFileDialogOpen)
With fd
    .AllowMultiSelect = False
    .InitialFileName = "C:\*.mdb"
    .Title = "Выберите файл базы данных Access"
End With

If fd.Show = - 1  Then

path = fd.SelectedItems.Item( 1 )
' выделяет слово path и пишет can't find project or library



Set cnnConn = New ADODB.Connection
With cnnConn
    .ConnectionString = _
        "Provider=Microsoft.Jet.OLEDB.4.0"
    .Open path
       
   
End With

Set cmd1 = New ADODB.Command
Set cmd1.ActiveConnection = cnnConn
With cmd1
    '.CommandText = "update tab1 set name= '123' where inv = '1'"
    .CommandType = adCmdText
End With

'cmd1.Execute

i =  2 
While Worksheets( 1 ).Cells(i,  2 ).Value <>  0 
Debug.Print (Worksheets( 1 ).Cells(i,  2 ).Value)
   cmd1.CommandText = "update tab1 set summa = " & Worksheets( 1 ).Cells(i,  3 ).Value & " where inv = '" & Worksheets( 1 ).Cells(i,  2 ).Value & "'"
   cmd1.Execute
   
i = i +  1 
Wend

cnnConn.Close
Set cmdCommand = Nothing
'Set rstRecordset = Nothing
Set cnnConn = Nothing
End If

End Sub
...
Рейтинг: 0 / 0
20.03.2006, 15:48:52
    #33612312
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень требуется совет специалистов
Не решился выложить листинг уж слишком длинный, да и поиск еще не отменяли на форуме. Топик мне понравился льстит ;)
...
Рейтинг: 0 / 0
20.03.2006, 16:08:29
    #33612390
fish124
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень требуется совет специалистов
Спасибо за свой примет диалога, но хотелось бы совет по приведенному коду
СПАСИБО
...
Рейтинг: 0 / 0
20.03.2006, 16:18:12
    #33612445
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень требуется совет специалистов
fish124... не запускается диалог ...может можно исправить чтобы работало везде
fish124 но хотелось бы совет по приведенному коду
уточните тогда вопрос, вроде ответ уже дан
...
Рейтинг: 0 / 0
20.03.2006, 16:18:21
    #33612446
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень требуется совет специалистов
"требует какие то библиотеки" - мы должны угадать, какие?
Пробую: Microsoft Common Dialog Control.
Если нет - текст ошибки в студию.
...
Рейтинг: 0 / 0
20.03.2006, 16:30:52
    #33612496
fish124
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень требуется совет специалистов
ОШИБКА: выделяет слово path и пишет can't find project or library
(Microsoft Common Dialog Control.) - я такую не нашел, может не там искал
(tools\References)
...
Рейтинг: 0 / 0
20.03.2006, 16:37:52
    #33612513
fish124
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень требуется совет специалистов
Вот файл с макросом и база
...
Рейтинг: 0 / 0
20.03.2006, 16:43:26
    #33612530
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень требуется совет специалистов
fish124ОШИБКА: выделяет слово path и пишет can't find project or library
(Microsoft Common Dialog Control.) - я такую не нашел, может не там искал
(tools\References)
А как вы искали?
C:\WINDOWS\system32\comdlg32.dll, C:\WINDOWS\system32\COMDLG32.OCX.
Если их у вас нет, скопируйте с другой машины и зарегистрируйте с пом. команды regsvr32 C:\WINDOWS\system32\COMDLG32.OCX
...
Рейтинг: 0 / 0
20.03.2006, 16:56:16
    #33612573
fish124
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень требуется совет специалистов
Все сделал как сказали скачал прописал не помогло
...
Рейтинг: 0 / 0
20.03.2006, 17:01:21
    #33612587
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень требуется совет специалистов
Вы в референсы этот файл подключили?
...
Рейтинг: 0 / 0
20.03.2006, 17:19:02
    #33612635
Очень требуется совет специалистов
Объекта FileDialog нет в 2000 офисе, он появился в 2002. Если хочешь, чтобы диалог выбора файлов работал во всех версиях, воспользуйся примером, который привел SmeL_md.
...
Рейтинг: 0 / 0
20.03.2006, 18:44:41
    #33612885
fish124
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очень требуется совет специалистов
Хорошо я все понял Всем СПАСИБО за УЧАСТИЕ
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Очень требуется совет специалистов / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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