powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Очень требуется совет специалистов
12 сообщений из 12, страница 1 из 1
Очень требуется совет специалистов
    #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
Очень требуется совет специалистов
    #33612312
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не решился выложить листинг уж слишком длинный, да и поиск еще не отменяли на форуме. Топик мне понравился льстит ;)
...
Рейтинг: 0 / 0
Очень требуется совет специалистов
    #33612390
fish124
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за свой примет диалога, но хотелось бы совет по приведенному коду
СПАСИБО
...
Рейтинг: 0 / 0
Очень требуется совет специалистов
    #33612445
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fish124... не запускается диалог ...может можно исправить чтобы работало везде
fish124 но хотелось бы совет по приведенному коду
уточните тогда вопрос, вроде ответ уже дан
...
Рейтинг: 0 / 0
Очень требуется совет специалистов
    #33612446
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"требует какие то библиотеки" - мы должны угадать, какие?
Пробую: Microsoft Common Dialog Control.
Если нет - текст ошибки в студию.
...
Рейтинг: 0 / 0
Очень требуется совет специалистов
    #33612496
fish124
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОШИБКА: выделяет слово path и пишет can't find project or library
(Microsoft Common Dialog Control.) - я такую не нашел, может не там искал
(tools\References)
...
Рейтинг: 0 / 0
Очень требуется совет специалистов
    #33612513
fish124
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот файл с макросом и база
...
Рейтинг: 0 / 0
Очень требуется совет специалистов
    #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
Очень требуется совет специалистов
    #33612573
fish124
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все сделал как сказали скачал прописал не помогло
...
Рейтинг: 0 / 0
Очень требуется совет специалистов
    #33612587
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы в референсы этот файл подключили?
...
Рейтинг: 0 / 0
Очень требуется совет специалистов
    #33612635
Объекта FileDialog нет в 2000 офисе, он появился в 2002. Если хочешь, чтобы диалог выбора файлов работал во всех версиях, воспользуйся примером, который привел SmeL_md.
...
Рейтинг: 0 / 0
Очень требуется совет специалистов
    #33612885
fish124
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо я все понял Всем СПАСИБО за УЧАСТИЕ
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Очень требуется совет специалистов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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