Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 571
от 14.07.2007, 07:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 284, Экспертов: 40
В номере:Вопросов: 1, Ответов: 1


Вопрос № 94425: Q1. (VB6) На форме 2 контрола ADO Data и DataCombo. Как установить их свойства (DataSource, DataField, RowSource, ListFiled, BoundColumn) в момент загрузки формы, а не в режиме конструктора.Спасибо! Q2. (VB6) Имеется 50 баз MS Access 97 (защ...

Вопрос № 94.425
Q1. (VB6) На форме 2 контрола ADO Data и DataCombo. Как установить их свойства (DataSource, DataField, RowSource, ListFiled, BoundColumn) в момент загрузки формы, а не в режиме конструктора.Спасибо!

Q2. (VB6) Имеется 50 баз MS Access 97 (защищенных паролем) с одинаковой структурой (см.ниже). Как используя DTS object model (а не DTS Export-Import Wizard) выполнить экспорт данных из таблицы №1 всех 50-ти баз в БД MS SQL Server 2000 с такой же структурой в программе на VB6 (таблицы №№ 2-11 одинаковые, импортировать их нет смысла). Если можно - ссылку. Спасибо!
Таблица №1
id - счетчик
lname
fname
name
....
idParam1
....
idParam10

Таблица №2
idParam1 - счетчик
Param1

....

Таблица №11
idParam10 - счетчик
Param10
Отправлен: 09.07.2007, 06:37
Вопрос задал: Бабин Виктор Васильевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Черников Игорь Владимирович
Здравствуйте, Бабин Виктор Васильевич!
Q1. нужно создать событие

Private Sub Form_Load()
***
***
End Sub
и вставить туда нужные свойства объектов. Это событие происходит во время загрузки формы. Удачи

Q2.
Я делал по другому:
Открывал базы как простые файлы по очереди, выдёргивал из определённого места данные, а потом вставлял в эксель, вот пример, конечно не совсем то, но боле-менее:

Private Sub Кнопка_Click()
Dim Номер_строки_в_excel As Integer, ОдинСимвол As String, Номер_строки_в_файле As Integer, f As String, строка As String, КолСимволов As Integer

Open Dir1 & "" & Flname For Input As #1
Set Excel_app = New Excel.Application
Excel_app.Workbooks.Add
КоличествоСтрок = ПодсчётКоличестваСтрок
ProgressBar1.Max = КоличествоСтрок + 1
Номер_строки_в_excel = 12
Seek #1, 1
Метка1.Caption = "Подготовка файла"
Excel_app.Cells.Select
Excel_app.Selection.ClearContents
Excel_app.Range("A12") = "№"
Excel_app.Range("B12") = "№" + Chr(10) + "магаз."
Excel_app.Range("C12") = "Магазин
Excel_app.Range("D12") = "№" + Chr(10) + "клиента"
Excel_app.Range("E12") = "ФИО"
Excel_app.Range("F12") = "Дата" + Chr(10) + "выдачи"
Excel_app.Range("G12") = "Дата" + Chr(10) + "погашения"
Excel_app.Range("H12") = "Сумма" + Chr(10) + "кредита"
Excel_app.Range("I12") = "%"
Excel_app.Range("J12") = "задолжен-" + Chr(10) + "ность"
Excel_app.Range("K12") = "Проср"
Excel_app.Range("L12") = "Дата "
Метка1.Caption = "Загрузка в базу"
10 Do While Not EOF(1) ' Цикл до конца файла.
ОдинСимвол = Input(1, #1) ' Читает один символ.
строка = строка + ОдинСимвол
If Asc(ОдинСимвол) = 10 Then
Номер_строки_в_файле = Номер_строки_в_файле + 1
Метка4 = Номер_строки_в_файле & " cтрок загружено"
ProgressBar1.Value = Номер_строки_в_файле
If Номер_строки_в_файле > 18 Then
f = DoEvents()
Номер_строки_в_excel = Номер_строки_в_excel + 1
If Mid(строка, 2, 5) = "Итого" Then ' Вставляем Итого
Excel_app.Range("C" & Номер_строки_в_excel) = RTrim(Mid(строка, 2, 35))
Excel_app.Range("H" & Номер_строки_в_excel) = LTrim(Mid(строка, 147, 18))
СуммаОбщая = СуммаОбщая + Excel_app.Range("H" & Номер_строки_в_excel)
Excel_app.Range("J" & Номер_строки_в_excel) = LTrim(Mid(строка, 200, 18))
ЗадолжностьОбщая = ЗадолжностьОбщая + Excel_app.Range("J" & Номер_строки_в_excel)
Excel_app.Range("K" & Номер_строки_в_excel) = LTrim(Mid(строка, 219, 18))
Общая = Общая + Excel_app.Range("K" & Номер_строки_в_excel)
GoTo 3
End If
If Mid(строка, 2, 5) = "Всего" Then ' Подсчитываем Всего
Excel_app.Range("C" & Номер_строки_в_excel) = RTrim(Mid(строка, 2, 35))
Excel_app.Range("H" & Номер_строки_в_excel) = СуммаОбщая
Excel_app.Range("J" & Номер_строки_в_excel) = ЗадолжностьОбщая
Excel_app.Range("K" & Номер_строки_в_excel) = Общая
GoTo 3
End If
On Error Resume Next
Excel_app.Range("A" & Номер_строки_в_excel) = LTrim(Mid(строка, 2, 5))
Excel_app.Range("B" & Номер_строки_в_excel) = Mid(строка, 15, 6)
Excel_app.Range("C" & Номер_строки_в_excel) = Trim(Mid(строка, 22, 59)) & Trim(Mid(строка, 174, 25))
Excel_app.Range("D" & Номер_строки_в_excel) = Mid(строка, 83, 6)
Excel_app.Range("E" & Номер_строки_в_excel) = RTrim(Mid(строка, 90, 24))
Excel_app.Range("F" & Номер_строки_в_excel) = CDate(Mid(строка, 116, 10))
Excel_app.Range("G" & Номер_строки_в_excel) = CDate(Mid(строка, 127, 10))
Excel_app.Range("H" & Номер_строки_в_excel) = LTrim(Mid(строка, 147, 18))
Excel_app.Range("I" & Номер_строки_в_excel) = LTrim(Mid(строка, 166, 7))
Excel_app.Range("J" & Номер_строки_в_excel) = LTrim(Mid(строка, 200, 18))
Excel_app.Range("K" & Номер_строки_в_excel) = LTrim(Mid(строка, 219, 18))
If Mid(строка, 238, 10) <> " " Then Excel_app.Range("L" & Номер_строки_в_excel) = CDate(Mid(строка, 238, 10)) Else Excel_app.Range("L" & Номер_строки_в_excel) = ""
3 GoSub обнулениеС
If Номер_строки_в_файле > 1 And Номер_строки_в_файле < 12 Then
КолСимволов = Len(строка)
Excel_app.Range("A" & Номер_строки_в_файле - 1) = Mid(строка, 1, КолСимволов - 1)
Excel_app.Range("A" & Номер_строки_в_файле - 1 & ":E" & Номер_строки_в_файле - 1).Select
With Excel_app.Selection
.HorizontalAlignment = xlLeft
.MergeCells = True
End With
End If
GoSub обнулениеС
End If
Loop
Beep
20 Reset
Excel_app.Visible = True
Excel_app.WindowState = xlMaximized
Set Excel_app = Nothing
Beep
End
обнулениеС:
строка = ""
Return
End Sub
---------
От каждого по способностям, каждому по труду
Ответ отправил: Черников Игорь Владимирович (статус: 1-ый класс)
Ответ отправлен: 09.07.2007, 17:51


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное